mySql 数据库 table 使用 VB.Net 在本地和远程之间同步

mySql database table sync between Local and Remote using VB.Net

我正在尝试将多个 table 从本地 mysql 数据库更新到远程 mysql 数据库。以下代码用于 insert/update 远程 table。 但是我收到以下错误。

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

请求您帮助解决这个问题。

现在我已经修改了代码,它工作正常。

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