【问题标题】:Inserting missing records from Oracle DB into SQL Server database将 Oracle DB 中的缺失记录插入 SQL Server 数据库
【发布时间】:2016-06-08 00:34:38
【问题描述】:

我有一个 Oracle 数据库,其中包含一个表 Customers,我对其只有只读访问权限。我想从该表中复制一些列并将它们插入到名为Customers 的 SQL Server 2008 R2 表中,仅当目标表中不存在 ID 时。

我是 C# 新手....我可以使用 Oracle.DataAccess 成功打开和读取 Oracle,并且可以写入 SQL Server,但是我不知道如何从 Oracle 读取然后写入 SQL Server。我能找到的所有示例都是针对同一类型的数据库的。

【问题讨论】:

  • 创建两个连接:一个连接到 oracle DB,另一个连接到 MSSQL DB。或者,如果这是一次性的,在 MSSQL 中创建一个链接服务器......然后简单地编写一个查询
  • 不是一次性的,我与每个数据库都有连接,问题是如何首先比较结果以找到需要复制的 id,然后如何复制到内存中以写回 SQL?我可能在这里遗漏了一个概念。仅在 SQL 中,我会进行连接并插入,但由于两个数据库来自不同的来源,我不知道从哪里开始。
  • 如果源表不是太大,一个选项是使用 SQL Management Studio 中的导入导出向导复制整个表,然后使用一些 tsql 插入缺失的行。这在幕后使用了 SSIS,这是完成这项工作的理想工具。

标签: c# sql-server oracle


【解决方案1】:

我想跟进此事,分享尽管这里和其他地方提供了许多创造性的解决方案,但没有一种足够有效的方法来完成这项任务。在大多数情况下,我必须读取两个非常大的表的全部内容,然后检查丢失的记录,而没有真正连接的性能优势。我决定采用混合模型,应用程序从主数据库Oracle 获取基本信息,然后在SQL Server 中读写补充信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多