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)
-   -   ¿Puedo usar BD de Firebird que este en PC con LINUX si fue hecha bajo Windows XP? (https://www.clubdelphi.com/foros/showthread.php?t=79044)

Tcmn 05-06-2012 00:07:28

¿Puedo usar BD de Firebird que este en PC con LINUX si fue hecha bajo Windows XP?
 
Hola, deseo hacer una aplicacion multicapa con Firebird 2.1, Delphi 6 Enterprise, IbExpert y RemObjects bajo ambiente windows pero que cuando la termine solo mover la base de datos a una computadora que sera el servidor pero que tenga LINUX, por cuestion de seguridad. Nunca en la vida he hecho este tipo de aplicaciones, sino solo Cliente/Servidor de dos capas. Segun yo esa es mi idea despues de leer mucho e investigar aqui en el club y por internet. Tengo muchas dudas que he tratado de estar resolviendo de una en una. Ahora la duda que me asalta es si necesitare hacer la base de datos bajo ambiente Linux con alguna herramienta para que pueda funcionar o con el simple hecho de que yo arme todo lo que corresponde al diseño de la base de datos con IbExpert bajo Windows XP, solamente copiar el archivo BaseDeDatos.fdb al servidor con LINUX, instalar Firebird para linux y listo ya me puedo
conectar a la base de datos desde cualquier servidor de aplicacion como si nada con solo poner la ruta:

IP.DE.Servidor:C:\Sistema\BasedeDatos.fdb

Espero haberme explicado y cualquier sugerencia sera bien recibida.

Casimiro Notevi 05-06-2012 00:32:01

Lo aconsejable es hacer una backup tranportable (en windows) y restaurarla después en linux.

Ejemplo, en el windows hacemos el backup:
gbak -b -t -v -user sysdba -password masterkey tubase.fdb tubase.fbk

Luego en el linux restaurarmos el fbk
gbak -r -v -p 8192 -user sysdba -password masterkey tubase.fbk tubase.fdb

El -t es el parámetro que la convierte "transportable" para poder restaurarla en otro equipo.

duilioisola 05-06-2012 09:05:11

Otra opción para pasa la base de un servidor a otro es:

Desde Linux:
Backup
/opt/firebird/bin/gbak -b -t -v -user sysdba -password masterkey IP.DE.Servidor:C:\Sistema\BasedeDatos.fdb BasedeDatos.fbk
Restore
/opt/firebird/bin/gbak -r -v -p 8192 -user sysdba -password masterkey BasedeDatos.fbk BasedeDatos.fdb

Desde Windows:
Backup
C:\Archivos de Programas\Firebird\bin\gbak.exe -b -t -v -user sysdba -password masterkey IP.DE.Servidor:C:\Sistema\BasedeDatos.fdb BasedeDatos.fbk
Restore
C:\Archivos de Programas\Firebird\bin\gbak.exe -r -v -p 8192 -user sysdba -password masterkey BasedeDatos.fbk IP.DE.Servidor.Linux:/bases/BasedeDatos.fdb

Casimiro Notevi 05-06-2012 09:27:12

Cita:

Empezado por duilioisola (Mensaje 434289)
Otra opción para pasa la base de un servidor a otro es:

Desde Linux:
Backup
/opt/firebird/bin/gbak -b -t -v -user sysdba -password masterkey IP.DE.Servidor:C:\Sistema\BasedeDatos.fdb BasedeDatos.fbk
Restore
/opt/firebird/bin/gbak -r -v -p 8192 -user sysdba -password masterkey BasedeDatos.fbk BasedeDatos.fdb

Desde Windows:

Backup
C:\Archivos de Programas\Firebird\bin\gbak.exe -b -t -v -user sysdba -password masterkey IP.DE.Servidor:C:\Sistema\BasedeDatos.fdb BasedeDatos.fbk

Restore
C:\Archivos de Programas\Firebird\bin\gbak.exe -r -v -p 8192 -user sysdba -password masterkey BasedeDatos.fbk IP.DE.Servidor.Linux:/bases/BasedeDatos.fdb

Creo que te has confundio, esa opción no es válida para restaurarla en el equipo linux, ya que está usando el firebird de windows, por lo que la BD quedará en formato del sistema windows. Eso sería lo mismo que copiar el .fdb de windows en el servidor linux.

duilioisola 05-06-2012 10:38:43

Cita:

Restore
C:\Archivos de Programas\Firebird\bin\gbak.exe -r -v -p 8192 -user sysdba -password masterkey BasedeDatos.fbk IP.DE.Servidor.Linux:/bases/BasedeDatos.fdb
Casimiro, esta opción funciona correctamente.
El GBAK lo que hace es conectarse con el servidor de base de datos. Sea este en local o en remoto.
Yo lo utilizo de esta manera habitualmente.


Este es el .bat que utilizo normalmente para restaurar bases de clientes en mi servidor Linux desde mi ordenador (windows).
Código:

set nombre=BaseDeCliente
del restore_%nombre%.log
"C:\Archivos de programa\Firebird\Firebird_1_5\bin\gbak.exe" -r C:\Dikram\Backup\%nombre%.FBK 192.168.152.250:/bases/%nombre%.fdb -user SYSDBA -pass masterkey -y restore_%nombre%.log


Casimiro Notevi 05-06-2012 10:49:06

Claro, funcionar, funciona. Pero estás usando el firebird de windows.

Hay que pasar el gbk transportable creado al equipo linux y restaurarlo allí, o también restaurarlo desde windows, pero usando el firebird del linux, para ello hay que usar el parámetro -SERVICE

Cita:

-SE[RVICE] <servicename>

Use the services manager on a remote database to restore a remote database. The servicename is currently
always the text service_mgr.
Te funciona porque "normalmente" funciona siempre, incluso haciendo un copia->pega (si no hay ninguna conexión abierta a la BD), pero lo aconsejable es lo que he comentado antes (y lo que ellos mismo dicen que hay que hacer, no yo :))

gbak

Tcmn 06-06-2012 00:55:11

Muchisimas gracias por el tiempo y por haber respondido mi duda. Para mas seguridad creo que hare el backup transportable. Disculpen mi tardanza en responder.

Muchas gracias de nuevo

Casimiro Notevi 06-06-2012 09:28:14

Sí, crea el backup transportable:

Cita:

Empezado por firebird
-t[transportable] Creates a transportable backup (transportable between platforms and server versions.


ASAPLTDA 18-12-2018 17:50:34

Tranportar Firebird Windows A Linux
 
Hola a Todos
1. Quisiera preguntar si se requiere algun cambio en el programa delphi cuando cambie de firebird windows a firebird linux o que se debe considerar al hecer este cambio fuera del backup y restaurar en linux

2. Al hacer el cambio debe esperar el mismo rendimiento o existe cambios en el rendimiento

Gracias Señores

Casimiro Notevi 18-12-2018 21:57:46

En el programa delphi no hay que hacer nada.
Solamente haces el backup transportable de la base de datos.
Luego lo restauras en el servidor linux.
Y se acabó.
Normalmente puedes esperar entre un 30 y un 50% de mejor rendimiento.


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

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