这是相当多预期和已知的令人讨厌的行为。 SSIS将创建一个空平面文件,即使未选中:“在第一个数据行的列名”。
该解决方法是:
更新2019年2月11日:
问题我是,我有这些导出为CSV格式的命令在数据流中的13,他们是昂贵查询
OnPostExecute
事件处理程序,所以清理逻辑被隔离于一些特定的数据流:基于您的评论我会认为你要循环使用SQL命令许多表,检查表中包含行,如果是这样,那么你应该行导出到文本文件,否则你应该忽略表。我会提到,你需要做到这一点,并提供一个包含每个步骤的详细信息链接的步骤。
Execute SQL Task
和SELECT COunt(*) FROM ....)
添加store the Resultset inside a variable@[User::RowCount] > 0
表达此外,这是好事,我检查提供,因为它们包含了很多有用的信息,并一步一步指南的链接。
从创建空的纯文本文件防止SSIS的是,你可以在网上找到很多参考的,有很多解决方法,并提出了许多方法可以解决这个问题的一个常见问题:
Data Flow Task
Delay Validation
属性True
Data Flow Task
,这将只用在源数行,如果是大于0
则优先约束应该导致其他Data Flow Task
File System Task
其删除输出文件,如果行数是Data Flow Task
的o
后,你应该设置优先约束的表达,以确保。Data Flow Task
Delay Validation
属性True