Hi,
I have a vb.net program that runs a query against an Oracle database, opens a transaction to a Sql Server database, then inserts all records from the Oracle database query into Sql Server. Current, I am using the code below and the loop to insert data takes a very long time compared to just the actual query to Oracle. what is the fastest way to insert these records to sql Server?
Dim cnx As New OracleClient.OracleConnection(connectString)
Dim cnxSqlServer As New System.Data.SqlClient.SqlConnection
Dim cmd As New OracleClient.OracleCommand()
cmd.Connection = cnx
cnx.Open()
cmd.CommandText = sql
cmd.Connection = cnx
cmd.CommandType = CommandType.Text
cnxSqlServer.ConnectionString = connectStringSQLServer
cnxSqlServer.Open()
Dim transaction = cnxSqlServer.BeginTransaction()
Dim reader As OracleClient.OracleDataReader = cmd.ExecuteReader()
Try
If reader.HasRows Then
Do While reader.Read()
INSERT INTO SQL Server Table
Loop
transaction.Commit()
End If
Catch sqlex As SqlException
transaction.Rollback()
Catch ex As Exception
transaction.Rollback()
End Try
http://mytipsfordotnet.blogspot.com/2011/05/sql-bulk-copy.html
-saige-