繁体   English   中英

SSIS SQL任务与查询值进行比较

[英]SSIS SQL task to compare to query values

SSIS新手需要一些帮助。 不知道这是否可能。

我有一个使用SSIS导入SQL的txt文件。 在导入文件之前,我使用Powershell进行行计数并将该值更新到Database1,Table1,Recordcount,因此DB1具有:

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中进行设置?

任何帮助是极大的赞赏!!!

一种方法是将两个计数都存储在变量中。 然后,将计数值分配给每个Execute SQL Task每个变量。 最后,使用约束条件检查变量值是否相同,并根据比较结果将其定向到适当的分支。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM