![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
|
Problemas con TIBRestoreService
Tengo este código en BCB 6 para restaurar un BB.DD. hecha con FB 2.5:
Código:
try
{
Query1->Transaction->Active = false;
Afiliados->Connected = false;
IBRestoreService1->LoginPrompt = false;
IBRestoreService1->Params->Add("user_name=sysdba");
IBRestoreService1->Params->Add("password=masterkey");
IBRestoreService1->DatabaseName->Add(Afiliados->DatabaseName);
IBRestoreService1->BackupFile->Add(pItem->SubItems->Strings[2]);
IBRestoreService1->Active = true;
IBRestoreService1->ServiceStart();
while (IBRestoreService1->IsServiceRunning)
Memo1->Lines->Add(IBRestoreService1->GetNextLine());
}
__finally
{
IBRestoreService1->Active = false;
Afiliados->Connected = true;
Query1->Transaction->Active = true;
}
![]() El error, al menos así lo interpreto, parece indicar que la base de datos está en uso ¡cuando acabo de cerrarla al inicio del proceso! |
|
#2
|
||||
|
||||
|
¿Puede que esté siendo usada por otro programa, ibexpert, por ejemplo? ¿el propio bcb?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#3
|
||||
|
||||
|
Debes tener una conexión abierta contra ese fichero en algún otro sitio (aplicación).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#4
|
||||
|
||||
|
No, seguro. Las pruebas las estoy haciendo en local.
|
|
#5
|
||||
|
||||
|
No tiene nada que ver.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
Me refería a que seguro que no hay nada más conectado a la base de datos. Al estar probando en local sé que está conectado o no.
|
|
#7
|
||||
|
||||
|
Prueba a darle un shutdown con gfix, y así te aseguras.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#8
|
||||
|
||||
|
No se me ocurrió. Probaré.
|
|
#9
|
||||
|
||||
|
Yo te iba a decir que justo antes de hacer la prueba reiniciaras el servicio. Si hubiera algo conectado, se desconectará.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi ![]() P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
#10
|
||||
|
||||
|
Retomo este hilo porque no sé por qué está volviendo a fallar. Tengo este código:
Código:
GesInt->Connected = false;
ShellExecute(NULL, "open", AnsiString("C:\Program Files\Firebird\Firebird_2_5\bin\gfix.exe -force").c_str(), "", "", SW_HIDE);
Restore->LoginPrompt = false;
Restore->Params->Add("user_name=sysdba");
Restore->Params->Add("password=masterkey");
Restore->BackupFile->Add(cAux);
Restore->DatabaseName->Add(GesInt->DatabaseName);
Restore->Active = true;
Restore->ServiceStart();
while (Restore->IsServiceRunning)
Memo1->Lines->Add(Restore->GetNextLine());
Restore->Active = false;
GesInt->Connected = true;
Cita:
|
|
#11
|
||||
|
||||
|
¿Recordaste hacer commit o rollback por si hay alguna transacción abierta?
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#12
|
||||
|
||||
|
Cita:
Código:
if (fMenu->tGesInt->Active)
fMenu->tGesInt->Commit();
if (fMenu->tAuxiliar->Active)
fMenu->tAuxiliar->Commit();
fMenu->GesInt->CloseDataSets();
|
|
#13
|
||||
|
||||
|
Si estás restaurando una BD, supongo que no existe una BD con el mismo nombre.
En lugar de "Restore" usa "Create". Aparte de eso, no me queda claro si estás teniendo problemas creando un backup o restaurando una backup.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#14
|
||||
|
||||
|
Gracias por la respuesta. El problema lo tengo al restaurar un backup. La BB.DD. sí existe, pero imagina (me ha ocurrido a veces) que se corrompe alguna tabla): si hago el restore desde SQL Manager, aunque exista, me lo hace bien incluso usando el backup obtenido con la aplicación, y desde el programa antes también restauraba correctamente.
|
|
#15
|
||||
|
||||
|
Corrijo la información que di ayer. El error realmente lo da donde señalo.
|
|
#16
|
||||
|
||||
|
Si existe la BD entonces renómbrala antes de restaurar la nueva.
Seguramente ese Sql manager la borra antes de restaurar.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#17
|
||||
|
||||
|
Haré la prueba y ya os diré. Gracias.
|
|
#18
|
||||
|
||||
|
Cita:
![]() |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| TIBBackupService y TIBRestoreService en maquina con varios firebird | pjmedina | Firebird e Interbase | 0 | 05-05-2015 13:30:51 |
|