6

我想编写一个 SSIS 包,用于将数据从 oracle 复制到 MS Sql 服务器。而且条件是,通过在 SQL 中选择一个表,可以知道哪些数据必须从 oracle 移动到 SQL。基本上 SQL Server 中的 Table1.Column1 必须从 oracle 填充,如果 SQL Server 中的该表中不存在该值。我们在该表中也有公共列值,以将记录映射到 sql server 和 oracle。所以要做到这一点,我计划在 SSIS 包中做到这一点。

任何人都可以详细解释我如何为上述场景创建一个 SSIS 包。

预先感谢您的帮助。

4

2 回答 2

13

您应该使用 Lookup 连接 SQL Server 和 Oracle 的公共列(相同数据类型),并从 Oracle 中检索在 SQL Server 中没有匹配记录的值。

设计 设计

1.使用SSIS 2005

  1. 拖动一个 OleDB 源并指向您的 Oracle 数据库并选择表。
  2. 拖动查找并选择 SQL Server 连接并指向其表。
  3. 在列选项卡中加入公共列并在右侧选择您需要检索的列。 抬头
  4. 单击配置错误输出并为连接列选择重定向行。 抬头
  5. 拖动 Oledb 命令并将其连接到查找的错误输出。6.在Oledb命令中写一个insert语句 奥尔德布 奥尔德布

2.如果您使用的是 SSIS 2008,则无需在查找中配置错误输出。只需将不匹配输出从查找拖到 SQL Server 目标。

于 2012-06-08T08:37:29.827 回答
3

我建议这个实现。

我使用了 praveen 的解决方案,但有时它可能不是最好的。特别是当目标上的记录增加时的数量。此外,它不处理“更新”

于 2012-06-08T09:27:07.493 回答