SSIS包没有填充任何结果

问题描述 投票:1回答:4

我正在尝试将数据库中的数据加载到标准模板的Excel文件中。软件包已准备好并且正在运行,抛出一些验证警告,说明可能会发生截断,因为我的模板的字段比我匹配的DB列的字符小一些。

但是,没有数据填充到我的Excel工作表中。没有报告错误,当我单击我的OLE DB源的预览时,它显示了我的结果行。尽管如此,这些都没有填充到我的excel表中。

sql sql-server visual-studio-2008 ssis
4个回答
5
投票

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

Excel需要考虑的是将Unicode数据类型更喜欢非Unicode。您可能拥有非Unicode的数据库归类,因此您可能必须转换数据转换任务中的值。

另外,您可能需要强制程序包在32位运行时执行。 VS应用程序在32位环境中开发,因此您可见的驱动程序是32位。如果没有64位等效项,则在尝试运行程序包时会中断。右键单击您的项目并单击Properties,然后在Debug菜单下,您需要将Run64BitRuntime设置更改为FALSE。


0
投票

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

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


0
投票

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

  1. 您是否检查过数据是否在运行时实际通过SSIS包传递?
  2. 你仔细检查了你的映射吗?
  3. 尝试在包中进行转换,这样就不会出现截断问题

如果你添加一些关于你正在运行的东西的更多细节,我可能会给出更好的答案。

编辑:考虑到你在评论中写的内容,我会挑战第三种选择。如果这不能解决问题,请告诉我们。


0
投票

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

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

希望这将有助于一些在未来遇到同样问题的穷人!

© www.soinside.com 2019 - 2024. All rights reserved.