2009-05-15 5 views
1

Ich muss Daten von Microsoft SQL Server zu MySQL oder PostgreSQL replizieren. Die Daten umfassen Bilder, die in BLOB-Spalten gespeichert sind.Optionen zum Replizieren der Microsoft SQL Server-Datenbank in MySQL/PostgreSQL unter Linux

Könnten Sie bitte Ihre Erfahrungen mit den folgenden Strategien kommentieren und andere vorschlagen, die mir vielleicht fehlen?

  1. benutzerdefinierten Skript in Java geschrieben JDBC mit
  2. Linux-ODBC-Treiber mit Perl-Skript
  3. Einrichtung meiner eigenen Kastenfenster und verwenden SSIS oder DTS w/Postgres ODBC-Treiber
  4. Schreib .net Programm und Zeitplan Ausführung auf Windows-Rechner
  5. FreeTDS

Antwort

1

Mit Blick auf SQL Server-Replikation Technologies können Sie Nicht-SQL Server-Abonnenten verwenden altho Nur Oracle und DB2 werden derzeit offiziell unterstützt, benutzerdefinierte Lösungen wurden erfolgreich implementiert.

http://msdn.microsoft.com/en-us/library/ms151835.aspx

Verwenden von SQL Server Integration Services wäre ein guter Ansatz meiner Meinung nach sein. Sie können bei Bedarf problemlos benutzerdefinierte Komponenten für die Verbindung mit Nicht-SQL Server-Abonnenten erstellen.

1

Python hat gute Bibliotheken für alle drei Datenbanken, und SQLAlchemy macht das Schreiben von db-Sachen einfach. Ich benutze freetds und unixodbc für SQL Server.

Wenn Sie eigentlich die gleiche Tabellenstruktur möchten, macht SQLAlchemy dies besonders einfach, da Sie die Struktur einmal generisch definieren und die Struktur in jeder der drei Datenbanken erstellen können.

+0

Der FreeTDS-Treiber unterstützt keine BLOBs und ich kann keine Tabellen oder Ansichten auf der Quell-DB erstellen. Ich werde einen Blick auf SQLAlchemy werfen. Danke für den Tipp. –