数据流任务成功执行但未向 Excel 文件写入任何行

Posted

技术标签:

【中文标题】数据流任务成功执行但未向 Excel 文件写入任何行【英文标题】:Data flow task executing successfully but not writing any rows to Excel file 【发布时间】:2012-06-18 18:41:18 【问题描述】:

我正在处理从 SQL 服务器获取数据并插入 Excel 文件的 SSIS 包...在 数据流任务中我使用了 OLE Db 源Excel 目的地

配置 OLE Db 源后,我可以预览结果行甚至数据流任务成功执行而不会出现任何错误..但不插入任何行..

【问题讨论】:

【参考方案1】:

幸运的是我找到了答案,我做了两件事..

    我刚刚删除了旧的数据流任务,我尝试了很多不同的设置和参数...并重新构建数据流任务...

    在 SQL 查询中,我写的是完全限定名称而不是 'Use Database' 语句。

希望这会对某人有所帮助..

【讨论】:

是的,您绝对应该在其中放一个 SQL 查询 - 您应该能够在数据流源的属性中选择数据库。 我刚刚遇到了类似的问题。在我的例子中,目标组件报告写入了所有 ~30k 行,但 SELECT COUNT(*) 只显示 ~10k 行。重新运行包会导致它尝试添加丢失的约 20k 行并报告成功,但数据库中的行数不会改变。我没有重建整个任务,而是将现有任务的内容复制粘贴到一个新任务中,然后删除并重新添加目标。这解决了问题。 欢迎来到 SSIS - 删除所有工作并重新进行工作的地方,比根本原因分析和发现问题更快。每当我对查询或目标文件进行更改时,都会发生这种情况,即使在尝试了所有推荐的故障排除提示之后,删除/重新创建是我最终解决此问题的方法。【参考方案2】:

您是否尝试过首先写入平面(文本)文件以确保数据来自您的数据流任务并进入结果?

请绝对确保您已将列从源映射到目标。

【讨论】:

感谢 N West,我已经尝试了您建议的方法,但仍然没有运气......我只是从头开始构建 DFT,并且对 Sql 脚本进行了一些更改,它开始工作......【参考方案3】:

这里有一个清楚的解释是怎么回事。很可能,您正在使用表变量... SSIS OLE DB Source Using Table Variables Returns No Rows

【讨论】:

【参考方案4】:

我的问题是 SQL 命令中的打印语句。我把它注释掉了,它起作用了。预览与那里的打印语句一起工作。棘手...

【讨论】:

【参考方案5】:

我已经拥有运行良好并正确写入文件的 SSIS 包。我更改了查询,它停止在文本文件中写入任何内容,即使我有可以在预览中看到的记录。 解决方案:有时您的查询在查询开始之前具有 USE database 命令。删除该命令,它将起作用。 希望它可以帮助某人。 干杯。

【讨论】:

【参考方案6】:

我需要在我的数据流任务中选择Connection Manager 节点并将ConnectionString 属性设置为我希望创建的文件的名称;如果不填写此字段,则不会出现任何文件。

【讨论】:

您使用平面文件连接管理器制作了类似问题的 Excel 输出? 抱歉,为清楚起见进行了编辑。多种源类型使用 Connection ManagersConnectionString 属性。【参考方案7】:

我发现如果我重新打开我的脚本组件并选择“运行代码分析”,它会执行较慢的“全部重建”(Visual Studio 2017),它会再次“唤醒它”,然后处理行。总体而言,尽管 SSIS/VS 2017 是内存错误的噩梦,但崩溃会摧毁整个 csproj 和文件夹结构。我不得不多次重新创建该项目。

【讨论】:

那么,进行备份?

以上是关于数据流任务成功执行但未向 Excel 文件写入任何行的主要内容,如果未能解决你的问题,请参考以下文章

Google FCM 服务器:200 但未向手机发送通知

ADF 成功运行,但未插入任何行

Excel用Python读取清洗后怎么写入数据

写入 Google Play 排行榜 API 回调成功返回,但未记录分数

无需安装任何东西即可读取/写入 Excel 文件

关于Alwayson创建维护计划后,备份执行成功但未看到备份文件的原因