| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
amg129 Ens

Registrado: 11 Oct 2006Mensajes: 44
|
Publicado: Mie 13 Jun, 2007 12:01 pm Asunto: Copia Seguridad Base Datos |
|
|
Hola estoy intentando copiar el archivo de la base de datos (interbase) .gdb.
Y hago esto:
DataModule4->IBDatabase1->Connected=false;
DataModule4->IBTransaction1->Active=false;
DataModule4->Clientes->Active=false;
DataModule4->Obras->Active=false;
AnsiString Origen="C:\\GestorCM\\bd\\GCM.GDB";
AnsiStringDestino="C:\\GestorCM\\CopiaSeguridad\\GCM.GDB";
CopyFile(Origen.c_str(),Destino.c_str(),false);
DataModule4->IBDatabase1->Connected=true;
DataModule4->IBTransaction1->Active=true;
DataModule4->Clientes->Active=true;
DataModule4->Obras->Active=true;
Copiar lo copia, lo que no consigo es restaurarlo.
Para restaurarlo :
DataModule4->IBDatabase1->Connected=false;
DataModule4->IBTransaction1->Active=false;
DataModule4->Clientes->Active=false;
DataModule4->Obras->Active=false;
AnsiString Origen="C:\\GestorCM\\CopiaSeguridad\\GCM.GDB";
AnsiString Destino="C:\\GestorCM\\bd\\GCM.GDB";
CopyFile(Origen.c_str(),Destino.c_str(),false);
DataModule4->IBDatabase1->Connected=true;
DataModule4->IBTransaction1->Active=true;
DataModule4->Clientes->Active=true;
DataModule4->Obras->Active=true;
Hago lo mismo pero a la inversa.
He estado buscando,pero no me aclaro con los ejemplos del Copyfile
Gracias un Saludo |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
amg129 Ens

Registrado: 11 Oct 2006Mensajes: 44
|
Publicado: Mie 13 Jun, 2007 2:14 pm Asunto: |
|
|
Muchas, muchas gracias Angel
Ya te debo varias sidras
Un saludooo |
|
| Volver arriba |
|
 |
Angel Master


Registrado: 15 Abr 2003Mensajes: 2311Ubicación: Toledo (España)
|
|
| Volver arriba |
|
 |
rivo Lt JG

Registrado: 13 Mar 2004Mensajes: 72Ubicación: Asturias (España)
|
Publicado: Mie 13 Jun, 2007 11:26 pm Asunto: |
|
|
Anda amg que no pedirmelo a mi por el msn que ya lo tengo hecho :
como bien dice angel necesitamos los objetos de esa patela.
Codigo para hacer el backup :
| Código: |
String sfecha= DateToStr(Now());
String d,m,a;
d=sfecha.SubString(1,2);
m=sfecha.SubString(4,2);
a=sfecha.SubString(9,2);
String fecha=d+"_"+m+"_"+a;
IBBackupService1->ServerName="Local Server";
IBBackupService1->LoginPrompt=False;
//IBBackupService1->Active = True;
IBBackupService1->Params->Add("user_name=sysdba");
IBBackupService1->Params->Add("password=masterkey");
IBBackupService1->Active = True;
try
{
IBBackupService1->Verbose = True;
TBackupOption IgnoreLimbo, NonTransportable;
IBBackupService1->Options<<IgnoreLimbo<<NonTransportable>DatabaseName =ExtractFilePath(Application->ExeName)+"\HOBBYSOFTBD.GDB";
IBBackupService1->BackupFile->Add(ExtractFilePath(Application->ExeName)+"\copias_de_seguridad\\"+fecha+".gbk");
ModuloSQL->IBTransaction1->Active=true;
ModuloSQL->IBTransaction1->Commit();
IBBackupService1->ServiceStart();
while (!(IBBackupService1->Eof))
{
BackupMemo->Lines->Add(IBBackupService1->GetNextLine());
}
}
__finally
{
IBBackupService1->Active = false;
}
ShowMessage("Copia de seguridad creada corectamente en la ruta "+ ExtractFilePath(Application->ExeName)+"\copias_de_seguridad\\"+_fecha+".gbk");
this->Close();
|
codigo para restaurar :
| Código: |
try
{
ModuloSQL->IBTransaction1->Active=true;
ModuloSQL->IBTransaction1->Commit();
ModuloSQL->IBDatabase1->CloseDataSets();
ModuloSQL->IBDatabase1->Close();
IBRestoreService1->ServerName="Local Server";
IBRestoreService1->LoginPrompt=False;
IBRestoreService1->Params->Add("user_name=sysdba");
IBRestoreService1->Params->Add("password=masterkey");
IBRestoreService1->Active=True;
IBRestoreService1->Verbose=True;
TRestoreOption Create, UseAllSpace;
IBRestoreService1->Options<< Replace<<UseAllSpace>PageBuffers=3000;
IBRestoreService1->PageSize=4096;
OpenDialog1->Execute();
if(OpenDialog1->FileName.IsEmpty())
return;
IBRestoreService1->BackupFile->Add(OpenDialog1->FileName);
IBRestoreService1->DatabaseName->Add(ExtractFilePath(Application->ExeName)+"\HOBBYSOFTBD.GDB");
IBRestoreService1->ServiceStart();
while (!(IBRestoreService1->Eof))
{
RestoreMemo->Lines->Add(IBRestoreService1->GetNextLine());
}
}
__finally
{
IBRestoreService1->Active= False;
ModuloSQL->IBDatabase1->DatabaseName=ExtractFilePath(Application->ExeName)+"\HOBBYSOFTBD.GDB";
ModuloSQL->IBDatabase1->Open();
}
ShowMessage("Copia de Seguridad Restaurada satisfactoriamente");
this->Close();
|
a mi este codigo me funciona bien espero que a ti tb.
un saludo!! |
|
| Volver arriba |
|
 |
|