Sybaris Geschrieben 18. Mai 2010 Teilen Geschrieben 18. Mai 2010 Hallo zusammen, ich habe eine ganz konkrete Frage: Wir müssen Tabellen 1:1 (inklusive bestehendem Primary Key) aus einer SQL-Server CE DB in eine Oracle-DB kopieren. Die SQL Server CE DB liefern wir quasi zum Kunden mit aus und vor Ort sollen diese System-Daten in eine frisch angelegte Oracle-DB auf einem Server übernommen werden. Wir verwenden C# und .NET 3.5 SP1. Was ich bisher (erfolglos) versucht habe: *) Kopieren der Daten über zwei DbDataAdapter - funktioniert grundsätzlich, allerdings gehen dabei die Primary Keys verloren (werden also beim Einfügen neu nummeriert). Das hatte ich auch erwartet, da dieser Weg ja ein einfaches Kopieren ist, bei dem die Ziel-DB die Primary Keys neu vergibt. *) Kopieren der Tabellen per Bulk-Copy - funktioniert auch und ist auch sauschnell, allerdings bei Oracle erst ab 11.2 verfügbar und wir müssen mit Version 10.2 arbeiten. *) Kopieren per "SELECT INTO" oder "INSERT INTO". Dabei muss allerdings die Ziel-DB mitsamt aller Anmeldedaten ins SQL-Statement eingebaut werden, also in der Art von "SELECT INTO [treiber;userid;pwd].Tabelle..." usw. Bei dem Ansatz habe ich bisher keine Syntax gefunden, mit der dieses Select funktioniert hätte... Vorschläge wären herzlich willkommen! Noch grundsätzlich: Wir müssen diesen Import aus dem Programm heraus machen und können nicht auf externe Programme zurückgreifen (vollautomatischer Update). Weiters ist Oracle nur EINE DB, die wir bedienen müssen - wir haben dann noch SQLServerCE und SQLServer als Ziel-DBs - da wäre also eine allgemeingültige Lösung vorzuziehen (also möglichst keine Oracle-spezifischen Konstrukte, auch wenn das inzwischen als Notlösung in Ordnung wäre) Für Vorschläge wäre ich sehr dankbar! (Bin nicht sicher, ob dieses Forum das richtige ist, da die Problematik ja auch C# und .NET betrifft - wenn nicht, bitte verschieben...) Herzliche Grüße aus Hessen, G. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.