VB und Oracle

08/02/2008 - 20:02 von Erich Scholz | Report spam
Hi folks,

ich muss Datensàtze aus einer Oracle-DB in die andere kopieren. Die
Tabellen heißen gleich und haben garantiert die gleiche Struktur.
Weil's aber unterschiedliche DBs (SIDs) sind, geht's nicht einfach mit
einem SQL.

Bitte Codeschnipsel, oder Hinweis.

Dim cn1 As New ADODB.Connection
Dim cn2 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset

cn1.Open(OracleProvider1,"","",-1)
cn2.Open(OracleProvider2,"","",-1)

rs1.Open("SELECT * FROM schema.tab WHERE ...",cn1,...)_

Do While Not rs1.EOF
' Hier fehlt mir die zündende Idee wie man
' von rs1 nach rs2 schiebt und dort speichert.

rs1.MoveNext()
Loop


Danke und viele Grüße
Erich
 

Lesen sie die antworten

#1 Ingo Moch
08/02/2008 - 22:05 | Warnen spam
Hallo Erich,

"Erich Scholz" schrieb:

ich muss Datensàtze aus einer Oracle-DB in die
andere kopieren. Die Tabellen heißen gleich und
haben garantiert die gleiche Struktur. Weil's
aber unterschiedliche DBs (SIDs) sind, geht's
nicht einfach mit einem SQL.



ein DBLink tut's nicht?

Dim cn1 As New ADODB.Connection
Dim cn2 As New ADODB.Connection
Dim rs1 As New ADODB.Recordset
Dim rs2 As New ADODB.Recordset



Dim fld As ADODB.Field

cn1.Open(OracleProvider1,"","",-1)
cn2.Open(OracleProvider2,"","",-1)

rs1.Open("SELECT * FROM schema.tab WHERE ...",cn1,...)_

Do While Not rs1.EOF
' Hier fehlt mir die zündende Idee wie man
' von rs1 nach rs2 schiebt und dort speichert.



For Each fld In rs1.Fields
rs2.Fields(fld.Name).Value = fld.Value
Next fld
rs2.Update


rs1.MoveNext()
Loop



HTH
Ingo

Ähnliche fragen