SSIS可以检查当前运行期间导入的记录吗

时间:2018-09-06 19:51:05

标签: ssis

我正在导入多个用户。每个用户可以属于多个公司。因此,从Source中,我将得到像这样的行

userId  companyID  userinfo   companyinfo
123      abc       blah       blah
123      def       blah       blah
456      abc       blah       blah
789      xyz       blah       blah

我有一个查找组件,用于检查用户是否已在新系统中创建。如果没有,请在用户表中创建一个用户。如果是这样,则只需在userid-companyid-relationship表中添加一行。

我的问题是sis的工作原理如此吗?即它逐行导入数据。 首先导入(123,abc,等等,等等)。然后,当它导入(123,def,blah,blah)时,它会实现userid:用户表中已经有123。还是执行某种批量导入,以及在当前迭代过程中添加的任何内容,由于对他来说Userid:123还不存在,Lookup Component将无法使用?

我的程序包出现问题,看来我的查找组件不能正常工作,我想知道是否是因为我刚才提到的问题。

希望这很有意义。 谢谢

1 个答案:

答案 0 :(得分:1)

Brian关于缓存模式的评论是现场讨论,但我会补充说,以我的经验,在SSIS中处理此类事情的最佳方法是将所有数据导入到临时表中,然后处理查找和关系-在SQL Server上的存储过程中创建。这些事情在TSQL中的运行速度比在SSIS中快得多。最简单的时候,SSIS最快。