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 Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Firebird e Interbase de manera simultánea

Hola amigos !

Por más que busco en los foros y en muchos otros sitios no consigo lograr mi objetivo.

Estoy cambiando mi aplicación para trabajar con Firebird en vez de Interbase. La base de datos en sí me dió algunos problemas con los triggers, pero ya lo tengo solucionado. Tengo el IBExpert funcionando con las dos bases de datos, una en interbase y otra en Firebird. Todo correcto. Incluso de manera simultánea, tanto interbase como firebird activos.

Pero al intentar conectar con mis componentes IBX a la base de datos de Firebird me dice 'unavailable database'. En cambio con el IBExpert si accedo en ese mismo momento, con lo que está claro que el servidor Firebird está activo.

En el directorio Windows\System32 he dejado la librería GDS32.dll de Interbase, y el mismo fichero de Firebird lo tengo en un directorio distinto. En IBExpert puedo configurar la ruta del 'Client Library File'. Lo he hecho y funciona correctamente. Pero cómo configuro esta ruta en mi aplicación en el componente IBDatabase ?

Lo que pretendo finalmente es tener dos versiones de mi programa (para pruebas y tal ...). La antigua trabajando con Interbase, y la nueva trabajando con Firebird. Por eso necesito ambos activos.

Gracias por vuestra ayuda.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 24-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Sigo probando ....

Al parecer, si tengo instalado Firebird 2.1 e Interbase 2007, en tiempo de ejecución no tengo problema. Funciona correctamente. Mis componenter TIBDatabase apuntan uno a una base de datos Interbase y en la otra aplicación, el otro componente TIBDatabase apunta a la base Firebird.

Pero sigo teniendo el problema en tiempo de diseño. No logro que el componente TIBDatabase se conecte a la base de datos de Firebird.

Si desinstalo Interbase 2007 y únicamente dejo Firebird 2.1 instalado, entonces si que puedo trabajar correctamente en tiempo de diseño.

Alguien me puede guiar un poco más ?

Gracias y saludos a todos !
__________________
Piensa siempre en positivo !
Responder Con Cita
  #3  
Antiguo 24-06-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
El problema es que los IBX no son para conectarnos a varios motores de base de datos como lo son por ejemplo, los DBX o ADO, tal vez si le haces alguna modificación a la unidad IBHeader de las IBX y cambias la constante IBASE_DLL de su valor gds32.dll a fbclient.dll (Y claro, copias la fbclient.dll al System32), quizá te funcione el FireBird, pero te bloqueria el Interbase en tiempo de diseño.

La verdad es que nunca lo he hecho, pero puede que te funcione.

Por otro lado, si copias la gds32.dll de Firebird al system32, seguramente te funcionaran en tiempo de ejecucion solo las BD Firebird y no las InterBase, ya que la gds32.dll de Firebird, lo que hace es llamar las funciones de fbclient.dll.
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #4  
Antiguo 24-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Gracias Jhonny !

Acabo de ver ahora tu respuesta, después de haberlo conseguido por mi propia cuenta.

He instalado tanto Firebird 2.1 como Interbase 2007. En cada ocasión, lo que hago es guardarme en cualquier carpeta propia del disco duro las versiones gds32.dll de cada uno, tanto de Firebird como de Interbase.

También he probado instalar Firebird 2.1 SIN la opción de copiar el fichero de gds32.dll y también me funcion.

Cuando tengo las dos instaladas, borro completamente el fichero gds32.dll de la carpeta \Windows\System32

Por otro lado copio la versión gds32.dll de Interbase que guardé por otro lado al directorio bin del BDS2006 (en mi caso). Y así me funciona perfectamente. Tengo por un lado el Delphi 2006 con mi acceso a Interbase, y por otro lado el Delphi 2007 con acceso a Firebird 2.1

Funciona prefectamente con los componente IBX.

Por no tener la necesidad personalmente de hacerlo, no he probado toda esta problemática con una única versión de Delphi. Supongo que se complicaría algo. Y a lo mejor habría que incidir más en temas como los que ha expuesto Jhonny.

De todas maneras, gracias a todos.

__________________
Piensa siempre en positivo !
Responder Con Cita
  #5  
Antiguo 24-06-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, también indicar que probablemente debas especificar puertos distintos, por ejemplo dejas el 3050 para IB y le asignas el 3051 (por ejemplo) al FB.

No lo he probado nunca, pero creo recordar haber leído que es una solución posible.
Responder Con Cita
  #6  
Antiguo 24-06-2008
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Gracias Casimiro,

La verdad es que también recordé algo de acerca de los puertos. La pregunta es: donde puedo cambiar el puerto del Firebird, o el de Interbase en su caso.

En la instalación de Interbase me permite configurar el puerto sólo en caso de instalar múltiples instancias.

A pesar de que ahora mismo me funciona, me gustaría averiguar como cambiar el puerto.
__________________
Piensa siempre en positivo !
Responder Con Cita
  #7  
Antiguo 24-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola, aquí te dice cómo.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #8  
Antiguo 24-06-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Creo recordar que también lo puedes especificar en el fichero de configuración: firebird.conf que está en el directorio de firebird.
Responder Con Cita
  #9  
Antiguo 24-06-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Creo recordar que también lo puedes especificar en el fichero de configuración: firebird.conf que está en el directorio de firebird.
Pues de eso hablan en link que puse en el mensaje anterior .

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
  #10  
Antiguo 25-06-2008
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es verdad, no había leído que se refiere también a firebird.conf
Responder Con Cita
  #11  
Antiguo 25-06-2008
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Viendo un mensaje de Andreano en PDM, donde requieren lo mismo que en este hilo, pues noté que realmente puede funcionar...

Una manera de lograr el cometido es colocando las gds32.dll correspondientes a cada motor en la carpeta bin de cada uno y no en el System32 de Windows (Me imagino que para estar mas seguros será mejor eliminar esa dll de ahí).

A parte de eso, es mas que conveniente trabajar con cada motor por distintos puertos, como ya lo ha comentado Casimiro y enecumene mas arriba en este mismo hilo .
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
Respuesta



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
Facturación simultanea Critter Conexión con bases de datos 1 01-04-2008 19:22:34
Firebird de la mejor manera david_uh Varios 7 19-01-2008 15:45:37
¿Cómo instalo Firebird de manera muy sencilla? axelbb Firebird e Interbase 11 13-03-2007 15:03:40
Impresion simultanea solovaer Impresión 0 12-08-2006 02:28:00
Impresion simultanea bloquea tabla Supermagayin Impresión 2 12-01-2006 04:27:51


La franja horaria es GMT +2. Ahora son las 23:43:41.


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