Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/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
Sql SSIS中是否有针对平面文件源的WHERE子句功能?_Sql_Ssis_Insert_Where Clause_Flat File - Fatal编程技术网

Sql SSIS中是否有针对平面文件源的WHERE子句功能?

Sql SSIS中是否有针对平面文件源的WHERE子句功能?,sql,ssis,insert,where-clause,flat-file,Sql,Ssis,Insert,Where Clause,Flat File,我对SSIS了解不多,我在谷歌上搜索了尽可能多的信息。如果能得到任何帮助,我将不胜感激 我正在构建一个SSIS包,我只想从平面文件源插入一组特定的数据。有没有一种方法可以使用WHERE子句只拉入特定的数据 例如,如何将此查询转换为数据流任务 INSERT INTO #TempTable (Column1, Column2) SELECT Column1, Column2 FROM TEXTFILESOURCE WHERE Column1 <> 'ABC' 这可以通过数据流任务来实现

我对SSIS了解不多,我在谷歌上搜索了尽可能多的信息。如果能得到任何帮助,我将不胜感激

我正在构建一个SSIS包,我只想从平面文件源插入一组特定的数据。有没有一种方法可以使用WHERE子句只拉入特定的数据

例如,如何将此查询转换为数据流任务

INSERT INTO #TempTable (Column1, Column2)
SELECT Column1, Column2
FROM TEXTFILESOURCE
WHERE Column1 <> 'ABC'

这可以通过数据流任务来实现吗?

AFAIK平面文件源任务中没有任何东西可以做到这一点,但是一旦设置好并流入数据,您就可以使用条件拆分,使用与查询中的Where条件相同的逻辑来过滤行

使用过滤条件作为表达式的条件拆分,或使用C语言的脚本任务,但如果平面文件数据足够一致,则可以使用条件拆分。

我的印象是,条件拆分主要只是语句的一种情况。您可以使用此筛选器完全消除数据吗?因此,对象名应该是其中的1,表达式应该是Column1'ABC'?是的,您可以将不需要的行发送到不需要处理它们的另一个任务,例如行计数任务。然后继续处理您感兴趣的行。您只需要一个条件,因为不匹配的行将被输出到默认的输出流。这就解决了问题,只需学习更多关于SSIS表达式语言的知识,就可以获得正确的语法。再次感谢,我很感激!
INSERT INTO #TempTable (Column1, Column2)
SELECT Column1, Column2
FROM TEXTFILESOURCE
WHERE Column1 <> 'ABC'