Announcement

Collapse
No announcement yet.

Backup/Restore mit TIBBackupService klappt nicht !!

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

  • Backup/Restore mit TIBBackupService klappt nicht !!

    Hilfe !!!

    Ich benutze die IBX-Komponente TIBBackupService und TIBRestoreService.
    Wenn ich das Protokoll "Lokal" benutze wird ein Backup erstellt.<br>
    Will ich aber auf eine DB auf einem NT-Server mit Interbase ein Backup erstellen, bekomme ich die Fehlermeldung:<br>
    <br>
    "Error reading data from the connection"<br>
    <br>
    Eine Connection über eine TIBODatabase kann ich aber herstellen und
    ein Backup mit der IBConsole auf dem Server funktioniert auch.<br>
    <br>
    Welche Parameter habe ich vergessen?<br>
    <br>
    fIBBackupService->Protocol = TCP;<br>
    fIBBackupService->ServerName = "SERVER"<br>
    fIBBackupService->DatabaseName = "SERVER:\\DB\\Datenbank.gdb";<br>
    <br>
    fIBBackupService->BackupFile->Clear();<br>
    fIBBackupService->BackupFile->Add( "Sicherung.bak" );<br>
    <br>
    fIBBackupService->Params->Clear();<br>
    fIBBackupService->Params->Add( "user_name=sysdba" );<br>
    fIBBackupService->Params->Add( "password=masterkey" );<br>
    fIBBackupService->Verbose = false;<br>
    fIBBackupService->LoginPrompt = false;<br>
    fIBBackupService->Active = true;<br>
    fIBBackupService->ServiceStart();<br>
    <br>
    ...

  • #2
    Hi Bernd Eickers,

    das geht. Hab es selbst ausprobiert. Backup und Restore sind möglich. Hier mal das Beispiel aus der Hilfe zum Backup-Service.

    This example shows a component that backs up a database with the click of a button. The second example shows how to back up a database to multiple files.

    void __fastcall TForm1::Button1Click(TObject *Sender)

    {
    IBBackupService1->ServerName = "Poulet";
    IBBackupService1->LonginPrompt = false;
    IBBackupService1->Params->Add("user_name=SYSDBA");
    IBBackupService1->Params->Add("password=masterkey");
    IBBackupService1->Active = true;
    try
    {
    IBBackupService1->Verbose = true;
    TBackupOptions opts << NonTransportable << IgnoreLimbo;
    IBBackupService1->Options = opts;
    IBBackupService1->DatabaseName = "c:\\interbase\\examples\\database\\employee.g db";

    IBBackupService1->BackupFile->Add("c:\\temp\\employee1.gbk");
    IBBackupService1->ServiceStart();
    while (!(IBBackupService1->Eof))
    {
    Memo1->Lines->Add(IBBackupService1->GetNextLine());
    }
    }
    __finally
    {
    IBBackupService1->Active = false;
    }
    }

    To back up a database to multiple files:

    void __fastcall TForm1::Button2Click(TObject *Sender)

    {
    IBBackupService1->ServerName = "Poulet";
    IBBackupService1->LonginPrompt = false;
    IBBackupService1->Params->Add("user_name=SYSDBA");
    IBBackupService1->Params->Add("password=masterkey");
    IBBackupService1->Active = true;
    try
    {
    IBBackupService1->Verbose = true;
    TBackupOptions opts << MetadataOnly << NoGarbaseCollection;
    IBBackupService1->Options = opts;
    IBBackupService1->DatabaseName = "c:\\interbase\\examples\\database\\employee.g db";

    IBBackupService1->BackupFile->Add("c:\\temp\\e1.gbk = 2048");
    IBBackupService1->BackupFile->Add("c:\\temp\\e2.gbk = 4096");
    IBBackupService1->BackupFile->Add("c:\\temp\\e3.gbk ");
    IBBackupService1->ServiceStart();
    while (!(IBBackupService1->Eof))
    {
    Memo1->Lines->Add(IBBackupService1->GetNextLine());
    }
    }
    __finally
    {
    IBBackupService1->Active = false;
    }
    }

    Ach ja, bei deinem Code ist ein Server zu viel
    fIBBackupService->Protocol = TCP;
    fIBBackupService->ServerName = "SERVER"

    Hier muß der Server weg: fIBBackupService->DatabaseName = "SERVER:\\DB\\Datenbank.gdb";

    fIBBackupService->BackupFile->Clear();
    fIBBackupService->BackupFile->Add( "Sicherung.bak" );

    fIBBackupService->Params->Clear();
    fIBBackupService->Params->Add( "user_name=sysdba" );
    fIBBackupService->Params->Add( "password=masterkey" );
    fIBBackupService->Verbose = false;
    fIBBackupService->LoginPrompt = false;
    fIBBackupService->Active = true;
    fIBBackupService->ServiceStart()

    Comment

    Working...
    X