2010-04-19 63 views
0

我使用下面的代碼段用於SQL批量複製SQL Bulkcopy使用數據訪問塊

using (SqlConnection con = new SqlConnection(strConString)) 
{ 
con.Open(); 
SqlBulkCopy sqlBC = new SqlBulkCopy(con); 
sqlBC.DestinationTableName = "SomeTable"; 
sqlBC.WriteToServer(dtOppConSummary); 
} 

使用數據訪問塊企業庫

回答

0

我不知道誰能給我提供了等同放着清單代碼如果這是可能的,因爲數據訪問塊的要點是將您從特定數據源中抽象出來。 SqlBulkCopy(如果特定於SqlClient庫),我不認爲有跨其他數據源進行這種操作的通用方法。

+0

好吧,我可以用數據訪問塊替換sql連接對象? – SSK 2010-04-19 13:59:05

+0

或者這是處理這個問題的最好方法? – SSK 2010-04-19 13:59:28

+0

我想我應該問你爲什麼急於嘗試使用數據訪問塊...... 我不確定你想使用數據訪問塊爲此 - 你正在使用SQL Server因此通過數據訪問塊的任何好處都消失了... – 2010-04-19 14:04:00

1

不幸的是,DAAB沒有開箱即用的批量複製模式。 SqlBulkCopy類不會實現除一次性以外的任何接口。

如果您想在DAAB環境中使用批量複製,則必須修改DAAB實施以包含它。你必須採取一些步驟是:

  1. 創建`IDbBulkCopy接口
  2. 創建一個實現`IDbBulkCopy接口幷包裝SqlBulkCopy的一個包裝類
  3. 如果您需要訪問Oracle,落實`IDbBulkCopy接口來使用ADO.NET的「數組綁定」功能。