我正在导入多个用户。每个用户可以属于多个公司。因此,从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将无法使用?
我的程序包出现问题,看来我的查找组件不能正常工作,我想知道是否是因为我刚才提到的问题。
希望这很有意义。 谢谢
答案 0 :(得分:1)
Brian关于缓存模式的评论是现场讨论,但我会补充说,以我的经验,在SSIS中处理此类事情的最佳方法是将所有数据导入到临时表中,然后处理查找和关系-在SQL Server上的存储过程中创建。这些事情在TSQL中的运行速度比在SSIS中快得多。最简单的时候,SSIS最快。