【发布时间】:2012-06-18 18:41:18
【问题描述】:
我正在处理从 SQL 服务器获取数据并插入 Excel 文件的 SSIS 包...在 数据流任务中我使用了 OLE Db 源和Excel 目的地。
配置 OLE Db 源后,我可以预览结果行甚至数据流任务成功执行而不会出现任何错误..但不插入任何行..
【问题讨论】:
标签: sql ssis business-intelligence
我正在处理从 SQL 服务器获取数据并插入 Excel 文件的 SSIS 包...在 数据流任务中我使用了 OLE Db 源和Excel 目的地。
配置 OLE Db 源后,我可以预览结果行甚至数据流任务成功执行而不会出现任何错误..但不插入任何行..
【问题讨论】:
标签: sql ssis business-intelligence
幸运的是我找到了答案,我做了两件事..
我刚刚删除了旧的数据流任务,我尝试了很多不同的设置和参数...并重新构建数据流任务...
在 SQL 查询中,我写的是完全限定名称而不是 'Use Database' 语句。
希望这会对某人有所帮助..
【讨论】:
SELECT COUNT(*) 只显示 ~10k 行。重新运行包会导致它尝试添加丢失的约 20k 行并报告成功,但数据库中的行数不会改变。我没有重建整个任务,而是将现有任务的内容复制粘贴到一个新任务中,然后删除并重新添加目标。这解决了问题。
您是否尝试过首先写入平面(文本)文件以确保数据来自您的数据流任务并进入结果?
请绝对确保您已将列从源映射到目标。
【讨论】:
这里有一个清楚的解释是怎么回事。很可能,您正在使用表变量... SSIS OLE DB Source Using Table Variables Returns No Rows
【讨论】:
我的问题是 SQL 命令中的打印语句。我把它注释掉了,它起作用了。预览与那里的打印语句一起工作。棘手...
【讨论】:
我已经拥有运行良好并正确写入文件的 SSIS 包。我更改了查询,它停止在文本文件中写入任何内容,即使我有可以在预览中看到的记录。 解决方案:有时您的查询在查询开始之前具有 USE database 命令。删除该命令,它将起作用。 希望它可以帮助某人。 干杯。
【讨论】:
我需要在我的数据流任务中选择Connection Manager 节点并将ConnectionString 属性设置为我希望创建的文件的名称;如果不填写此字段,则不会出现任何文件。
【讨论】:
Connection Managers 和 ConnectionString 属性。
我发现如果我重新打开我的脚本组件并选择“运行代码分析”,它会执行较慢的“全部重建”(Visual Studio 2017),它会再次“唤醒它”,然后处理行。总体而言,尽管 SSIS/VS 2017 是内存错误的噩梦,但崩溃会摧毁整个 csproj 和文件夹结构。我不得不多次重新创建该项目。
【讨论】: