我在Oracle数据库中有一个表,在SqlCe数据库中有另一个表。两个表都被称为相同,我想使用.NET Framework中提供的SqlBulkCopy将SqlCe数据库中的表的所有内容传输到Oracle数据库中的同一个表。
我知道使用SqlBulkCopy可以将任何来自任何源的数据传输到Sql数据库,但我不确定是否可以从Sql数据库(在我的情况下,SqlCe)到任何源,例如,从SqlCe到Oracle。如果有可能有人确认我吗?
答案 0 :(得分:2)
您不会使用SqlBulkCopy
,因为它与SQL Server的连接协议(TDS)相关联;但是,由于目标是oracle,OracleBulkCopy
应该可以正常工作。您只需在SqlCe源上使用ExecuteReader
,然后将其输入:
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