Ver Mensaje Individual
  #2  
Antiguo 01-02-2007
Avatar de Bicho
[Bicho] Bicho is offline
Miembro Premium
 
Registrado: jul 2003
Ubicación: Inca - Mallorca
Posts: 1.776
Reputación: 22
Bicho Va por buen camino
Hola bienvenido al ClubDelphi!

Antes que nada, échale un vistazo a la Guía de Estilo y verás que tú pregunto no debe ir en este foro, sino mejor en el de Bases de datos.
Tambien puedes usar el buscador antes de postear por si este tema ya se ha tratado otras veces.

En cuanto a tu pregunta, tienes varias opciones:

1 - Copiar el fichero de la base de datos (.gdb) de la ruta de origen a la de destino. Para ello debes asegurarte de que no haya ninguna conexión abierta o activa sobre esa base de datos. Así que de primeras los componentes IbDatabase, IbTable, IbQuery, etc que tengas para conectarte, deben estar con la propiedad Active := False y/o (según el componente) connected := False o usar el método Close para cerrar las conexiones de cada uno.
Una vez desconectado, puedes usar las funciones CopyFile (unit Windows) o tambien MoveFile y MovoFileEx (tambien en la unit windows).
Ejemplo:

Código Delphi [-]
function Backup(origen, destino :string) : String; 
begin
   //Primero desconectamos todo
   Ibtable1.Close;
   IbDataBase1.Connected := False; //o IbDataBase1.Disconnect;

   //intentamos copiar el fichero
   copyfile(origen, destino, False); //El ultimo parametro indica si queremos para si el fichero de destino existe o no. Ponemos false y reescribe el fichero
end;

2 - Usando los componentes de backup-restore que existen por ahí y que dudo que vengan en TurboDelphi, ya que lo desconozco por completo (aun no lo he instalado)

Saludos
Responder Con Cita