2012-03-15 25 views

回答

1

根據MSDN: SqlBulkCopy.BatchSize -

如果SqlBulkCopy的實例已經沒有效果 UseInternalTransaction選項聲明,行同時發送到服務器 BATCHSIZE行,但沒有交易相關行動拍攝。 如果UseInternalTransaction生效,則將每批行插入 作爲單獨的事務。

BatchSize屬性可以隨時設置。如果批量複印件 已在進行中,則當前批次的尺寸將根據 以前的批量尺寸確定。隨後的批次使用新的尺寸。如果 批處理大小初始爲零,並且在WriteToServer操作正在進行時發生更改,則該操作會將數據加載爲單批次 。在同一個 SqlBulkCopy實例上的任何後續WriteToServer操作都使用新的BatchSize。

基於這些信息,我傾向於認爲將批量大小設置爲10k行並且您提供12k +,將創建多個批次。

+0

是不是特別清楚。我想我會暫時假設它會暫時停止,除非其他人籌碼。謝謝你的幫助。 – 2012-03-15 15:07:32

+0

你是對的我終於得到了我的程序工作並測試了上面的內容,即上傳了15行,批量大小爲10.所有行都添加了。再次感謝您的幫助,非常感謝! – 2012-03-15 21:30:17