Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Conectar Firebird en red

No sé si esta pregunta ha de ir aquí o en otro subforo. Ruego a los administradores que me disculpen llegado el caso.

Tengo instalada una aplicación hecha con BCB 6 y FB 2.5 que ha de correr en red. En el puesto que actúa como servidor no ha habido ningún problema para ponerla en marcha, más allá de algunos flecos en la propia aplicación. Sin embargo en los puestos de resto de la red estoy teniendo problemas.

Estos puestos "ven" el servidor si entran a través del explorador de archivos de windows pero a pesar de poner la vía de acceso en el fichero aliases.conf de Firebird la aplicación no se conecta a la base de datos. Cuando se instaló el motor, en los clientes se hizo con la opción Instalación mínima de cliente - sin servidor ni herramientas. Están abiertos los puertos 3050 y 3051 en todos los equipos pero no hay manera. ¿Me falta algo?
Responder Con Cita
  #2  
Antiguo 13-12-2016
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 6.945
Poder: 21
jhonny Va camino a la fama
¿Cuando dices que el 3050 está en todos los equipos también te refieres al servidor?... por otro lado, muéstranos un ejemplo de tu ruta de conexión a la base de datos, a lo mejor necesites usar otro protocolo.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
Responder Con Cita
  #3  
Antiguo 13-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
1. Sí, me refiero tanto a los clientes como al servidor. Además, justo cuando estaba viendo tu repuesta me ha llamdo el cliente y es lo primero que le he preguntado.
2. La ruta de acceso es esta: \\JUANI\DatAfi30\Tablas. Está guardada en un fichero INI; la leo así:
Código PHP:
GetPrivateProfileString("DATOS""Tablas" "C:\\DatAfi30\\Tablas"cTablas sizeof(cTablas) , (ExtractFilePath(Application->ExeName) + "PtoDat30.ini").c_str()); 
y la asigno así:
Código PHP:
Afiliados->Connected false;
Afiliados->Params->Clear();
Afiliados->DatabaseName AnsiString(cTablas) + "Afiliados.fdb";
Afiliados->Params->Add("user_name=sysdba");
Afiliados->Params->Add("password=masterkey");
Afiliados->Params->Add("lc_ctype=ISO8859_1");
Afiliados->SQLDialect 3;
Afiliados->Connected true
Siendo Afiliados un TIBDatabase. Desde los clientes, con el explorador de windows, sí ven esas carpetas.

Otra cosa que me ha ocurrido. Por probar le pedí al usuario que un de los clientes instalara IBManager SQL Lite y no ha habido forma de conextarlo; vale que todas estas pruebas las estamos haciendo por teléfono ya que la instalación está a 150 Km. de donde resido y no hay posibilidad de instalar un escritorio remoto ya que les tiene cerrados muchos puertos en el router; de hecho no pudieron ni descargarse el instalador de FB y se lo tuve que mandar a travésde Google Drive.
Responder Con Cita
  #4  
Antiguo 13-12-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 27.423
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Las rutas tienen que ser absolutas y físicas, ejemplo:
192.168.1.100:C:\datos\basedatos.fdb

Y si usas los alias, debes poner es ruta y el nombre que quieras como alias:
ruta: 192.168.1.100:C:\datos\basedatos.fdb
alias: elservidor

Desde los clientes, obviamente, pondrás: elservidor

"elservidor" es solo un ejemplo, tú pones lo que te parezca.
Responder Con Cita
  #5  
Antiguo 13-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Consulta, ¿ El contenido exácto de la cadena en cTablas es: "\\JUANI\DatAfi30\Tablas" ?

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 14-12-2016
lbuelvas lbuelvas is offline
Miembro
 
Registrado: may 2003
Ubicación: Colombia
Posts: 347
Poder: 15
lbuelvas Va por buen camino
Hola, recuerda si tienes en el servidor habilitado el firewall de windows habilitar tambien los puertos 3050 / 3051
__________________
Luis Fernando Buelvas T.
Responder Con Cita
  #7  
Antiguo 14-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Las rutas tienen que ser absolutas y físicas, ejemplo:
192.168.1.100:C:\datos\basedatos.fdb
Me vas a mandar a la porra: Lógicamente esa IP es la del servidor ¿verdad? ¿Cómo puedo saber por código desde un puesto cuál es la IP del servidor o no es posible?
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Y si usas los alias, debes poner es ruta y el nombre que quieras como alias:
ruta: 192.168.1.100:C:\datos\basedatos.fdb
alias: elservidor

Desde los clientes, obviamente, pondrás: elservidor
¿Te refieres a que el fichero alises.conf debería quedar así?
Cita:
Afiliados = 192.168.1.100:C:\DatAfi30\Tablas\AFILIADOS.FDB
Cita:
Empezado por Casimiro Notevi Ver Mensaje
"elservidor" es solo un ejemplo, tú pones lo que te parezca.
Evidente, pero gracias por la puntialización.
Cita:
Empezado por ecfisa Ver Mensaje
Consulta, ¿ El contenido exácto de la cadena en cTablas es: "\\JUANI\DatAfi30\Tablas" ?
Exactamente, ese es el contenido de la cadena. Está definida como un char[256]. Y me acabo de dar cuenta por donde viene tu pregunta: si ese es el valor de la cadena, la dirección de la bb.dd. quedaría como
Cita:
\\JUANI\DatAfi30\TablasAfiliados.fdb
Pero no porque antes le he puesto la barra que falta; ya sé que es ridículo y que podía guardar la cadena completa con la barra final, pero no me di cuenta en su momento y lo dejé así.
Cita:
Empezado por lbuelvas Ver Mensaje
Hola, recuerda si tienes en el servidor habilitado el firewall de windows habilitar tambien los puertos 3050 / 3051
Pues mira, sé que se han abierto los puertos en los routers de los equipos pero lo del firewall no se me había ocurrido. Ahora mismo se lo pregunto.
Responder Con Cita
  #8  
Antiguo 14-12-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.372
Poder: 15
fjcg02 Va camino a la fama
Haz un telnet al servidor por el puerto que tiene habilitado FB.

desde el prompt, es decir, desde un cmd escribe:

telnet direccionservidor puerto

si la pantalla se queda negra con algún mensajillo, es que llegas al servidor a través del puerto y el servidore responde.

Si o hace nada, es que no llegas, tienes problemas de conectividad -> puertos cerrados en el router o puertos cerrados en el firewall.

Ya nos dirás.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #9  
Antiguo 14-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Cita:
Empezado por fjcg02 Ver Mensaje
Haz un telnet al servidor por el puerto que tiene habilitado FB.
No encuentro en mi equipo para lanzar telnet, salvo que sea una aplicación que está en una carpeta de Windows.
Responder Con Cita
  #10  
Antiguo 14-12-2016
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
A ver si te ayudo con esto.

Estas serías las distintas formas de conectar a la base de datos en red

Cita:
Indicando Nombre servidor
Juani:C:\DatAfi30\Tablas\Afiliados.fdb

Indicando Nombre servidor e indicando puerto
Juani/3050:C:\DatAfi30\Tablas\Afiliados.fdb

Usando Ruta UNC
\\Juani\C:\DatAfi30\Tablas\Afiliados.fdb

Usando Alias
Juani:Afiliados
Para mi lo mejor es definir un alias Alias.conf y así te evitas andar divulgando la ruta de la base de datos...

Para ello debes editar el archivo 'C:\Archivos de programas\Firebird_2_5\Alias.Conf' y agregar lo que sigue:

Cita:
#
# List of known database aliases
# ------------------------------
#
# Examples:
#
# dummy = c:\data\dummy.fdb
#
Afiliados=C:\DatAfi30\Tablas\Afiliados.fdb
Saludos cordiales
Responder Con Cita
  #11  
Antiguo 14-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Muchas gracias por los ejemplos.

Una pregunta: En uno de los formatos pones Juani/3050:C:\DatAfi30\Tablas\Afiliados.fdb y una estructura simialr la he vistor pero separando la máquina del puerto con dos puntos (Juani:3050:C:...) ¿Cuál es la correcta?
Responder Con Cita
  #12  
Antiguo 14-12-2016
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 707
Poder: 15
cloayza Va camino a la fama
Según el libro "Firebird Book: A Reference For Database Developers", en la página 40, indica que la forma de separar el puerto es:

Como el ejemplo

Juani/3050:C:\DatAfi30\Tablas\Afiliados.fdb


sic:
Cita:
hotchicken/fb_db:/Data/leisurestore.fdb
El puerto va separado por un /

Saludos cordiales
Responder Con Cita
  #13  
Antiguo 14-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Ok. Gracias.
Responder Con Cita
  #14  
Antiguo 14-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por Angel.Matilla Ver Mensaje
...
Exactamente, ese es el contenido de la cadena. Está definida como un char[256]. Y me acabo de dar cuenta por donde viene tu pregunta: si ese es el valor de la cadena, la dirección de la bb.dd. quedaría como
Pero no porque antes le he puesto la barra que falta; ya sé que es ridículo y que podía guardar la cadena completa con la barra final, pero no me di cuenta en su momento y lo dejé así.
...
Si, pero considero que igual quedaría incompleta. Por favor proba asignando de modo directo esta cadena:
Código:
 Afiliados->DatabaseName = "\\\\JUANI\\DatAfi30\\Tablas\\Afiliados.fdb";
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 14-12-2016
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.372
Poder: 15
fjcg02 Va camino a la fama
Si no tienes el telnet vete a instalar software , componentes de Windows, buscas telnet, lo marcas y lo instalas.

Así podrás utilizarlo.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #16  
Antiguo 15-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Si, pero considero que igual quedaría incompleta. Por favor proba asignando de modo directo esta cadena:
Código:
 Afiliados->DatabaseName = "\\\\JUANI\\DatAfi30\\Tablas\\Afiliados.fdb";
Ya entiendo lo que quieres decirme. He puesto CÓMO está guardado el valor en el fichero ini, pero al leerse la variable se ve como pones tú.
Cita:
Empezado por fjcg02
Si no tienes el telnet vete a instalar software , componentes de Windows, buscas telnet, lo marcas y lo instalas.
Lo probaré. No obstante antes quiero probar las sugerencias de cloayza.
Responder Con Cita
  #17  
Antiguo 15-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

A mi siempre me ha funcionado tanto con el IP, nombre NetBIOS o alias.

Ejemplos:
1)
Código PHP:
  IBDatabase1->DatabaseName "192.168.0.7:C:\\RUTA_PROGRAMA\\RUTA_DATOS\\BASE_DE_DATOS.FDB" 
2)
Código PHP:
  IBDatabase1->DatabaseName "NOMBRE_SERVIDOR:C:\\RUTA_PROGRAMA\\RUTA_DATOS\\BASE_DE_DATOS.FDB" 
3)
Código PHP:
  db->DatabaseName "NOMBRE_SERVIDOR"
Y en aliases.conf (server):
Código:
# List of known database aliases 
# ------------------------------ 
# Examples: 
# dummy = c:\data\dummy.fdb 
#  
NOMBRE_SERVIDOR = C:\RUTA_PROGRAMA\RUTA_DATOS\BASE_DE_DATOS.FDB
básicamente lo que publicó cloayza.

También controla lo que te menciona lbuelvas en el firewall del servidor ( Como abrir un puerto en windows 7 o vista ).

Saludos

Edito: Olvidé mencionar a Casimiro que en el cuarto mensaje también citó sintáxis correctas.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 15-12-2016 a las 16:24:10.
Responder Con Cita
  #18  
Antiguo 15-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
¡Hijo! ¡Qué profusión de información!
Muchas gracias. Iremos probando a ver que pasa y os diré. El Firewal es en Eindows 10, por cierto.
Responder Con Cita
  #19  
Antiguo 15-12-2016
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.773
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola de nuevo.

Cómo abrir o cerrar un puerto con el firewall en Windows 10

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #20  
Antiguo 15-12-2016
Avatar de Angel.Matilla
Angel.Matilla Angel.Matilla is offline
Miembro
 
Registrado: ene 2007
Posts: 565
Poder: 11
Angel.Matilla Va por buen camino
Muchas gracias.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
conectar firebird a PHP NelsonJG PHP 6 12-03-2013 21:21:47
conectar firebird-bde Galahad Firebird e Interbase 1 07-04-2009 00:30:53
Conectar 2 BD con FireBird itsi Conexión con bases de datos 3 24-02-2009 14:00:33
conectar Firebird y DBE miguel_e Firebird e Interbase 4 16-06-2008 18:38:39
conectar firebird con asp berfer Firebird e Interbase 4 06-09-2006 19:14:41


La franja horaria es GMT +2. Ahora son las 11:16:30.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi