【问题标题】:Transferring data between different sources using SqlBulkCopy使用 SqlBulkCopy 在不同源之间传输数据
【发布时间】:2013-08-06 12:05:32
【问题描述】:

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

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

【问题讨论】:

  • 我认为这是不可能的。我遇到了这样的问题,我通过 SqlBulkCopy 但从文件中解决了。我将数据从一个数据库导出到文件中,然后通过 SqlBulkCopy 导入另一个数据库。

标签: .net database vb.net oracle sql-server-ce


【解决方案1】:

您不会使用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

【讨论】:

  • +1 不错的解决方案。我遵循了一些更困难的事情。你试过这种方法吗?
  • OracleBulkCopy 不包含在 .NET Framework 中。正如我所看到的,这包含在 Oracle Data Provider for .NET 中,我需要从 Oracle 下载,对吗?
  • @MarcGravell 非常感谢!
  • @user1624552 恐怕我现在知道了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-24
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多