【发布时间】:2019-07-03 22:50:57
【问题描述】:
【问题讨论】:
-
希望您的问题得到解答。如果是这样,您是否可以考虑将其标记为此类。
标签: sql-server ssis etl flat-file flatfiledestination
【问题讨论】:
标签: sql-server ssis etl flat-file flatfiledestination
这几乎是预期和已知的烦人行为。 SSIS 将创建一个空的平面文件,即使未选中:“第一个数据行中的列名”。
解决方法是:
2019 年 2 月 11 日更新:
我遇到的问题是我有 13 个这些导出到 csv 命令的 数据流,它们是昂贵的查询
OnPostExecute 事件处理程序,因此清理逻辑与某些特定数据流隔离:【讨论】:
根据您的评论,我假设您想使用 SQL 命令遍历多个表,检查表是否包含行,如果是,则应将行导出到平面文件,否则应忽略表。我将提及您实现该目标所需的步骤,并提供包含每个步骤的更多详细信息的链接。
SELECT COunt(*) FROM ....) 和store the Resultset inside a variable 的Execute SQL Task
@[User::RowCount] > 0
另外,最好检查一下我提供的链接,因为它们包含很多有用的信息和分步指南。
防止 SSIS 创建空的平面文件是一个常见问题,您可以在网上找到很多参考资料,建议了许多解决方法和可能解决问题的许多方法:
Data Flow Task Delay Validation 属性设置为True
Data Flow Task,它仅用于计算源中的行数,如果它大于0,那么优先约束应该导致另一个Data Flow Task
Data Flow Task之后添加File System Task,如果RowCount为o,则删除输出文件,您应该设置优先约束表达式以确保这一点。Data Flow Task Delay Validation 属性设置为True
【讨论】: