2010-04-19 34 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的“数组绑定”功能。