我不知道爲什麼數據沒有進入SQL。有人可以檢查一下,看看我的代碼有什麼問題嗎?我最下面的代碼從和MSDN頁:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.110).aspx使用SqlBulkCopy插入到SQL
Dim connectionString As String = "Server= "<servername>"; integrated security=true"
Using sourceConnection As SqlConnection = _
New SqlConnection(connectionString)
sourceConnection.Open()
Dim commandSourceData As SqlCommand = New SqlCommand(<TSQL>), sourceConnection)
Dim reader As SqlDataReader = commandSourceData.ExecuteReader
Using destinationConnection As SqlConnection = _
New SqlConnection(connectionString)
destinationConnection.Open()
Using bulkcopy As SqlBulkCopy = _
New SqlBulkCopy(destinationConnection)
bulkcopy.DestinationTableName = _
"<tableName>"
Try
bulkcopy.WriteToServer(reader)
Catch ex As Exception
Console.WriteLine(ex.Message)
Finally
reader.Close()
End Try
End Using
End Using
sourceConnection.Close()
End Using
是否有錯誤訊息?源查詢是否導致任何記錄?這應該不重要,但爲了以防萬一在bulkcopy.WriteToServer(reader)之前添加'bulkcopy.BatchSize = 500'和'bulkcopy.BulkCopyTimeout = 2400'。批量優化運行,但在這種情況下應該不會有太大影響,您可以使用值來查看哪個編號最適合您。如果您遇到超時情況,'bulkCopy.BulkCopyTimeout'實際上可能會有所幫助。 – George 2014-10-29 18:34:19
您是批量複製到新表還是已經存在的表?如果有新表,它確實存在嗎?如果不存在,我不相信批量複製會創建一個表。如果已經存在,那麼遵循Tim的建議。我不會在你的邏輯中看到任何特定的錯誤,你的代碼實際上非常接近我的,並且在批量複製到臨時表時我沒有使用'ColumnMappings'。 PS:爲了統治我們愚蠢而明顯的東西,「」不是真正的目的地名稱,是嗎? –
George
2014-10-29 19:19:53
沒有錯誤信息。我正在複製到我的數據庫中的現有表。並且,不,ha,僅用於此發佈。我正在閱讀更多關於ColumnMappings的內容,但還沒有多少運氣。 –
2014-10-29 20:04:05