Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi MySQL Dump ziehen mit Delphi (https://www.delphipraxis.net/174290-mysql-dump-ziehen-mit-delphi.html)

Back2Code 15. Apr 2013 12:35

Datenbank: MySQL • Version: 50529 • Zugriff über: UniDac + DbGrid

MySQL Dump ziehen mit Delphi
 
Hallo zusammen,

ich arbeite derzeit an einem MySQL DB Verwaltungstool und würde gerne ein paar Optionen mit rein bringen.

Bisher hab ich nur die Option "Datenbank leeren". Dies geschieht ja per Truncate.

Gibt es eine Möglichkeit um eine komplette Datenbank zu dumpen und dann lokal z.b im Programmverzeichnis zu speichern?

Wenn ja, wie?

EDIT: Hab gerade die Komponente "UniDump" gefunden. Denke darüber wird es gehen. Leider fehlt mir die nötige Erfahrung wie man diese Komponente richtig anspricht.

DataCool 15. Apr 2013 13:10

AW: MySQL Dump ziehen mit Delphi
 
Hi Robin,

ich finde die Komponente TUniDump eigentlich mehr oder weniger selbst erklärend.
Die Optionen die gewählt werden können sind denen des MySQL Administrators(Backup-Funktion) ziemlich ähnlich.

Um ein Dump zu erstellen setzt Du einfach die Property Connection mit Deinem Connection Objekt zur Datenbank.
Dann kannst Du der Property "TablesNames" Komma separiert die Liste der Tables die gedumpft werden sollen zuweisen,
wenn du der Eigenschaft nichts zuweist werden alle vorhandenen Table gedumpt.

Gestart wird das Dump mit:
Delphi-Quellcode:
// z.B.
UniDump1.BackupToFile('C:\Dumps\myDump.sql');
// oder
var fs : TFileStream;
// ...
UniDump1.BackupToStream(fs);
Zum Rücksichern/Wiedereinspielen eines Dumps einfach die analogen Methoden Restore, RestoreFromFile und RestoreFromStream verwenden.

Greetz Data

Back2Code 15. Apr 2013 13:23

AW: MySQL Dump ziehen mit Delphi
 
Danke @DataCool

Die Procedure hatte ich auch gefunden, aber mir war noch nicht so ganz klar wie ich die Parameter genau einsetze.

Hab es jetzt so gelöst und das läuft einwandfrei.

Delphi-Quellcode:
procedure TFrmCfg.SQLDump;
begin
  try
    UniDump.Connection.Connect;
    UniDump.TableNames := table;
    UniDump.BackupToFile(ExtractFilePath(Application.Exename) + 'Table Dump from ' + table + FormatDateTime('dd.mm.yyyy hh.nn.ss', now) + '.sql');
  finally

  end;
end;

Sir Rufo 15. Apr 2013 13:58

AW: MySQL Dump ziehen mit Delphi
 
Er schreibt in Anwendungsverzeichnis ...
Er hat Jehova gesagt ... :mrgreen:

Back2Code 15. Apr 2013 14:16

AW: MySQL Dump ziehen mit Delphi
 
Zitat:

Zitat von Sir Rufo (Beitrag 1211536)
Er schreibt in Anwendungsverzeichnis ...
Er hat Jehova gesagt ... :mrgreen:

Ist daran irgendwas falsch oder verwerflich? Welches Verzeichnis sollte ich stattdessen nehmen?

taveuni 15. Apr 2013 14:22

AW: MySQL Dump ziehen mit Delphi
 
Z.B. eine von 10 Millionen Seiten mit diesem Thema.

DataCool 15. Apr 2013 14:28

AW: MySQL Dump ziehen mit Delphi
 
Zitat:

Zitat von Robin2k (Beitrag 1211538)
Zitat:

Zitat von Sir Rufo (Beitrag 1211536)
Er schreibt in Anwendungsverzeichnis ...
Er hat Jehova gesagt ... :mrgreen:

Ist daran irgendwas falsch oder verwerflich? Welches Verzeichnis sollte ich stattdessen nehmen?

Jemand werfe den ersten Stein ;-)

Bummi 15. Apr 2013 14:39

AW: MySQL Dump ziehen mit Delphi
 
@DataCool bist Du frei von Sünde?

Back2Code 15. Apr 2013 16:13

AW: MySQL Dump ziehen mit Delphi
 
Aso eine Frage hätte ich noch,

wie könnte ich den Dump mithilfe des SaveDialogs verwirklichen?

Lemmy 15. Apr 2013 19:45

AW: MySQL Dump ziehen mit Delphi
 
Vielleicht solltest Du noch mal zu dem Punkt Einsteigertutorials zurück gehen ?

Delphi-Quellcode:
  if SaveDialog1.Execute then
    UniDump.BackupToFile(SaveDialog1.FileName);

P.S.:
"Ist hier Weibsvolk anwesend" :-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:48 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz