Tools für Migration von SQL Server 2005...?

Hallo,

will meine bestehende SQL Server 2005 Datenbank abschaffen und diese in eine PostgreSQL-Datenbank migrieren.

Kennt ihr irgenwelche Tools die eine solche Migration unterstützen???

mfg Micha

Schau mal, ob Du hier was findest:

http://www.postgresql.org/docs/techdocs.3

Andreas

Das hilft mir nicht weiter… Gibt es auch Skripte für Windows, mit denen man die Migration von SQL Server 2005 zu PostgreSQL durchführen kann…?


mfg micha

Mehr als diesen Link kann ich Dir nicht nennen, sorry. Aber ich bezweifle, daß Microsoft oder ein Dritter Hersteller dazu was liefern, zumindest kaum was kostenfreies.

Wie weit kommst Du denn, kannst Du einen SQL-Dump machen, der die nötigen DDL-Befehle und die Daten enthält?

Evtl. sollte es auch via ODBC gehen, also daß man 2 Verbindungen macht und darüber arbeitet. Aber Erfahrung hab ich da keine. Vielleicht andere wie fristo oder so.

Habe jetzt die Tabellenstruktur auf dem PostgreSQL-Server herstellen können und die Daten habe ich in gesonderten Text-Dateien.

Wie ich kann ich die Daten nun ins PostgreSQL imortieren???

Am einfachsten mit COPY. Die Daten sollten dazu mit TABULATOR oder einem anderen, in den Daten nicht vorkommenden, Trennzeichen getrennt sein. CSV halt.

Gib mal im psql ein: \h copy


Andreas

OK. Probiere das so… Was muss ich in die eckige Klammer hineinschreiben, wo etwas von column steht? Und wie?

Bei mir gibt es dort einen Fehler… ?!? (Syntax error)

Simples Bleistift:

kretschmer@pegasus:~$ cat foobar.txt
1       Das ist ein Test
2       noch einer weitere Zeile
\.
kretschmer@pegasus:~$

Das wäre also der Inhalt meiner Datei, die Daten enthölt. Nun baste ich eine Table und kopiere den Scheiß da rein:

test=# create table foobar (i int, t text);
CREATE TABLE
test=*# copy foobar from '/home/kretschmer/foobar.txt';
COPY
test=*# select * from foobar;
 i |            t
---+--------------------------
 1 | Das ist ein Test
 2 | noch einer weitere Zeile
(2 rows)

Klarer jetzt?

Andreas

COPY Artikelgruppe_Aufbereitungsabschnitt_Arbeitsplan
FROM {‘C:\an.csv’ | STDIN}

Jetzt hab ich einen Fehler nach dem FROM bei der geschweiften Klammer… :angry:
Die Datei liegt auf c…

Du wirst wohl das "" mit einem extra "" escapen müssen, vermutlich…

Hab den Fehler entdeckt…

Beim Ausführen hab ich jetzt das nächste Problem…

ERROR: invalid input syntax for integer: “1,2,-1,25BLHEMEDVANTW00071,VANTW00071,20061124173342,25BLHEMEDVANTW00071,25BLHEMEDVANTW00071”
SQL Status:22P02
Kontext:COPY Transportwagen, line 1, column Transportwagen: “1,2,-1,25BLHEMEDVANTW00071,VANTW00071,20061124173342,25BLHEMEDVANTW00071,25BLHEMEDVANTW00071”

Laut meiner Tabellendefinition sind die beiden ersten Werte integer… Was ist nun noch falsch???

vermutlich das Trennzeichen.

Andreas

hallo micha019

habe die erfahrung gemacht daten von irgendwo nach pg
über msaccess und odbc gehen.
dazu müssen 2 odbc verbindungen eingerichtet werden

  1. odbc von irgendwo nach msaccess
  2. auf die db in pg

aber achtung wenn deine pg-db in utf8 ist gibts probleme
geht auch massenweise mit batch über ogr2ogr (odbc)