Ver Mensaje Individual
  #6  
Antiguo 10-08-2004
Avatar de Rufus
Rufus Rufus is offline
Miembro
 
Registrado: may 2004
Ubicación: Canarias
Posts: 193
Reputación: 23
Rufus Va por buen camino
El comportamiento estándar de firebird 1.5 es el siguiente:

  • En windows: crea por defecto las bases de datos en modo SÍNCRONO, esto es que todas las operaciones se graban inmediatamente en disco.
  • En linux: crea por defecto las bases de datos en modo ASÍNCRONO, esto es que utiliza un buffer para ganar velocidad y las operaciones no son grabadas inmediatamente en el disco. Lo han hecho así porque según los desarrolladores que trabajan en firebird, los sistemas linux tienen la suficiente seguridad como para poder trabajar en este modo sin tener que preocuparse por la corrupcion de los datos. Yo también lo creo así.
Ahora bien, si tu para mayor seguridad y si no te fías mucho, quieres poner en los linux la escritura síncrona, puedes hacerlo, pero ya digo que yo no creo que sea necesario.

Cita:
Por que obviamente la aplicación no puede rastrear las carpetas de una unidad que no está compartida.
Bien, esta frase es cierta, pero es que para ejecutar correctamente el gfix no te hace falta que la base de datos esté en una carpeta compartida.

Todavía no me aclaro mucho con tu caso concreto pero te voy a poner un ejemplo:

Tienes dos computadores, uno es el servidor y otro el cliente, da igual que sean linux o windows. La base de datos está en el servidor, y no hay ningun directorio compartido. Bien, lo primero que yo hago, en este caso, es en el servidor poner en el archivo aliases.conf, que esta en el directorio de firebird, por ejempo la siguiente línea suponiendo que es un servidor windows:

pedidos = c:\data\pedidos.fdb

E insisto, el directorio 'data' no está compartido.

Luego en el cliente tengo lógicamente que instalar el cliente de firebird, con la librería para poder conectar. Normalmente tambien se pone la vieja librería de interbase, que sólo sirve para enlazar con la nueva de firebird, para evitar problemas. Aquí, si quiero, puedo instalar en el cliente herramientas administrativas, como el gfix, gbak, isql y demás.

Desde el cliente, suponiendo que el servidor se llame 'servidor', para conectar a la base datos solo tengo que poner
Código:
servidor:pedidos
y ya está. No me hace falta saber en qué directorio está.

Pues con el gfix lo mismo de lo mismo. Si quiero ejecutar un gfix desde el cliente contra una base de datos del servidor pondría:
Código:
gfix -write sync -user sysdba -password masterkey servidor:pedidos
Ahora bien, ¿necesitas poner el gifx en todos los clientes para hacer esto? No. Lo que necesitas es la libreria cliente. El gfix (Y SOLO EL GFIX) podrías ponerlo en una carpeta compatida del servidor para que los clientes tengan acceso a este archivo.
__________________
Milo

Última edición por Rufus fecha: 10-08-2004 a las 12:52:21.
Responder Con Cita