Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Firebird e Interbase (https://www.clubdelphi.com/foros/forumdisplay.php?f=19)
-   -   Error conexión con el servidor (https://www.clubdelphi.com/foros/showthread.php?t=87852)

Catublipas 10-03-2015 09:24:43

A ver si por aquí encontramos alguna conexión. Antes de instalar FIBPlus, yo desde Delphi no podía conectar con la base de datos en el servidor. ¿Hay algún otro componente que haga lo mismo que FIBPlus? A ser posible que sea gratuito. Es que me rechazaba igual la conexión. Aunque no saltaba el mismo mensaje exactamente, me ponía que la connection rejected. ¿Puede ser que esté ahí la clave?

Casimiro Noteví 10-03-2015 09:28:56

Creo que te estás obsesionando con FIBplus :)
FIBplus es descendiente de las IBX (las que vienen con el propio delphi), así que puedes probar con estas.
Pero antes, asegúrate de que tu programa (y el de prueba) se conectan a otro servidor, no hagas las pruebas directamente contra el servidor que quieres conectar, porque así puedes tener un problema en tu programa y nunca te enterarías.
Primero te aseguras de que funciona. Luego conectas con ese servidor que no puedes conectar.
Y no hagas una prueba de conexión local, eso no vale.

Catublipas 10-03-2015 09:42:41

Un apunte a ver si te da alguna pista, yo utilizo los componentes que vienen con Delphi instalado de Interbase, es decir, IBDataBase, IBTransaction... de la pestaña Interbase de Delphi. Intentaba conectar con el servidor con la opción remoto del componente IBDataBase y me ponía lo de la conexión fue rechazada, desde el mismo Delphi. Entonces instale FIBPlus la versión demo et voilà, por arte de magia conectaba. Sin utilizar los componentes ni hacer nada. Me resulto muy extraño porque iba a utilizarlos, pero ya funcionaban los que yo ya había instalado.
¿Te da alguna pista?

Casimiro Noteví 10-03-2015 09:47:02

¿Puede ser que busques fbclient.dll en lugar de gds32.dll?
¿Tienes instalado la misma versión de interbase en ambos equipos?

Mira la configuración de tus componentes, fbclient lo usa firebird y gds32 lo usa interbase (aunque firebird puede usar ambos)

Catublipas 10-03-2015 10:01:55

Vale, te comento la versión de Interbase en ambos es 7.0, ahora bien, tuve bastante desconocimiento sobre el tema al principio, e instalé Firebird aunque actualmente está desinstalado. ¿Puede ser que tenga algo que ver? ¿Como puedo ver la configuración de los componentes?

Casimiro Noteví 10-03-2015 10:32:51

Cita:

Empezado por Catublipas (Mensaje 489792)
Vale, te comento la versión de Interbase en ambos es 7.0, ahora bien, tuve bastante desconocimiento sobre el tema al principio, e instalé Firebird aunque actualmente está desinstalado. ¿Puede ser que tenga algo que ver? ¿Como puedo ver la configuración de los componentes?

A ver, es que quien está delante del ordenador eres tú :p, nosotros no 'vemos' nada que tú no digas.
Ya hemos hablado de esto antes. Si instalaste firebird y no te sirve, desinstálalo.

Catublipas 10-03-2015 13:12:18

Buenas de nuevo Casimiro, no puedo dedicarle demasiado a esto, y me está desesperando la verdad. Así que he optado por trabajar de forma local, como el programa solo va a hacer consultas, y es a una base de datos muy pequeña, realizaré una copia sistemáticamente de la base de datos al pc en cuestión y que el programa acceda en local a la base de datos. Bueno mira lo que me ha ocurrido, he instalado en los dos PCs la última versión estable de firebird 2.5.3.26780, he configurado la IBDataBase con conexión remota aunque en server he especificado localhost, protocol tcp port 3050 y la ruta C:\BBDD.

Vale, he intentado dos cosas una sin meter la base de datos en el instalador, lo cual me daba el mismo problema que antes solo que en lugar de especificar la ip 172.16.1.100, me pone localhost. Sin embargo en el PC donde he creado la aplicación si que funciona. La otra opción ha sido incluir la base de datos dentro del instalador e indicarle la misma ruta que tengo en el PC donde he creado la aplicación, para que la bbdd se instale en la misma ruta que el PC original. Bueno así la aplicación me crashea el PC y no funciona. Como comenté antes he utilizado Inno setup.
Ah en el PC cliente(o destino ya que no hay servidor al final) he instalado flamerobin para ver si podía acceder a la base de datos y accede sin problema.

¿Cuál es el problema ahora?

Catublipas 10-03-2015 13:17:41

Buenas de nuevo Casimiro, no puedo dedicarle demasiado a esto, y me está desesperando la verdad. Así que he optado por trabajar de forma local, como el programa solo va a hacer consultas, y es a una base de datos muy pequeña, realizaré una copia sistemáticamente de la base de datos al pc en cuestión y que el programa acceda en local a la base de datos. Bueno mira lo que me ha ocurrido, he instalado en los dos PCs la última versión estable de firebird 2.5.3.26780, he configurado la IBDataBase con conexión remota aunque en server he especificado localhost, protocol tcp port 3050 y la ruta C:\BBDD.

Vale, he intentado dos cosas una sin meter la base de datos en el instalador, lo cual me daba el mismo problema que antes solo que en lugar de especificar la ip 172.16.1.100, me pone localhost. Sin embargo en el PC donde he creado la aplicación si que funciona. La otra opción ha sido incluir la base de datos dentro del instalador e indicarle la misma ruta que tengo en el PC donde he creado la aplicación, para que la bbdd se instale en la misma ruta que el PC original. Bueno así la aplicación me crashea el PC y no funciona. Como comenté antes he utilizado Inno setup.
Ah en el PC cliente(o destino ya que no hay servidor al final) he instalado flamerobin para ver si podía acceder a la base de datos y accede sin problema.

¿Cuál es el problema ahora?

Casimiro Noteví 10-03-2015 13:18:24

Estas cosas se hacen paso a paso. Probando cada paso.
No puedes hacer lo que has hecho. ¿Has eliminado interbase y has puesto firebird?, ¿has dejado interbase?, ¿cómo has copiado la base de datos?, ¿has hecho un backup transportable antes de restaurarla para usarla con firebird?
Me vienen a la cabeza montones de preguntas y problemas que pueden surgir por cada una.
Lo dicho, céntrate en lo que quieres hacer y ve paso a paso, probando cada paso y asegurándote de que es correcto.

Catublipas 10-03-2015 13:36:03

Muy bien, voy a seguir intentando conectar con el servidor, pero desde luego me tiene desesperado. Si encuentro algo que pueda ser relevante te lo hago saber por aquí.

Muchas gracias Casimiro por tu paciencia! :)

P.D: Lo que me parece supercurioso es que en uno funcione y en el otro no. Incluso solapando Interbase y Firebird.

Casimiro Noteví 10-03-2015 13:39:35

Debes de tener paciencia e ir pasito a pasito. No des un paso si todavía no estás seguro que el anterior está bien dado.
Porque así, como estás actuando, te haces un lio tremendo y no llegas a ninguna conclusión.

Catublipas 10-03-2015 14:41:57

Bueno Casimiro, por fín!!!!
Madre mía, al final tenías tu razón, era un conflicto de Interbase.
La aplicación la he desarrollado en Delphi XE 6.
Ha sido desinstalar Interbase 7.0 e instalar embarcadero Interbase XE y sin problema corren las dos aplicaciones.
Lo que me resulta extraño es porqué funciona en el PC que he creado la aplicación si tambien tiene instalado Interbase 7.0 y XE(instalado con el Delphi).
Supongo que algo tendrá que ver el propio Delphi.
Habías hecho mucho incapié y era eso al final, más acertado no podías estar jajaja. Como la nueva versión de Interbase empieza por Embarcadero pues no lo encontraba en programas XD.

Mil millones de gracias, por tu ayuda de verdad! :D

Un saludo muy grande!

AgustinOrtu 10-03-2015 16:44:40

Yo estoy seguro que es porque tenias alguna libreria sobreescrita. Instalaste delphi -> interbase -> firebird. Firebird al instalarse al final te metio su version de la gds32.dll y por eso no te deja conectarte a tu servidor

Al reinstalar el delphi te reemplazo la liberia por la version correcta

Digo yo, que no creo en la magia jaja

Casimiro Noteví 10-03-2015 17:18:11

Cita:

Empezado por Catublipas (Mensaje 489817)
Habías hecho mucho incapié y era eso al final, más acertado no podías estar jajaja.

Bueno, era pura lógica ;)

Catublipas 10-03-2015 17:36:32

Casi con toda seguridad, porque ese fue el orden. Muchas gracias de verdad.
:D:D

fjcg02 10-03-2015 18:15:16

De todas maneras, cuando hay dudas de conectividad, lo más fácil es hacer una comprobación para ver si los equipos tienen conectividad.

Desde un equipo donde queremos conectarnos....
telnet ip_del_servidor puerto

En este caso
telnet 172.16.1.100 3050

Si la pantalla se queda negra o da algún mensaje de identificación, es que hay conectividad entre el equipo y el servidor. Entonces en este caso sería problema de la aplicación, dlls, ...
Si da un error, es que hay algo que impide la conexión, como puertos cerrados, firewalls, redireccionamiento de puertos en el router mal hechos, ... En este caso tendríamos que solucionar previamente la conexión entre los equipos.

Espero haber aportado algo.

Saludos



Saludos


La franja horaria es GMT +2. Ahora son las 09:42:09.

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