[英]Migrating from SQL DMO to SQL SMO (SQL Server 2012)
我正在將SQL DMO邏輯遷移到SQL SMO邏輯,但不確定如何為某些屬性實現相同的功能。 這是DMO:
oBCP = New SQLDMO.BulkCopy2
With oBCP
.ImportRowsPerBatch = ImportRowsPerBatch
.DataFilePath = Path.Combine(gtSysTempDir, "file.dat")
.LogFilePath = Path.Combine(gtSysTempDir, "file.log")
.ErrorFilePath = Path.Combine(gtSysTempDir, "file.err")
.MaximumErrorsBeforeAbort = 1
.DataFileType = SQLDMO.SQLDMO_DATAFILE_TYPE.SQLDMODataFile_TabDelimitedChar
End With
到目前為止,這是SMO:
trans = New Transfer
With trans
.ImportRowsPerBatch = ImportRowsPerBatch
.TargetDatabaseFilePath = Path.Combine(gtSysTempDir, "file.dat")
.TargetLogFilePath = Path.Combine(gtSysTempDir, "file.log")
'.ErrorFilePath = Path.Combine(gtSysTempDir, "file.err")
.MaximumErrorsBeforeAbort = 1
.DataFileType = SQLDMO.SQLDMO_DATAFILE_TYPE.SQLDMODataFile_TabDelimitedChar
End With
ImportRowsPerBatch(BatchSize?),ErrorFilePath,MaxErrorsBeforeAbort和DataFileType的等效項(如果存在)是什么? 謝謝。
盡管MSDN說了什么 ,但是Transfer
實際上並不等同於BulkCopy2
; 它用於腳本化/復制整個數據庫,而BulkCopy2
僅用於批量復制數據。 這些設置根本不對應-特別是, Transfer.TargetDatabaseFilePath
應該是數據庫文件的位置,而BulkCopy2.DataFilePath
是導入/導出數據所在的文件的位置。 某些大容量復制方案由Transfer
處理,但大多數情況並非如此。
如果您實際上並沒有復制整個數據庫,則有幾種選擇,其中一種都不使用SMO(沒有這樣的類來進行批量復制):
BulkCopy2
在后台執行的操作(但我尚未對此進行驗證); 其中, BULK INSERT
是最簡單的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.