Peter Rehm's Blog

apple,development,life & more

MSSQL to MySQL konvertieren

Ohne Kommentare

In einem aktuellen Projekt stand ich vor der Herausforderung, dass die bisherige Datenbank
in MSSQL gehalten wurde, und ich die Datenbank nur umständlich über ein Weboberfläche
"verwalten" konnte.

Da ich wenigstens die aktuelle Datenstruktur ansehen wollte, den Code der zu dem Projekt
gehört kann eh nicht weiterverwendet werden, musste ich irgendwie ein SQL Statement
erzeugen, was mit dem Tool aber nicht möglich war.

Dann stieß ich auf das MySQL Migration Toolkit, mit welchem man an sich
komfortabel eine MSSQL Datenbank auslesen könnte, und direkt in eine MySQL Datenbank
schreiben kann. Allerdings war, wie nicht anders zu erwarten, der SQL Server nicht von außen
zugänglich.

Die einzige Lösung die somit noch blieb war über ein PHP/ASP Skript, was direkt auf dem
Server liegen kann und soch somit auch verbinden kann. Nach längerer Suche stieß ich auf
das Greenlight SQL Tool.

Aus dem heruntergeladenen ZIP Archiv muss man nur noch die dumpdb.php hochladen und
anpassen. In meinem Fall wollte ich eine MSSQL DB auslesen und in ein MySQL Format bringen.

Standardmäßig sieht der erste teil der Config so aus

CODE:
$dbpasswd = @$HTTP_POST_VARS["dbpasswd"];
$dbhost = (! empty($HTTP_POST_VARS["dbhost"])) ? $HTTP_POST_VARS["dbhost"]
    : "localhost";
$dbname = @$HTTP_POST_VARS["dbname"];
$dbuser = @$HTTP_POST_VARS["dbuser"];
$dbtype = (! empty($HTTP_POST_VARS["dbtype"])) ? $HTTP_POST_VARS["dbtype"]
    : (function_exists("mssql_connect") ? "mssql" : "mysql");
$targetType = (! empty($HTTP_POST_VARS["targetType"]))
     ? $HTTP_POST_VARS["targetType"] : $dbtype;


Woher die HTTP_POST_VARS kommen sollen, war mir unklar daher habe ich das wie folgt
angepasst.

CODE:
$dbpasswd ='pass';
$dbhost = 'localhost';
$dbname = 'db123';
$dbuser = 'user123';
$dbtype = 'mssql';
$targetType = 'mysql';


Nun kann man das Skript über den Browser aufrufen und erhält die Datei direkt zum
Download. Ist dies nicht der Fall fehlt vermutlich PEAR::DB, welches unbedingt vorhanden
sein muss.

Dies kann man allerdings auch direkt in das Verzeichnis hochladen, wenn PEAR nicht
direkt gegeben ist. Auf dies komme ich in einem der nächsten Blog Einträge zurück.

Geschrieben von Peter Rehm

19.03.2007 um 09:19:21

Abgelegt in Programmierung

0 Trackbacks zu MSSQL to MySQL konvertieren

Trackback-URL für diesen Eintrag

  1. Keine Trackbacks

0 Kommentare zu MSSQL to MySQL konvertieren

  1. Noch keine Kommentare

Kommentar schreiben

BBCode-Formatierung erlaubt
Umschließende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur für eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische Übertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies unterstützen muss, um dieses Verfahren anzuwenden.
CAPTCHA

Kommentare werden erst nach redaktioneller Prüfung freigeschaltet!