User since
2008-05-05
10
Artikel
BenutzerIn
Hallo zusammen!
Die Suche hat nichts ergeben, deswegen frag ich mal in einem eigenen Thread:
Ich möchte gerne eine MySQL Datenbank mit einem Perl-Script exportieren.
Mein Ansatz wäre die Metadaten der Datenbank auslesen, daraus SQL-Statements generieren lassen, um die Struktur der Tabellen zu erhalten.
Danach gewünschte Records einfach auslesen und Ebenfalls in ein SQL-Statement umformen.
Das Ergbnis des Export soll in 2 SQL-Dateien gespeichert werden, die ich dann als tar.gz-file zum download anbieten will.
Nun die eigentliche Frage:
Gibt es ein Perl-Modul was mir das auslesen der Meta-daten der DB ermöglicht?
In der Beschreibung von zB DBI:mysql habe ich leider nicht gefunden.
Oder sollte ich einen komplett anderen Weg gehen?
Ideen, Anregungen und Beispiele sind sehr willkommen.
Wichtig ist, dass der Export (der große Ähnlichkeit mit phpMyAdmin haben soll) durch ein Perl-Script realisiert wird und nicht über mysqldumb oder ähnliches.
Danke für Eure Hilfe!
User since
2003-08-07
2921
Artikel
BenutzerIn
DBD::mysql enthält treiberspezifische Informationen, wenn, dann müsste deins in DBI stehen.
Die Metainformationen kannst du mit Letzterem auslassen.
Grüße, pktm
User since
2005-08-17
1420
Artikel
BenutzerIn
Mdui+2008-05-05 16:59:38--Wichtig ist, dass der Export (der große Ähnlichkeit mit phpMyAdmin haben soll) durch ein Perl-Script realisiert wird und nicht über mysqldumb oder ähnliches.
Meines Wissens nutzt phpmyadmin hierfür aber auch nur mysqldump. Kann mich aber auch irren.
User since
2008-05-05
10
Artikel
BenutzerIn
Danke für die Anregungen, werde mal beides überprüfen. Ich meld mich wieder wenn ich irgendwo häng :)
EDIT:
Ich habe mich inzwischen doch entschieden den Export per mysqldump zu machen.
Klappt auch wunderbar.
Jetzt habe ich ein anderes Problem:
Ich möchte den Export auf eine andere Datenbank einspielen, ist kein problem, mach ich mit Backticks und mysql.
Aber wie kann cih hierfür eine Fehlerroutine bauen? Was gibt mysql als Exit-Status bei erfolgreichem Import aus? Dann könnte ich das ganze über system() verfizieren.
Oder jemand andere Ideen?
Danke
EDIT:
Hat sich auch erledigt inzwischen :)