我想编写一个SSIS包,用于将数据从oracle复制到MS Sql server . 而且条件是,通过在SQL中选择一个表,可以知道从oracle到SQL的数据是什么 . 基本上,如果SQL Server中该表中没有该值,则必须从oracle填充SQL Server中的Table1.Column1 . 我们在该表中也有共同的列值来映射与sql server和oracle的记录 . 所以要做到这一点我已经计划在SSIS包中做到这一点 .
任何人都可以详细解释如何为上述场景创建SSIS包 .
预先感谢您的帮助 .
2 回答
我建议this实施 .
我使用过praveen的解决方案,但有时它可能不是最好的 . 特别是如果目标上的记录增长的数字 . 此外,它不处理“更新”
您应该使用Lookup加入SQL服务器和Oracle的公共列(相同的数据类型),并从Oracle中检索SQL中没有匹配记录的值 .
设计
1.使用SSIS 2005
拖动OleDB源并指向Oracle数据库并选择该表 .
拖动查找并选择SQL Server连接并指向其表 .
在“列”选项卡中,加入公共列,然后选择需要检索的右侧列 .
单击“配置错误输出”,然后为连接列选择重定向行 .
拖动Oledb命令并将其连接到查找的错误输出 . 6.在Oledb命令中写入一个insert语句
2.如果您使用的是SSIS 2008,则无需在查找中配置错误输出 . 将Lookup的无匹配输出拖到SQL Server目标 .