Announcement

Collapse
No announcement yet.

datenbank sichern im laufenden Betrieb

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

  • datenbank sichern im laufenden Betrieb

    Hallo,

    ich habe eine C++Builder Anwendung, die TIBDatabase,TIBTransaction und
    TIBDataset nutzt um Daten in eine Firebird DB einzutragen. Das Funktioniert
    alles.

    Jetzt wollte ich mit
    nbackup [-U <user> -P <password>] -L <database>
    copy database
    nbackup [-U <user> -P <password>] -N <database>

    die Datenbank im laufenden Betrieb sichern. Beim Testen hab ich festgestellt,
    dass sich die Datenbank nicht Locken lässt nachdem in meinem Code die Zeile

    IBDataSetDaten->Insert();

    1x ausgeführt wurde.
    d.h. nbackup ... -L .. bleibt dann solange stehen bis das Programm beendet
    wurde obwohl mit

    IBDataSetDaten->Post();
    IBTransaction1->CommitRetaining();

    das Datensatzeinfügen abgeschlossen wird.

    Woran liegt das? bzw. Wie sichert man eine FirebirdDB im laufenden Betrieb richtig?

  • #2
    Mit der Kompo TIBBackupService, zu finden im Register InterBaseAdmin.
    Du musst die entsprechenden Eigenschaften setzen. Params Username Passwort, und DatabaseName, BackupFile..

    Code:
    IBBackUp->Active = true;
    IBBackUp->Verbose = true;
    IBBackUp->ServiceStart();
    while (!IBBackUp->Eof)
             {
             AnsiString asInfo = IBBackUp->GetNextLine();
             Application->ProcessMessages();
             }
    IBBackUp->Active = false;
    Nun kann das BackupFile irgendwohin kopiert werden.

    Comment

    Working...
    X