I am trying to update multiple tables from local mysql database to remote mysql database. Following code I am using for insert/update the remote table. But I am getting the following error.
System.InvalidOperationException: 'Update unable to find TableMapping['productexceltemplatetransfer'] or DataTable 'productexceltemplatetransfer'.'
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
aDt = RetDatatable(strSql, <<Local Connection String>>)
'da.Fill(ds)
ds = New DataSet(transtblDT.Rows(i).Item("tablename").ToString)
ds.Tables.Add(aDt)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next
Requesting your help how to resolve this issue.
CodePudding user response:
Now I have changes the code and it is working fine.
Dim tblStr As String = "select id,tablename from transtablename"
Dim transtblDT As DataTable = RetDatatable(tblStr, <<Local Connection String>>)
For i As Integer = 0 To transtblDT.Rows.Count - 1
Dim ds As New DataSet
strSql = "select * from " & transtblDT.Rows(i).Item("tablename").ToString
Using mcon As New MySqlConnection(<<Local Connection String>>)
Dim da As New MySqlDataAdapter(strSql, mcon)
mcon.Open()
da.Fill(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Using mcon As New MySqlConnection(<<Remote Connection String>>)
Dim da As New MySqlDataAdapter("SELECT * FROM " & transtblDT.Rows(i).Item("tablename").ToString, mcon)
Dim cb As New MySqlCommandBuilder(da)
mcon.Open()
For j As Integer = 0 To ds.Tables(0).Rows.Count - 1
ds.Tables(0).Rows(j).SetAdded()
Next j
da.Update(ds, transtblDT.Rows(i).Item("tablename").ToString)
mcon.Close()
End Using
Next
