Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要与查询值进行比较的SSIS SQL任务_Sql_Ssis - Fatal编程技术网

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

要与查询值进行比较的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

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中设置一些东西


非常感谢您的帮助

一种方法是将两个计数都存储在变量中。然后,将计数值分配给每个
executesql任务中的每个变量。最后,使用约束检查变量值是否相同,并根据比较结果将流引导到相应的分支。

我会尝试。作为SSIS新手,试图弄清楚如何捕获变量的计数并不是直观的。我将谷歌如何做到这一点。谢谢