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)
-   -   Embedded: nuevo download o usar ficheros existentes (https://www.clubdelphi.com/foros/showthread.php?t=89147)

bulc 03-10-2015 17:16:38

Embedded: nuevo download o usar ficheros existentes
 
Hola a todos.
Me gustaría saber qué hacer para usar Firebird embedded, ¿es necesario hacer un download e instalarlo o se pueden usar los ficheros existentes de la Instalación de Firebird 2.5 ya existente y en marcha?
¿Se tiene que detener el Firebird 2.5 Server en funcionamiento, para usar el Embedded?
Una vez sabido esto intentaré ponerlo en marcha.
Gracias.

bulc 03-10-2015 18:15:22

No funciona y qué he hecho
 
Hola:
He creado una carpeta D:\EMBEBIDO. En ella he copiado la BaseDeDatos BASE.FDB. Al lado he puesto el ejecutable.exe después de compilarlo cambiando la ubicación del componente TIBDataBase a 'localhost:d\EMBEBIDO\BASE.FDB.
.............................................
He copiado estos ficheros desde el Firebird Embedded para que quedara así:
D:\EMBEBIDO\BASE.FDB
D:\EMBEBIDO\GDS32.DLL (Es el FBembed.dll renombrado)
D:\EMBEBIDO\FIREBIRD.CONF ( Con la línea RootDirectory D:\EMBEBIDO
D:\EMBEBIDO\ALIASES.CONF ( Con la línea: MyApplication = D:\EMBEBIDO
D:\EMBEBIDO\INTL\FBINTL.DLL
D:\EMBEBIDO\UDF\FBUDF.DLL
.......................................................................................
He compilado con la ubicación para el TIBDataBase que indico al principio.
He desconectado el Firebird Server en el Panel de Control.
Recibo dos errores: 1/ El programa echa en falta icuuc30.dll y además 2/ Error reading server type: gds32.dll not found.
................................................................
¿Algún forero me puede decir que he hecho mal?
Seguiremos intentándolo.
Saludos,
bulc

Casimiro Notevi 03-10-2015 18:38:35

¿Y por qué te complicas la vida en lugar de descargar e instalar la versión "embedded"?
Trae el fichero Firebird_InstallationGuide.pdf donde explicas cómo instalarla, si es para windows está en la página 26.

MAXIUM 03-10-2015 19:05:28

La versión empotrada de Firebird no necesita ser instalada. Solo descomprimida http://sourceforge.net/projects/fire...d.zip/download

Por otra parte, 'localhost:d\EMBEBIDO\BASE.FDB' No tendría sentido. Solo coloca la ruta local o relativa a la BD.

bulc 03-10-2015 20:34:40

Gracias a todos
 
Hola.
MAXIUM lleva razón. No existe instalación como tal. Un usuario no avisado da vueltas y vueltas para nada, sin encontrar cómo 'instalar'.
He descomprimido los ficheros y los he copiado uno por uno siguiendo las instrucciones de Firebird. Se me habían olvidado los ficheros ICU*
Una vez corregido éso el error se circunscribe al 'localhost', como muy bien apunta Maxium. Lo quitaré a ver.
Lo que si hago es compilar con el Firebird "normal" instalado. Y una vez compilado lo desconecto. ¿Es correcto esto?
También he visto que la prop. ServerType del TIBDataBase presenta los valores: ibEmbedded e ibServer, por lo que he pensado si de debería cambiar.
Voy a quitar 'LOCALHOST' a ver qué pasa.
Saludos.
bulc
* He quitado el LOCALHOST y dejado sólo el Path natural. He compilado, desconectado el Firebird normal y portado la aplicación al directorio EMBEBIDO, donde está el GDS32.dll
...................................................................................
Ahora me da el error: "Character Set ISO8859_1 not defined".

Con lo cual me tiene bastante mosqueado. Esto del embedded no era tan facilido como pensaba.

bulc 04-10-2015 16:43:47

He revidado todo
 
Vuelvo a intentarlo bajando Firebird Embedded de 64 bits, ya que es el que uso normalmente en el Firebird estándar.
Describo el entorno que uso y detalles en el intento de que Firebird Embedded funcione. Uso Windows 7 (64bits) con Firebird 2.5 (64 bits).
Intento usar Firebird Embedded 64 bits. Y hago esto:
1.- Compilo la applicacion con el parámetro de Connection (del TIBDataBase) D:\EMBEBIDO\BASE.FDB con el Firebird 2.5 normal activado. Es el único cambio que hago en Delphi.
2.- Coloco el ejecutable MyAPLI.EXE, junto a los datos (en D:\EMBEBIDO\BASE.FDB)
3.- Copio la versión Firebird Embedded y la expando para copiar los siguientes ficheros en D:\Embebido
4- D:\EMBEBIDO\bbembed.dll y lo cambio de nombre a gds32.dll (Por si las moscas, lo copio también con nombre fbclient.dll)
5.- D:\EMBEBIDO\firebird.conf + ib_util.dll + icudt30.dll (No cambio la configuración del firebird.conf) ya que ejecutable y base de datos comparten el mismo directorio).
6.- En D:\EMBEBIDO\FBINTL\ .... copio fbintl.dll + fbintl.conf
7.- en D:\EMBEBIDO\UDF\ .... copio fbudf.dll
8.- Ahora desconecto el Firebird estándard desde el Panel de Control.
9.- Ejecuto el programa y me da el error: "Unavailable Database".
¿Hay alguien que pueda ver qué he hecho mal?

bulc 04-10-2015 19:04:43

Me autorespondo con la solución
 
Por fin he conseguido usar el cacareado Firebird Embedded. Para eso he bajaddo: Firebird-2.5.1.26351-0_Win32_embed (A pesar de que yo uso la de 64 bits para el Firebird servidor estándar) ya que mi sistemas es Win 7 64bits. Resumiendo:
...................................................
He descomprimido los ficheros del download. (En eso consiste, realmente, la instalación).
Luego he abierto una carpeta nueva D:\EMBEDED32 y he copiado allí:
De la carpeta dónde estaba el Firebird descomprimido he sacado éstos ficheros necesarios.
1.- El fichero fbembed.dll que he renombrado como gds32.dll.
2.- Otros ficheros: firebird.conf + firebird.msg + ib_util.dll + ucudt30.dll + icuin30.dll + icuuc30.dll
3.- También he copiado las carpetas o subdirectorios: intl y udf (completos)
.................................................................................................... ....Luego:
4.- He compilado el ejecutable desde Delphixe3 con el parámetro: DataBaseName -> D:\EMBEDED32\SALUD.DBF
5.- Una vez compilado he ido al Inicio->Centro de Control y he desactivado el Firebird estándar.
6.- He copiado el fichero de datos SALUD.FDB en D:\EMBEDED32.
7.- He llevado el ejecutable .EXE a esa misma ubicación.
He hecho doble clic en el ejecutable y 'voilà' ésta ha funcionado. !!Uf, qué alivio!!
Gracias a todos por vuestra ayuda.
.....
bulc

bulc 04-10-2015 19:05:43

Austorespuesta al uso del Embedded de Firebird
 
Por fin he conseguido usar el cacareado Firebird Embedded. Para eso he bajaddo: Firebird-2.5.1.26351-0_Win32_embed (A pesar de que yo uso la de 64 bits para el Firebird servidor estándar) ya que mi sistemas es Win 7 64bits. Resumiendo:
...................................................
He descomprimido los ficheros del download. (En eso consiste, realmente, la instalación).
Luego he abierto una carpeta nueva D:\EMBEDED32 y he copiado allí:
De la carpeta dónde estaba el Firebird descomprimido he sacado éstos ficheros necesarios.
1.- El fichero fbembed.dll que he renombrado como gds32.dll.
2.- Otros ficheros: firebird.conf + firebird.msg + ib_util.dll + ucudt30.dll + icuin30.dll + icuuc30.dll
3.- También he copiado las carpetas o subdirectorios: intl y udf (completos)
.................................................................................................... ....Luego:
4.- He compilado el ejecutable desde Delphixe3 con el parámetro: DataBaseName -> D:\EMBEDED32\SALUD.DBF
5.- Una vez compilado he ido al Inicio->Centro de Control y he desactivado el Firebird estándar.
6.- He copiado el fichero de datos SALUD.FDB en D:\EMBEDED32.
7.- He llevado el ejecutable .EXE a esa misma ubicación.
He hecho doble clic en el ejecutable y 'voilà' ésta ha funcionado. !!Uf, qué alivio!!
Gracias a todos por vuestra ayuda.
.....
bulc

pacopenin 05-10-2015 18:36:12

El que Firebird sea de 32 o 64 bits no depende de sólo de windows sino más de la versión de Delphi que uses. Si tu Delphi compila en 32 bits no deberias usar Firebird de 64, que parece que finalmente era lo que pasaba.

bulc 05-10-2015 18:42:11

Buen, no sé qué decirte
 
Cita:

Empezado por pacopenin (Mensaje 497584)
El que Firebird sea de 32 o 64 bits no depende de sólo de windows sino más de la versión de Delphi que uses. Si tu Delphi compila en 32 bits no deberias usar Firebird de 64, que parece que finalmente era lo que pasaba.

Bueno, tengo Delphi_XE3. No sé en qué base compila. Pero el Windows es de 64 bits, y el Firebird estándard que uso es de 64. De todos modos acepto la duda. Funcionar, funciona que es lo me importa.
Ya era la tercera o cuarta vez que lo intentaba. Soy un mero aficionado.
Gracias.


La franja horaria es GMT +2. Ahora son las 19:13:40.

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