Надеюсь, что кто-то может помочь,
Справочная информация: Есть старая машина, которая помещает данные в файл доступа MS, и нам нужно импортировать таблицу в таблицу SQL, база данных доступа хранит данные за 3 дняа затем удаляет старые данные, идея состоит в том, чтобы каждое утро запускать задачу для вставки новых записей в sql, игнорировать существующие, чтобы мы могли построить график за год.
Я извлек данные из MS accessв Datatable под названием «таблица» и создал имена столбцов в таблице SQL, которая соответствует, я читал о SQL Bulkcopy, но все примеры, которые я видел, находятся в C #, но любые преобразователи кода выдают ошибку, и я не на 100%они сделают то, что я после.
Может кто-нибудь помочь?Пит
Dim count As Integer = 0
Dim table As DataTable = New DataTable
Dim accConnection As New OleDb.OleDbConnection("Provider=Microsoft.JET.OLEDB.4.0; Data Source='C:\Machine.mdb';User Id=admin; Password=;")
Dim sqlConnection As New SqlClient.SqlConnection("Data Source=10.75.24.94;Initial Catalog=CTData;User ID=sql;Password=")
Try
'Import the Access data
accConnection.Open()
Dim accDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM Slot_Vision_Counters_table", accConnection)
accDataAdapter.Fill(table)
accConnection.Close()
'Export to MS SQL
For Each row As DataRow In table.Rows
row.SetAdded()
count = count + 1
Next
Code for inserting the data to SQL?
Catch ex As Exception
If accConnection.State = ConnectionState.Open Then
accConnection.Close()
End If
If sqlConnection.State = ConnectionState.Open Then
sqlConnection.Close()
End If
MessageBox.Show("Import failed with error: " & Environment.NewLine & Environment.NewLine _
& ex.ToString)
End Try