Ok, upravo sam uradio primer koji radi upravo to:
Klijent code:
Dim localCN As New SqlConnection("server=localhost;database=northwind;uid=sa;pwd=;")
Dim localDA As New SqlDataAdapter("SELECT * FROM Employees", localCN)
Dim localBuilder As New SqlCommandBuilder(localDA)
Dim localDS As New DataSet()
localDA.AcceptChangesDuringFill = False
localDA.Fill(localDS)
Dim a As New localhost.Service1()
'Poziv WebMethod-a
a.UpdateBaze(localDS)
localCN.Close()
WebService code:
<WebMethod()> Public Function UpdateBaze(ByVal localDS As DataSet) As String
Dim remoteCN As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("Northwind.mdb") + ";")
Dim remoteDA As New OleDbDataAdapter("SELECT * FROM Employees", remoteCN)
Dim remoteBuilder As New OleDbCommandBuilder(remoteDA)
Dim remoteDS As New DataSet()
remoteDA.Fill(remoteDS)
Dim remoteColArray(1), localColArray(1) As DataColumn
remoteColArray(0) = remoteDS.Tables(0).Columns("EmployeeID")
remoteDS.Tables(0).PrimaryKey = remoteColArray
localColArray(0) = localDS.Tables(0).Columns("EmployeeID")
localDS.Tables(0).PrimaryKey = localColArray
remoteDS.Merge(localDS, False)
remoteDA.UpdateCommand = remoteBuilder.GetUpdateCommand()
remoteDA.InsertCommand = remoteBuilder.GetInsertCommand()
remoteDA.DeleteCommand = remoteBuilder.GetDeleteCommand()
remoteDA.Update(remoteDS)
remoteCN.Close()
UpdateBaze = "Uspesno"
End Function
Nadam se da je to to.
Pozdrav
dotnet