要与查询值进行比较的SSIS SQL任务
SSIS新手需要一些帮助。不确定这是否可行 我有一个使用SSIS导入SQL的txt文件。 在导入文件之前,我使用Powershell进行行计数,并将该值更新到Database1,Table1,Recordcount中 因此,DB1具有:要与查询值进行比较的SSIS SQL任务,sql,ssis,Sql,Ssis,SSIS新手需要一些帮助。不确定这是否可行 我有一个使用SSIS导入SQL的txt文件。 在导入文件之前,我使用Powershell进行行计数,并将该值更新到Database1,Table1,Recordcount中 因此,DB1具有: DB1 FileID RecordCount 1 1500 我可以使用以下方法从表中查询计数: USE Database1 SELECT RecordCount FROM Table1 WHERE (FileID = 1) //This retu
DB1
FileID RecordCount
1 1500
我可以使用以下方法从表中查询计数:
USE Database1
SELECT RecordCount FROM Table1 WHERE (FileID = 1)
//This returns 1500
接下来,在SSIS中,我导入带有数据流任务的txt文件,该任务将数据插入另一个数据库(DB2)。然后清除数据,等等
DB1中的FileID字段与DB2上的FileIDRef匹配
因此,DB2有:
DB2
Ref Name Address Zip FileIDRef
1 Jim 11 Lane 33221 1
2 Bill 22 St 77665 1
> ...... .. .....
1500 Jane 44 Rte 23232 1
//etc
然后,我可以运行SQL查询以按FileIDRef计算行数:
USE Database2
SELECT COUNT(FileIDRef) AS Expr1 FROM Table1 WHERE (FileIDRef = 1)
现在问题来了。
在SSIS的最后一步中,我需要比较FileID和FileIDREF
有时数据损坏,并非所有行都导入
如果两个查询的值不相等,则分支到SendMail块以发送警告。
如果匹配,则成功退出
我可以用一条SQL语句来实现这一点吗?
还是我必须在SSIS中设置一些东西
非常感谢您的帮助 一种方法是将两个计数都存储在变量中。然后,将计数值分配给每个
executesql任务中的每个变量。最后,使用约束检查变量值是否相同,并根据比较结果将流引导到相应的分支。我会尝试。作为SSIS新手,试图弄清楚如何捕获变量的计数并不是直观的。我将谷歌如何做到这一点。谢谢