h0arry Geschrieben 31. Juli 2008 Geschrieben 31. Juli 2008 Hallo liebe Leute, bisher habe ich mit einen Datareader Tabellen aus einer SQL-Datenquelle ausgelesen und auf der Console ausgegeben. (mit einer While-Schleife) Nun stellt sich die Problemstellung das ich aus einer SQL-Datenquelle Daten auslesen und in eine andere Tabelle mit anderen Schema einzufügen möchte. Könnte ich einen Austausch der Daten mit einen, oder zwei Datasets verwirklichen? Stelle mir das so vor oracle 10g table a -> dataset -> hier ein mapping -> dataset der anderen oracle 10g table Wegen der Oracle-Datenquelle kann ich ohne das Framework 3.5SP1 ja kein LINQ nutzen. Hat jemand einen Schubs in die richtige Richtung? H0arry Zitieren
HJST1979 Geschrieben 4. August 2008 Geschrieben 4. August 2008 Wenn ich dich richtig verstehe, dann willst du Daten von einer Tabelle in die andere kopieren ? Brauchst aber keine Ausgabe !? Ich würde überhaupt kein Dataset verwenden ! Sondern für die Tabelle aus der gelesen wird benutzt du den datareader und baust dir für jede Zeile ein Insert-Statement zusammen und setzt dieses ab. Weiß zwar nicht ob das die Performanteste Sache ist aber sie sollte funktionieren. Gruß Hans-Jörg Zitieren
LordHexa Geschrieben 4. August 2008 Geschrieben 4. August 2008 (bearbeitet) Habe es jetzt auch so verstanden, das du einfach die Daten von einer Tabelle, in die andere Tabelle kopieren möchtest. Also einfach die gewünschten Daten z.B. in einen Array einlesen und dann in die andere Tabelle mit normalem Insert-Statment einfügen. Es ist auch die Frage, wie viele Daten du das hast und auch, was genau du mit "anderen Schema" hier meinst. Greetz Bearbeitet 4. August 2008 von LordHexa N/A Zitieren
TDM Geschrieben 5. August 2008 Geschrieben 5. August 2008 Warum überhaupt vom Server holen? Ist doch unnötige Netzwerkauslastung. INSERT INTO <tab_dst> (<cols_dst>) SELECT <cols_src> FROM <tab_src>; :floet: Oder ist es auch ein anderer Server? Zitieren
Amstelchen Geschrieben 5. August 2008 Geschrieben 5. August 2008 ein schema ist ein schema. in diesem falle, wie der vorposter schon angab: INSERT INTO ZIELSCHEMA.ZIELTABELLE (COL1, COL2, COLn) SELECT COL1, COL2, COLn FROM QUELLSCHEMA.QUELLTABELLE voraussetzung ist, dass der zugreifende user auf das jew. schema GRANT SELECT / GRANT INSERT rechte besitzt. s'Amstel Zitieren
h0arry Geschrieben 8. August 2008 Autor Geschrieben 8. August 2008 Hallo, Habe es jetzt auch so verstanden, das du einfach die Daten von einer Tabelle, in die andere Tabelle kopieren möchtest. Also einfach die gewünschten Daten z.B. in einen Array einlesen und dann in die andere Tabelle mit normalem Insert-Statment einfügen. Es ist auch die Frage, wie viele Daten du das hast und auch, was genau du mit "anderen Schema" hier meinst. Greetz genauso habe ich das auch umgesetzt. Ein select /insert ging nicht, da die Daten teilweise ungültige Einträge hatten. Ich habe dann ein Array befüllt und die Datensätze bereinigt. Danke an alle die mir geholfen haben Harry Zitieren
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.