4
我有一些使用SqlBulkCopy的代碼。現在我們正在重構我們的代碼,以使用企業庫數據庫功能而不是標準功能。問題是我如何實例化SqlBulkCopy?它接受SqlConnection,並且我只有DbConnection。如何讓SqlBulkCopy與MS企業庫協同工作?
var bulkCopy = new SqlBulkCopy(connection) // here connection is SqlConnection
{
BatchSize = Settings.Default.BulkInsertBatchSize,
NotifyAfter = 200,
DestinationTableName = "Contacts"
};
哦,那是很容易的。我想過,但還沒有嘗試過。 您是否嘗試過使用TransactionScope和SqlBulkCopy? 我有一樣的東西: 使用(新的TransactionScope()){ 使用 (VAR連接= db.CreateConnection()){ 使用 (VAR bulkCopy =新SqlBulkCopy的((SqlConnection的)連接){/ *布拉布拉* /}} } 和它拋出System.Transactions.TransactionManagerCommunicationException說,MSDTC是關閉的,但我打開它。 – HiveHicks 2010-07-29 11:54:34
都能跟得上抱歉。沒用過的TransactionScope。 我們使用SqlBulkCopy的參數的交易參數(上例中的構造函數的最後一個參數,'null') – 2010-07-29 12:00:52
如果你只需要一個BulkCopy的事務,你可以通過將第二個參數從'SqlBulkCopyOptions.Default'轉換爲'SqlBulkCopyOptions.UseInternalTransaction'。請參閱http://msdn.microsoft.com/en-us/library/tchktcdk%28VS.80%29.aspx – 2010-07-29 12:03:04