Я хочу вставить данные из удаленной базы данных MSSQL в локальную базу данных MSSQL. Но должно быть одно условие, для вставки будут выбраны только те данные, которых нет в моей локальной базе данных. Я могу заполнить набор данных или данные из удаленных данных и обновить локальную таблицу данных. Но получаю ошибку после первой успешной вставки. Ошибка связана с вставкой дубликатов данных. Так есть ли способ, с помощью которого я могу выбрать только те данные из заполненного набора данных или данных, которых нет в моей локальной базе данных database.table? Мой код ниже.
Imports System.Data
Imports System.Data.Sql
Imports System.Data.SqlClient
Imports System.Data.DataTable
Imports System.Data.DataSet
Class MainWindow
Dim dsl As New DataSet()
Dim dal As New SqlDataAdapter()
Dim conr As String = ("Data Source=MOONLOADER\MSSQLSERVER2005;Initial Catalog=SSBYM;User ID=sa;Password=sasa;")
Dim cnr As New SqlConnection(conr)
Dim conl As String = ("Data Source=MOONLOADER\MSSQLSERVER2005;Initial Catalog=SSBY;User ID=sa;Password=sasa;")
Dim cnl As New SqlConnection(conl)
Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
Try
'UPDATING URNLIST
dal.SelectCommand = New SqlCommand("select URN from TxnEnrollment", cnr)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "URNLIST")
Dim dar As New SqlDataAdapter("select * from URNLIST", cnl)
Dim U As SqlCommandBuilder = New SqlCommandBuilder(dar)
dar.Update(dsl, "URNLIST")
'UPLOADING ENROLLMENT DATA
dal.SelectCommand = New SqlCommand("select * from TxnEnrollment where Personalized='1' and URN not in (SELECT URN FROM URNLIST)", cnl)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "TxnEnrollment")
Dim dar0 As New SqlDataAdapter("select * from TxnEnrollment where Personalized='0'", cnr)
Dim U0 As SqlCommandBuilder = New SqlCommandBuilder(dar0)
dar0.Update(dsl, "TxnEnrollment")
'UPLOADING DEPENDENT DATA
dal.SelectCommand = New SqlCommand("select * from TxnDependents where Enrolled='1' and URN not in (SELECT URN FROM URNLIST)", cnl)
dal.AcceptChangesDuringFill = False
dal.Fill(dsl, "TxnDependents")
Dim dar1 As New SqlDataAdapter("select * from TxnDependents where Enrolled='0'", cnr)
Dim U1 As SqlCommandBuilder = New SqlCommandBuilder(dar1)
dar1.Update(dsl, "TxnDependents")
cnl.Close()
cnr.Close()
MessageBox.Show("Uploaded Successfully")
Catch ex As Exception
MessageBox.Show(ex.Message.ToString())
End Try
End Sub
End Class