所以我遇到的情况是我编写了一个自定义数据表,它是多个服务器中多个表聚合的结果。我从Oracle 8.1x中的两个不同表中获取数据,从SQL Server 2000中获取更多数据,进行一些计算并将结果放在SQL Server 2008中的新目标表中。初始结果非常好,数据输出正确,通过测试看到。当我编写C#代码来完成所有这些时,我别无选择,只能使用与Oracle和SQL 2000的OleDb连接。但是在目标服务器上,我可以在2008上使用SQLBulkCopy。SQL批量复制很有效,程序运行速度相当快。但是,由于我的表看起来很棒,他们希望我使用我的代码将目标放回SQL 2000服务器上。
问题是我不确定SQLBulkCopy是否可以在SQL 2000上运行,因为我无法使用SQLConnections。我一直试图找到一个在C#中运行的批量复制的OleDb版本,但到目前为止,我所能做的只是一个 foreach(destination.Rows()中的DataRow行 { / *一次插入一行* / } 这是非常慢的,因为有超过200,000行有几列(性能下降了很多)。
所以我的问题是,SQLBulkCopy是否可以与SQL 2000一起使用,如果没有,那么是否有OleDb连接版本,或者我别无选择,只能一次使用较慢的一行方法。从现在起6个月他们确实希望它转到SQL 2012,但是现在他们需要在SQL Server 2000上使用它。
感谢任何帮助或提示。