1

我正在尝试将数据库中的数据加载到标准模板的 excel 文件中。包已经准备好并且正在运行,抛出了几个验证警告,指出可能会发生截断,因为我的模板的字段比我匹配的 DB 列的大小略小。

但是,没有数据被填充到我的 Excel 工作表中。没有报告错误,当我单击我的 OLE DB 源的预览时,它会向我显示结果行。不过,这些都没有填充到我的 Excel 表中。

4

4 回答 4

5

您应该首先确保您有通过管道传输的数据。在将源任务连接到目标任务的箭头中(我假设您之间没有任何步骤),双击,您将打开数据流路径编辑器。单击数据查看器,然后单击添加并单击确定。这将使您能够看到正在通过管道移动的内容。

在此处输入图像描述

Excel 需要考虑的一点是,它更喜欢 Unicode 数据类型而不是非 Unicode。您可能有一个非 Unicode 的数据库排序规则,因此您可能必须在数据转换任务中转换值。

在此处输入图像描述

在此处输入图像描述

此外,您可能需要强制包在 32 位运行时中执行。VS 应用程序是在 32 位环境中开发的,因此您可以看到的驱动程序是 32 位的。如果没有 64 位等效版本,则在您尝试运行该软件包时它会中断。右键单击您的项目并单击“属性”,然后在“调试”菜单下,您需要将设置 Run64BitRuntime 更改为 FALSE。

在此处输入图像描述

于 2012-10-17T13:30:27.387 回答
0

几个可能导致答案的问题:

  1. 您是否检查过数据在运行时实际上是通过 SSIS 包传递的?
  2. 你有仔细检查你的映射吗?
  3. 尝试在包内进行转换,以免出现截断问题

如果您添加有关您正在运行的内容的更多详细信息,我可能会给出更好的答案。

编辑:考虑到您在评论中写的内容,我会坚决尝试第三种选择。让我们知道这是否不能解决问题。

于 2012-10-17T12:55:49.713 回答
0

你没有提供太多信息。在源和 Excel 目标之间添加数据视图,以查看数据是否通过。这样做,只需双击数据流路径,选择数据视图,然后添加一个网格。

运行您的应用程序。如果您看到数据,请提供更多详细信息,以便我们为您提供帮助

于 2012-10-17T12:59:16.250 回答
0

就像对遇到此问题的其他人的帮助一样-我遇到了类似的问题,并且在我发现发生了什么之前把头撞在墙上很长一段时间。我的导出是将数据写入文件,但因为我使用模板文件作为目标,并且该模板文件具有已删除的先前数据,所以该过程将数据附加到先前使用的行下方。因此,例如,我正在写出三行数据,但数据直到第 344 行才开始!

解决方案是在我的模板文件中选择整个电子表格,并删除它的每一部分,这样我就有了一张完全干净的表格。然后我将我的标题行添加到干净的工作表中并保存了它。然后我运行了数据流任务,然后...... ta-daa !!! 完美出口!

希望这将帮助一些在未来遇到同样问题的可怜的灵魂!

于 2016-12-08T20:36:34.743 回答