PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MSSQL -> MySQL



ComSubVie
20-04-2002, 12:01
Hi

ich habe einen MSSQL 6.5-Server (den irgendwer mal vor zigtausendjahren aufgesetzt hat), der demnächst wohl den Geist aufgeben wird. Gibt es eine Möglichkeit, die (SQL)Benutzer & Daten auf einen MySQL-Server zu exportieren / konvertieren?

lg

TheDodger
20-04-2002, 19:13
Ich kenne den mssql-server nicht, aber prüfe doch mal, ob dieser nicht einen datenexport (als sql-statements) in eine datei bringt.
diese könnte man dann einfach auf dem mysql-server ausführen.
mysql kann IMHO so einen export fahren ... (hmm, und ich kann mich stumpf errinnern, das die oracle das auch bringt)

ComSubVie
20-04-2002, 19:22
tja, leider hab ich bisher noch nicht so was wie "mssqldump -A" gefunden.... ich kenn mich mit dem m$sql auch überhaupt nicht aus, auch deswegen will ich auf MySQL umsteigen.

netzmeister
20-04-2002, 23:07
Hallo,

auch mssql kann einen Export! Die Frage ist nur, ob Du das nachher
auch wieder einlesen kannst. Wahrscheinlich ist da schon etwas Handarbeit
angesagt.

Schaue mal auf den Software-Cds. Das wird glaube ich nicht mitinstalliert.

Viele Grüsse

Eicke

Sucht
23-04-2002, 23:31
Mit dem Powerdesigner kannst du ein Re-Engenering der Datenbank machen
und es als SQL-File für MYSQL abspeichern und dann in MYSQL wieder einlesen
ist aber nicht gerade billig das Teil.

Christoph
24-04-2002, 12:04
Ohne ein bisschen Aufwand geht das nicht.
Aber wenn du keine Angst vor Datenbanken hast, dann geht's
z.B. wie folgt:

a) Schreibe z.B. ein Perl-Skript (Perl:DBI hat bestimmt auch einen
Treiber für MSSql, und wenn nicht, dann nimm den ODBC-Treiber),
das Dir zumindest die Datenbanktabellen ausliest.
Für die Benutzerdaten müsstest du die genauen Tabellennamen
im Data-Dictionary kennen, was aber vermutlich bei MSSql-Server
nicht einfach rauszufinden ist.

b) Wenn du nicht programmieren kannst, dann nehme ein Microsoft
Frontend (z.B. Access oder Excel) und lese die Daten via
ODBC aus. Exportiere in eine CSV-Datei und lese die Daten
mit einem Batchimporttool von MySql ein (hat MySql sowas?).

Achtung: wenn das eine Mehrbenutzer-DB ist, oder die Anwender
darauf mit irgendwelcher Clientsoftware zugreifen, dann darfst
du nicht MySql nehmen! MySql kennt nämlich keine Transaktionen und
ist nicht SQL92 kompatibel.
Bessere Alternative: PostgreSql

Christoph

ComSubVie
24-04-2002, 12:23
die Daten werden von einem Uralt-Delphi-Programm (ca. 6 Jahre alt, Source ist verlorengegangen [wenn ich den dawisch!!!]) verwendet. Ich glaub nicht, dass das Ding Transaktionen verwendet... Meines wissens wird da mittels SQL zugegriffen, daher sollte es eigentlich egal sein, was für eine DB dahinter steckt. Ich hab nur keine Ahnung, wie ich die Benutzer(+rechte) sowie die Tabellendeklarationen aus dem M$SQL rauskriege...