1

我在 Oracle 数据库中有一个表,在 SqlCe 数据库中有另一个表。两个表的名称相同,我想使用 .NET Framework 中可用的 SqlBulkCopy 将 SqlCe 数据库中表的所有内容传输到 Oracle 数据库中的同一个表。

我知道使用 SqlBulkCopy 可以将任何数据从任何源传输到 Sql 数据库,但我不确定是否可以从 Sql 数据库(在我的情况下为 SqlCe)到任何源,例如从 SqlCe 到 Oracle。如果可能的话,有人可以确认我吗?

4

1 回答 1

2

您不会使用SqlBulkCopy,因为它与 SQL Server 的连接协议 (TDS) 相关联;但是,由于目标是 oracle,OracleBulkCopy应该可以正常工作。您只需ExecuteReader在 SqlCe 源上使用,并将其输入:

using(var target = new OracleBulkCopy(oracleConnectionString))
using(var source = cecmd.ExecuteReader()) {
    target.DestinationTableName = "Foo";
    target.WriteToServer(source);
}

http://docs.oracle.com/html/E10927_01/OracleBulkCopyClass.htm

于 2013-08-06T12:13:43.933 回答