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 27-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Red face El tipico tema de gds32.dll

Saludos Delphieros,

Les escribo para hacer una tipica pregunta que deberia ser un post cuando alguien entre a este subforo (para los administradores), que dll tengo que tener para que mi programa "cliente" de firebird corra en cualuquier PC Win98+,

Estuve buscando en el foro y encontre una guia de firebird.mx, que desde la version 1.5 firebird cuando lo instalas trae un .exe llamado instclient.exe en la carpeta bien, segun lei, instala la libreria cliente fbclient.dll y hace una copia renombrada de gds32.dll, para que no haya conflicto con interbase.

Pero aparte de esto, creo que lo instala bien (instclient i[nstall] f[bclient.dll]), pero me sale unavailable database ...

Aparte de copia la gds32.dll y fbclient.dll en el directorio de la aplicacion y en system32 manualmente que otras cosas hay que hacer

Gracias
__________________
Trigger
Responder Con Cita
  #2  
Antiguo 27-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Hola, "Disparador", jeje

"unavailable database" tiene que ver con que no encuentra la BBDD en la ruta que tú le especificas cuando ejecutas la aplicación. Revisa eso primero, no sea que te hayas pasado algo por alto (como que te falte poner la IP del servidor, por ejemplo).

De todas formas, hay veces que, según el S.O. y las aplicaciones instaladas, necesitarás las siguientes DLLs a mayores: msvcp60.dll y msvcrt.dll
Son las bibliotecas del Visual C++, con el que se compiló el FB.
FireBird suele traer esas DLLs en la carpeta ..\bin del servidor para Win, cópialas en la carpeta de los clientes donde tengas instalada tu aplicación.

Espero haberte ayudado en algo.

Saludos
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.
Responder Con Cita
  #3  
Antiguo 27-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Talking

Tal vez no me entendies athlontado ...

Estoy trabajando con delphi, la ruta esta bien ya que corro el programa desde delphi y funciona o corro el .exe y funciona, pero al cerrar el fbguard no me sirve ni desde delphi, ni corriendo el .exe, lo que necisto saber exactamente es que dll necesita firebird para que mi programa cliente se ejecute en otro pc y donde pongo esas dll?

Gracias por resporder
__________________
Trigger
Responder Con Cita
  #4  
Antiguo 27-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Me parece que hay algo que no debes de tener muy claro.

Si cierras el fbguard, es decir, cierras el servidor de FB, no hay forma de acceder a los datos ya que no hay servidor que los sirva. A no ser que accedas con el Firebird embebido, usando la DLL fbembed.dll renombrándola a fbclient.dll ó gds32.dll, según el caso, lo cual te permitirá acceder a una BBDD almacenada en local ó en otro servidor FB que esté activo en la red.

Espero haberme explicado esta vez. Si hay algo más, ya sabes ...
Saludos
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.
Responder Con Cita
  #5  
Antiguo 27-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Talking

Saludos viejo y muchas gracias por tu respuesta, obviamente si cierro el fbguard no puedo acceder a los datos, por que si fuera asi me tocaria instalar el firebird en cada computador donde fuera a estar instalando el programa, pero ya veo que resolviste mi duda con lo de fbembed.dll,
La pregunta ultima es
¿La dll renombrada donde la encuentro y donde la guardo en la carpeta del programa o en system32?

Gracias
__________________
Trigger

Última edición por Trigger fecha: 27-10-2004 a las 20:27:12.
Responder Con Cita
  #6  
Antiguo 28-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Bien, ahora nos entendemos .

El Firebird embebido lo puedes obtener desde SourceForge.net

Yo pienso que es aconsejable guardar la dll en la misma carpeta de la aplicación, por si algún día, en alguna de esas máquinas se instala otra versión de FB/IB, que la aplicación siga funcionando con la dll para la que fue diseñada. Claro que no es más que una opinión.

Saludos
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.

Última edición por athlontado fecha: 28-10-2004 a las 09:35:09.
Responder Con Cita
  #7  
Antiguo 29-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Unhappy Al coño firebird me tocara instalarlo todo

Esta es la situacion

1. Utilizo Delphi 7
2. Ningun Componente Visual de Base de Datos
3. Solo 1 Connection, 2 TSQLQuery, 2 DataSource
4. En mi equipo instale Firebird 1.5.1
5. Utilizo el IBManager para crear y modificar la base datos (manual)
6. La maquina(s) donde voy a instalar el programa es un simple y mortal pc, donde solo hay instaldo windows (98+) y office, osea tipo usuario normal
7. el programa no va a trabajar en red ni nada por el estilo, solo cliente (por eo lo llamo asi cliente)


Situacion anterior
Utilizaba Builder 6 y Access, obviamente en el instalador instalaba el BDE y agregaba el alias del ODBC y funcionaba perfecto.

Situacion actual
Utilizo Delphi y firebird.
La pregunta es que tengo que hacer para que mi programa cliente funcione en cualquier pc.

He tratado

Copiar gds32.dll y fbclient.dll (system32 y directorio del prog cliente)

Ejecutar instclient.exe, que trae firebird desde la version 1.51 (lo que hace es copiar el fbclient o gds32 a system32 de manera adecuada y comprobando sus antecesores)

Renombrar fbembed.dll a fbclient.dll y copiar en system32 y directorio de app y no funciona

Notas

La ruta de la base de datos en el connection la hago dinamica y la compruebo con un msgbox cada que inicia y esta perfecta

Gracias
QUe al guien me ayude me va tocar instalar firebird en cada pc que instale mi programa?, nooooooooooooooo
__________________
Trigger

Última edición por Trigger fecha: 29-10-2004 a las 15:56:15.
Responder Con Cita
  #8  
Antiguo 29-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Vaaale, ya te he entendido, Trigger.

Tienes que eliminar el paso en el que copias fbclient.dll y gds32.dll, en este caso no son necesarias, puesto que sólo sirven para dar acceso a un servidor FB. Por lo tanto, tienes que borrar esas DLLs de la máquina cliente, incluso si están en la carpeta SYSTEM de Win9x.

Lo que tú necesitas es únicamente fbembed.dll, lo copias en la carpeta de la aplicación (sólamente ahí) y lo renombras a gds32.dll (supongo que usas los componentes IBX). La ruta de la base de datos que uses para conectarte a la misma, debe ser una ruta local, sin IP ni nombre del servidor, del tipo: C:\micarpeta\bbdd.fdb

Si te sigue sin funcionar, prueba a hacer esto:
Cita:
De todas formas, hay veces que, según el S.O. y las aplicaciones instaladas, necesitarás las siguientes DLLs a mayores: msvcp60.dll y msvcrt.dll
Son las bibliotecas del Visual C++, con el que se compiló el FB.
FireBird suele traer esas DLLs en la carpeta ..\bin del servidor para Win, cópialas en la carpeta de los clientes donde tengas instalada tu aplicación.
A ver si hay suerte ahora.
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.
Responder Con Cita
  #9  
Antiguo 29-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Cagüenlaleche , mira que pasarme por alto que usas dbExpress, no IBX.

¿Es correcto?. Por que si es así, todavía tienes que copiar otra DLL que es dbexpint.dll, que está en la carpeta ..\bin donde está instalado el Delphi.
Pon esa DLL también en la carpeta donde instales tu aplicación.

Y recuerda; un ordenador funcionando con una BBDD en modo local NO es un cliente, al menos de un servidor de BBDD. Un PC cliente es cuando depende de un servidor para poder funcionar, aunque la aplicación servidora esté instalada en la misma máquina.

Venga, lo dicho, que te vaya bonito.
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.

Última edición por athlontado fecha: 29-10-2004 a las 16:42:04.
Responder Con Cita
  #10  
Antiguo 29-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Wink

No utilizo ningun componente VISUAL de base de datos,

Como mencione anteriormente un TConnection, TSQLQquery, TDataSource y listo, viejo
__________________
Trigger
Responder Con Cita
  #11  
Antiguo 29-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Perdona, Trigger. Me contestaste mientras corregía el post anterior.

Lee el post nº9, por favor. Y perdona las molestias.
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.
Responder Con Cita
  #12  
Antiguo 29-10-2004
Avatar de Trigger
Trigger Trigger is offline
Miembro
 
Registrado: nov 2003
Ubicación: Barranquilla (Colombia)
Posts: 79
Poder: 21
Trigger Va por buen camino
Talking

Cita:
¿Es correcto?. Por que si es así, todavía tienes que copiar otra DLL que es dbexpint.dll, que está en la carpeta ..\bin donde está instalado el Delphi.
a tambien la copie y no funciona, por favor perdona mi tremenda ignorancia pero podrias explicarme desde el principio como

Tienes que copiar dbexpint.dll a la carpeta de tu aplicacion
Tienes que copiar .....

Por que de tantas cosas me he confundido totalmente

Te hago una aclaracion por si acaso, me sale unavaliable database no por que tenga la ruta mal si no por las dll, ya que la ruta la asigno dinamicamente, y al encender el fbguard, funciona bien y al apagarlo no funciona, Osea que no tengo las dll que necesito en mi acrpeta de aplicacion

Otra pregunta tengo que agregas algun tipo de alias o algop asi
__________________
Trigger
Responder Con Cita
  #13  
Antiguo 29-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Vamos por el principio, ya sabiendo con exactitud lo que quieres ...

Supongamos que la palabra carpeta se refiere a la carpeta donde está tu aplicación.

1º) Borra las DLLs fbclient.dll, gds32.dll que tengas en la carpeta
2º) Copia fbembed.dll en dicha carpeta
3º) Renombra fbembed.dll a gds32.dll
4º) Por si acaso, copia msvcp60.dll y msvcrt.dll desde ..\Bin, donde está instalado FireBird en carpeta
5º) Copia dbexpint.dll en carpeta, es el driver de dbExpress para acceder a FireBird.
6º) CORREGIDO: Copia midas.dll en carpeta, necesaria para TClientDataSet

Falta ver cómo realizas la conexión dentro de tu aplicación.
Voy a probar éste caso concreto y ya te comento si falta algo más.
De momento, prueba a ver si con eso te va.

Suerte, chaval.
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.

Última edición por athlontado fecha: 29-10-2004 a las 18:17:46.
Responder Con Cita
  #14  
Antiguo 29-10-2004
athlontado athlontado is offline
Miembro
 
Registrado: sep 2004
Ubicación: Almázcara - León (España)
Posts: 63
Poder: 20
athlontado Va por buen camino
Esto nos pasa por no mirar la ayuda de Delphi .
Buscando dbExpress database applications:deploying, encontré lo siguiente:

Código:
 To deploy dbExpress applications as stand-alone executable files, the dbExpress object files must be statically linked into your executable. You do this by including the following DCUs, located in the lib directory:
 
 dbExpress deployment as stand-alone executable 
 Database unit	When to include
 dbExpINT	Applications connecting to InterBase databases
(...)
MidasLib	Required by dbExpress executables that use client datasets such as TClientDataSet

Note
(...)

If you are not deploying a stand-alone executable, you can deploy associated dbExpress drivers and DataSnap DLLs with your executable. The following table lists the appropriate DLLs and when to include them:
 
 dbExpress deployment with driver DLLs 
 Database DLL	When to deploy
(...)
dbexpint.dll	Applications connecting to InterBase databases
(...)
 Midas.dll	Required by database applications that use client datasets
Por lo que nos falta también midas.dll ... , ya que usas el componente TClientDataSet.

Si te sigue sin funcionar, dílo ...
__________________
Óscar Salvador Páez
Aprendiendo a aprehender de quienes aprehenden, sin cerciorarse de sus edades, culturas, sexos, razas, creencias u orígenes, es la forma más sabia de aprehender.
Responder Con Cita
  #15  
Antiguo 29-10-2004
Mick Mick is offline
Miembro
 
Registrado: may 2003
Posts: 405
Poder: 21
Mick Va por buen camino
Solo comentar que es preferible poner un:
uses MidasLib;
en las units que accedan a la base de datos, esto hace que no sea necesario utilizar midas.dll, ya que se incluye en el propio ejecutable.

Adicionalmente si se usa el firebird embeded , hay que tener en cuenta que la aplicacion se convierte en monopuesto y monousuario, no se podra utilizar la base de datos desde otros puestos, ni varias aplicaciones en el mismo puesto podran acceder a la misma base de datos.

Saludos
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


La franja horaria es GMT +2. Ahora son las 11:12:03.


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