SSIS“数据流任务”平面文件目标中没有记录
Posted
技术标签:
【中文标题】SSIS“数据流任务”平面文件目标中没有记录【英文标题】:SSIS ‘Data Flow Task’ No records in flat file destination 【发布时间】:2013-04-17 09:52:12 【问题描述】:请原谅我最初的帖子是一个问题而不是解决方案。
我有两个基本上做同样事情的 SSIS 包。两者的最后一步是查询数据库并尝试将结果写入平面文件的“数据流任务”。其中一个包正确地构建了平面文件,另一个包构建了文件,但没有用任何记录填充它。运行 SQL Server 2008 R2。
这是在大学环境中,涉及在两个系统之间传输学位代码和人口统计数据。 degree_code 包正在运行,但人口统计数据却没有。两个“数据流任务”都包含一个链接到平面文件目标(制表符分隔的文本)的 OLE DB 源。预览 OLE DB 源时,两个包都显示正确的数据集。
在平面文件目标中,两个包中的映射都是正确的。但是,预览数据时,学位详细信息显示正确,但人口统计预览中没有记录。在查看连接管理器时也是如此。并且当包运行时,degree_codes 文件是正确的,而人口统计文件只包含一个标题。 OLE DB Source 和 Flat File Destination 之间的链接似乎有问题
这两个程序包在运行时仅显示共享全局内存会影响性能的警告。我已经删除并重建了无法正常工作的数据流任务和连接管理器,但没有解决问题。在这一点上,我不知道该往哪个方向发展,也不知道如何诊断问题。有没有人遇到过类似的情况,或者你有任何建议如何追赶它。如有任何解决方案,我将不胜感激。
【问题讨论】:
如果您使用 BIDS/Visual Studio 执行包,当数据流变为“黄色”时,在任务内部应该有一个指示从源发送多少行(OLE数据库源)。您所描述的内容听起来像是 - 您的源查询或源和目标之间的转换正在过滤数据。我会确定它是哪个罪魁祸首,然后向后工作以解决它。如果您需要更多细节,请发布更多详细信息(源查询、模式、示例数据等)。听起来您已经掌握了这些概念,因此很可能是某个地方的数据问题 数据流任务永远不会变黄。源和目标之间没有转换。我想我知道你在找什么。我通常看到的黄色警告来自列映射问题。我可以看到,Visual Studio 没有给出任何问题的迹象。我会看看我是否能得到更多有意义的细节。感谢您的建议。 包执行后查看输出窗口 (Ctrl-Alt-O)。您可能会在其中隐藏一条错误消息。如果不出意外,请查找警告并报告 您的数据流是仅包含源和目标,还是有中间步骤? 尝试在数据流任务的连续步骤之间建立数据查看器,这可能有助于您查看数据流任务在哪个步骤之后(如果您不仅有源-目的地)出错了。另外,目的地不是在写保护区域还是本身被写保护? 【参考方案1】:尝试将数据导出到数据库中的 tmp 表,如果数据保存在那里,则问题出在文件连接上,如果不是,则需要重写查询
【讨论】:
【参考方案2】:验证您在表上执行的查询列是否匹配并且数据类型与输出中的预期一致,尝试将所有内容最初都作为字符串类型并检查它是否有效,然后在成功执行后应用正确的数据类型,您可以修改数据根据需要输入类型
【讨论】:
以上是关于SSIS“数据流任务”平面文件目标中没有记录的主要内容,如果未能解决你的问题,请参考以下文章