Buenos días
Estoy intentando copiar los datos de una base de datos de Oracle a otra de igual estructura en Sql Server sin necesidad de tener que recorrer campo por campo para guardarlos, es decir, intento hacer in insert de los datos de oracle a la base de datos de SQL Server; he preguntado en el Foro de MSDN cómo hacerlo con LINQ to SQL, pero no he obtenido respuesta, así es que lo he intentado de otra forma, importando las filas del DataTable de oracle al Datatable de SQL Server.
He creado un formulario con un DataGridView enlazado a un BindingSource (BS_SQL) para ver si se muestran los datos importados al DataTable de SQL Server y hasta ahí todo funciona perfectamente, el problema es que no llega a guardar los datos en la base de datos de SQL Server.
De antemano, gracias por la ayuda que me puedan brindar.
Para mejor ilustración copio el programa:
Try
'Conexión Oracle
strSQL = "SELECT * FROM CURSOS ORDER BY ID_CURSO"
strCnOra = "Data Source=(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = server.es)(PORT = 1531)))(CONNECT_DATA = (SID = PRO01)));" _
+ "User Id=USER;Password=PASS;"
daOra = New OracleDataAdapter(strSQL, strCnOra)
cnOra = New OracleConnection(strCnOra)
cnOra.Open()
daOra.Fill(ds, "CURSOS_ORA")
'Conexión SQL
Me.Text = "CURSOS SQL"
Me.dgv_Tabla.DataSource = BS_SQL
strSQL = "SELECT * FROM CURSOS ORDER BY ID_CURSO"
strCnSQL = "Data Source=SERVERSQL;Initial Catalog=BD;Persist Security Info=True;User ID=sa;Password=PASS"
cnSQL = New SqlConnection(strCnSQL)
cnSQL.Open()
daSQL = New SqlDataAdapter(strSQL, strCnSQL)
cbSQL = New SqlCommandBuilder(daSQL)
cbSQL.QuotePrefix = "["
cbSQL.QuoteSuffix = "]"
daSQL.InsertCommand = cbSQL.GetInsertCommand()
daSQL.UpdateCommand = cbSQL.GetUpdateCommand()
daSQL.DeleteCommand = cbSQL.GetDeleteCommand()
daSQL.Fill(ds, "CURSOS_SQL")
With ds.Tables("CURSOS_SQL")
.AcceptChanges()
.BeginInit()
End With
BS_SQL.DataSource = ds
BS_SQL.DataMember = "CURSOS_SQL"
For Each drOra As DataRow In ds.Tables("CURSOS_ORA").Rows
ds.Tables("CURSOS_SQL").NewRow()
ds.Tables("CURSOS_SQL").ImportRow(drOra)
Next
BS_SQL.EndEdit()
daSQL.Update(ds, "CURSOS_SQL")**
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try