Veröffentlicht 31. Juli 200817 j 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
4. August 200817 j 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
4. August 200817 j 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 200817 j von LordHexa N/A
5. August 200817 j 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?
5. August 200817 j 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
8. August 200817 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.