我正在尝试将数据库中的数据加载到标准模板的 excel 文件中。包已经准备好并且正在运行,抛出了几个验证警告,指出可能会发生截断,因为我的模板的字段比我匹配的 DB 列的大小略小。
但是,没有数据被填充到我的 Excel 工作表中。没有报告错误,当我单击我的 OLE DB 源的预览时,它会向我显示结果行。不过,这些都没有填充到我的 Excel 表中。
我正在尝试将数据库中的数据加载到标准模板的 excel 文件中。包已经准备好并且正在运行,抛出了几个验证警告,指出可能会发生截断,因为我的模板的字段比我匹配的 DB 列的大小略小。
但是,没有数据被填充到我的 Excel 工作表中。没有报告错误,当我单击我的 OLE DB 源的预览时,它会向我显示结果行。不过,这些都没有填充到我的 Excel 表中。
您应该首先确保您有通过管道传输的数据。在将源任务连接到目标任务的箭头中(我假设您之间没有任何步骤),双击,您将打开数据流路径编辑器。单击数据查看器,然后单击添加并单击确定。这将使您能够看到正在通过管道移动的内容。
Excel 需要考虑的一点是,它更喜欢 Unicode 数据类型而不是非 Unicode。您可能有一个非 Unicode 的数据库排序规则,因此您可能必须在数据转换任务中转换值。
此外,您可能需要强制包在 32 位运行时中执行。VS 应用程序是在 32 位环境中开发的,因此您可以看到的驱动程序是 32 位的。如果没有 64 位等效版本,则在您尝试运行该软件包时它会中断。右键单击您的项目并单击“属性”,然后在“调试”菜单下,您需要将设置 Run64BitRuntime 更改为 FALSE。
几个可能导致答案的问题:
如果您添加有关您正在运行的内容的更多详细信息,我可能会给出更好的答案。
编辑:考虑到您在评论中写的内容,我会坚决尝试第三种选择。让我们知道这是否不能解决问题。
你没有提供太多信息。在源和 Excel 目标之间添加数据视图,以查看数据是否通过。这样做,只需双击数据流路径,选择数据视图,然后添加一个网格。
运行您的应用程序。如果您看到数据,请提供更多详细信息,以便我们为您提供帮助
就像对遇到此问题的其他人的帮助一样-我遇到了类似的问题,并且在我发现发生了什么之前把头撞在墙上很长一段时间。我的导出是将数据写入文件,但因为我使用模板文件作为目标,并且该模板文件具有已删除的先前数据,所以该过程将数据附加到先前使用的行下方。因此,例如,我正在写出三行数据,但数据直到第 344 行才开始!
解决方案是在我的模板文件中选择整个电子表格,并删除它的每一部分,这样我就有了一张完全干净的表格。然后我将我的标题行添加到干净的工作表中并保存了它。然后我运行了数据流任务,然后...... ta-daa !!! 完美出口!
希望这将帮助一些在未来遇到同样问题的可怜的灵魂!