Announcement

Collapse
No announcement yet.

gbak per Programm aufrufen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • gbak per Programm aufrufen

    Hallo,

    Ich versuche per Delphi-Programm mittels GBAK eine Interbase Datenbank 5.6 zu sichern (unter Windows-2000 - Datenbank ist auf lokalem Rechner). Es wird die Funktion WinExec2 aus Delphi4Unl verwendet.
    Die Tabellen und die Datenbank sind geschlossen.

    Das Sichern selbst ist möglich.

    Beim Restore erscheint jedoch:

    gbak: opened file Q:\_DATALLE\DAT\BACKUP\HVW.GBK<br>
    gbak: ERROR: could not drop database Q:\_DATALLE\DAT\HVW.GDB (database might be in use)<br>
    gbak: Exiting before completion due to errors<br>

    <b>Frage:</b><br>
    Gibt es die Möglichkeit per Programm den Interbase Server aus- und wieder einzuschalten ?

    Gibt es sonst noch ein Hindernis ?

    Gruss<br>Helmut

  • #2
    Hallo,

    anscheinend hat der aus dem eigenen Prozess abgespaltete GBAK-Aufruf nicht alle Thread- und Process-Handles auf die Datenbankdatei freigegeben. Es gibt nun 2 Alternativen: <br>
    a) InterBase Guardian/InterBase Server über die Win32-API-Funktionen kurzzeitig anhalten (eine Suche nach der Zeichenkette "StartService" oder "OpenSCManager" sollte hier im Forum ein Beispiel dafür liefern) <br>
    b) Einsatz der IBX-Komponente <b>TIBRestoreService</b> im eigenen Programm. Ein Beispiel für den Einsatz kann dem Source-Code der IBConsole entnommen werden

    Comment

    Working...
    X