在SSDT中创buildSSIS包。 数据stream任务中的条件拆分导致程序包中断

我试图从SQL SERVER 2012导出到Excel 2007工作簿。

OLE DB Source – > Excel Destination的简单任务完美无缺。

我有一个名为[POD Assignment]的字段,如果[POD Assignment]等于“UNKNOWN”,我想导出到工作簿中的一个工作表,如果不是,则导出到另一个工作表。

将OLE DB源链接到条件拆分。

我有一个名为“未知”的输出,条件是“[POD Assignment] ==”UNKNOWN“”。 我将输出“未知”链接到Excel目标。

在这一点上,当我运行包时,一切正常。 行被正确地导出到工作簿,并且计数是正确的。 如这里所见:

[] http://imgur.com/iKcJCfY,rHnW8ax#0

现在,我将条件分割连接到第二个excel目标,其中输出是条件分割的默认输出。 Excel第二个目标使用与第一个相同的Excel连接。 所有的数据都应该导出到同一工作簿中的不同工作表。

运行失败。 如这里所见:

[]: http : //imgur.com/iKcJCfY,rHnW8ax#1

任务过早地错误地中止。

我收到以下错误代码:

[Excel目标1 [101]]错误:SSIS错误代码DTS_E_OLEDBERROR。 发生OLE DB错误。 错误代码:0x80004005。 OLE DBlogging可用。 源:“Microsoft Office Access数据库引擎”Hresult:0x80004005描述:“无法展开命名范围”。

[Excel目标1 [101]]错误:SSIS错误代码DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “Excel目的地1.Inputs [Excel目的地input]”失败,因为发生了错误代码0xC020907B,并且“Excel目标1.Inputs [Excel目的地input]”上的错误行configuration指定错误失败。 指定组件的指定对象发生错误。 在此之前可能会发布错误消息,提供有关失败的更多信息。

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PROCESSINPUTFAILED。 处理input“Excel目标input”(112)时,组件“Excel目标1”(101)上的ProcessInput方法失败,错误代码为0xC0209029。 标识的组件从ProcessInput方法返回一个错误。 错误是特定于组件的,但错误是致命的,并且会导致数据stream任务停止运行。 在此之前可能会发布错误消息,提供有关失败的更多信息。 [OLE DB Source [188]]错误:设置缓冲区行集的结尾失败,错误代码为0xC0047020。 [SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 OLE DB源上的PrimeOutput方法返回错误代码0xC0209017。 pipe道引擎调用PrimeOutput()时,组件返回失败代码。 失败代码的含义由组件定义,但错误是致命的,并且pipe道停止执行。 在此之前可能会发布错误消息,提供有关失败的更多信息。

任何帮助,将不胜感激。 这真让我抓狂。 我不明白为什么使用一个目的地的条件分割完美的作品,但是当我添加第二个目的地一切都失败了。

我有这个确切的错误消息。 我尝试了其他答案的build议,没有工作。

我的问题原来是,我试图写在不同的标签在同一时间。

而不是写入到同一个数据stream任务中的每个选项卡,我把每个选项卡放到它自己的数据stream中,以便每次写入一次。 这解决了这个问题。

检查您的Excel目标是空的数据(除了标题行,如果适用)。

我有Hresult: 0x80004005 Description: "Cannot expand named range." 错误和我的问题并不是很明显:

  • 我有一个现有的Union All的两个Excel文件到一个单一的Excel文件
  • 来自一个来源的第一列是一个数字。 另一个来源是字母数字。
  • 我将源文件的第一列更改为新的Derived Column并将其变为字母数字。
  • (我忽略清理目的地 – 它仍然有现有的数据,前几行数据是数字)
  • Union All工作,但目的地失败(源文件也显示一个红色的X)

我通过“截断”excel文件来修复它,返回到标题行。 (我可以通过将A列中的几个示例行重新设置为数字来重新创build错误)。 我想我现在将使用一个空的Excel文件模板,并首先覆盖目标(除非有一个更简单的方法 ?)

您不能同时写入同一工作簿中的其他工作表,因为excel文件在被用作目标时被写入locking

除了在随机工作表(任务)上失败之外,我遇到了类似的问题。 花了一个多星期的时间尝试所有可能的解决scheme后,我发现我的电脑上安装了Microsoft Office 2007(32位),而其他所有内容都是64位的。 我在服务器上部署和testing了一切在64位,它工作正常。

我不确定是否是你的情况,但希望它可以帮助你。