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)
-   -   Instalacion de mi programa con Firebird (https://www.clubdelphi.com/foros/showthread.php?t=65524)

JordiP 22-12-2009 10:26:23

Instalacion de mi programa con Firebird
 
Buenas, mi problema es que intento generar un instalador con el Installaware, incluyo los DLL's de Firebird: fbclient.dll y gds32.dll en el System32 y al ejecutar mi programa (ya instalado), me da un mensaje de error "cannot perform operation -- db is not open". Si instalo el "Firebird-2.1.1.17910-0_Win32.exe" y reinicio el PC, entonces si que funciona, entra a mi programa sin problemas.

Mi pregunta es, que he de incluir en mi instalador (con installaware) para evitar tener que instalar la aplicación completa del firebird ?

Me gustaría, aparte de los DLL's antes mensionados, saber cuales son los DLL's de firebird que tengo que incluir en mi instalador para que funcione mi aplicacion sin problemas

Gracias a todos

Neftali [Germán.Estévez] 22-12-2009 11:28:40

¿Has comprobado que el servidor esté funcionando?

JordiP 22-12-2009 12:31:05

Precisamente el fichero "Firebird-2.1.1.17910-0_Win32.exe" es el que instala el servidor, pero mi pregunta era, es necesario instalar en todos mis clientes el servidor de Firebird ? o solo con registrar las DLL's del Firebird es suficiente para que pueda acceder a la Base de Datos

Gracias

Neftali [Germán.Estévez] 22-12-2009 13:03:17

Cita:

Empezado por JordiP (Mensaje 349334)
Precisamente el fichero "Firebird-2.1.1.17910-0_Win32.exe" es el que instala el servidor

Fíjate que te he preguntado si está funcionando, no si está instalado.


Cita:

Empezado por JordiP (Mensaje 349334)
...pero mi pregunta era, es necesario instalar en todos mis clientes el servidor de Firebird ?

Lógicamente el servidor sólo debes instalarlo en la máquina que hará de servidor, el resto sólo la parte necesaria para la conectividad desde los clientes.

Durbed 22-12-2009 13:09:11

Hay una forma de tener el firebird embebido, pero nunca la he usado y no se como funciona, pero creo que hay que poner alguna dll con tu aplicación y listo. Supongo que sólo servirá para instalaciones mono puesto.

JordiP 22-12-2009 13:37:18

bien, pero sigo igual de perdido.

Neftali, lo de la parte necesaria que comentas, sabes que es lo que he de incluir ?

A mi instalador le he ido añadiendo librerias a medida que mi programa me iba dando mensajes de error, primero me pedia fbclient.dll, despues el gds32.dll, en este ultimo caso, cogi el mismo fbclient.dll y lo renombre a gds32.dll, tal y como se aconseja. Hasta aqui parece que solucionado. Ahora si ejecuto mi programa instalado, me da el error "cannot perform operation -- db is not open" y esto solo se que se quita instalando el servidor Firebird Firebird-2.1.1.17910-0_Win32.exe", pero aqui es donde quiero llegar yo, me gustaría saber que partes necesarias tengo que añadir a mi instalador para evitar instalar este servidor Firebird.

Espero haberme explicado, lo siento es que hoy no tengo el día

Gracias de antemano

Neftali [Germán.Estévez] 22-12-2009 15:45:18

¿Lo que no me queda claro es si esa instalación que estás generando es para instalar el Cliente o el Serviudor?

La opción más sencilla es lanzar el instalador que necesites desde tu propio instalador, como se suele hacer. ¿Por alguna razón esa opción no te sirve?

Lo digo porque a veces no es tan sencillo como copiar unos cuantos ficheros. A veces hay que registrar DLL's, a veces el Servidor ya está instalado,...

JordiP 22-12-2009 16:29:15

Creo que el problema lo tengo yo, en el PC donde tenga la base de datos, tengo que instalar el servidor de Firebird al completo ?

Neftali [Germán.Estévez] 22-12-2009 16:45:53

Cita:

Empezado por JordiP (Mensaje 349350)
Creo que el problema lo tengo yo, en el PC donde tenga la base de datos, tengo que instalar el servidor de Firebird al completo ?

Pues eso sería lo más correcto y normal (creo yo). Una máquina con el servidor y el resto con el cliente. La propia máquina que alberga el servidor puede o no tener un cliente instalado.

Lepe 22-12-2009 17:13:09

JordiP, el instalador de Firebird tiene una serie de parámetros, de hecho, permite su configuración por medio de archivos .ini para que solo instale lo que tú quieres de forma transparente al usuario.

Mira la carpeta de instalación de firebird\doc\installation_scripted.txt

defcon1_es 22-12-2009 17:32:40

No veo qué puede tener de malo instalar Firebird-2.1.1.17910-0_Win32.exe, si es porque hace "demasiadas preguntas" mientras se instala, prueba a ejecutarlo con la opción /silent.

De todas formas, si la instalación es en el servidor, debes asegurarte antes de arrancar tu aplicación de que el servicio de FireBird está funcionando, como te ha dicho Neftalí.

Esto lo puedes hacer ejecutando :
Para establecer el servicio en modo auto-arranque: instsvc.exe install -guardian
Para arrancar el servicio : instsvc.exe start

AzidRain 22-12-2009 21:42:02

Parece que lo que quiere es abrir el archivo de base de datos como lo haría por ejemplo en Access. Aquí lo que le conviene (ya que seguramente todo su desarrollo lo pensó de esta forma) es utilizar FB como servidor embebido, lo cual no es nada dificil y el propio FB contiene documentación para hacerlo. Solo que hay que advertir que de esta forma solo funciona en una sola pc. Si lo que deseaba era que funcione como cliente-servidor, debió haber diseñado su aplicación pensando en que la base de datos puede o no estar en el equipo donde se ejecuta.

JordiP 23-12-2009 08:08:46

Cierto AZIDRAIN, es una aplicación que se ejecuta en la propia PC (Local) con lo que solo me interesa instalar un cliente.

Creo que con todos los comentarios me hago una idea de lo que hay que hacer. Ya comentaré los resultados.

Gracias

JordiP 23-12-2009 08:47:12

Solucionado!!!
 
Buenas, ya esta solucionado.

Si queremos utilizar Firebird "solo en local", se ha de utilizar el "Win32 Download Firebird 2.5.0 Beta 1 Embedded" e instalar solo aquellas librerias que han de acompañar a nuestro instalador (Installaware por ejemplo). Dentro del ZIP esta el documento "DOC\README_embedded.txt" que nos indica cuales son esas librerias y donde las tenemos que instalar.

De esta manera evitamos tener que instalar en clientes pequeños un servidor de Firebird, que como dice DEFCON1_ES
Cita:

porque hace "demasiadas preguntas" mientras se instala
y en la mayoria de los casos se trata de personas que poco saben de contestar preguntas a la hora de instalar.

Gracias a todos.

defcon1_es 23-12-2009 12:13:43

Cita:

Empezado por JordiP (Mensaje 349390)
Si queremos utilizar Firebird "solo en local", se ha de utilizar el "Win32 Download Firebird 2.5.0 Beta 1 Embedded" e instalar solo aquellas librerias que han de acompañar a nuestro instalador (Installaware por ejemplo). Dentro del ZIP esta el documento "DOC\README_embedded.txt" que nos indica cuales son esas librerias y donde las tenemos que instalar.

¿Te arriesgas a usar la versión Beta?

yo instalaría la versión 2.1.3 Embedded
http://sourceforge.net/projects/firebird/files/firebird-win32/2.1.3-Release/Firebird-2.1.3.18185-0_Win32_embed.zip

JordiP 23-12-2009 16:23:20

DEFCON1_ES gracias por el dato, lo estuve buscando pero no lo encontré por eso me quede con la Beta 2.5.

Ya lo he bajado y funciona.

Gracias


La franja horaria es GMT +2. Ahora son las 06:39:22.

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