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?
|
#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.
|
#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.
|
#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?
|
#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. |
#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. |
#17
|
||||
|
||||
Haré la prueba y ya os diré. Gracias.
|
#18
|
||||
|
||||
Efectivamente ese era el problema. Muchas gracias por iluminarme.
|
|
|
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 |
|