【问题标题】:SSIS PrimeOutput Error?SSIS Prime输出错误?
【发布时间】:2010-05-26 12:24:57
【问题描述】:

我们有一个 SSIS 作业已经运行了一年多,没有任何问题。该作业从 oracle db 中的 select 语句中获取数据集,并将结果传输到 SQL Server 2005 实例上的表中。

截至今天早上,我们收到以下错误消息:

错误:2010-05-26 05:06:47.71 代码:0xC02090F5 源:[job_name] DataReader Source [793] 描述:组件“DataReader Source”(793)无法处理数据。结束错误错误:2010-05-26 05:06:47.71 代码:0xC0047038 源:job_name 描述:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“DataReader Source”(793) 上的 PrimeOutput 方法返回错误代码 0xC02090F5。当管道引擎调用 PrimeOutput() 时,组件返回了失败代码。失败代码的含义由组件定义,但错误是致命的并且管道停止执行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。 End Error Error: 2010-05-26 05:06:47.71 Code: 0xC0047021 Source: P... 包执行失败... 步骤失败。

有谁知道根本原因可能是什么?

【问题讨论】:

  • 不幸的是,这是一个非常模糊的错误。您的 Oracle tbl 最近是否有任何 tbl 架构更改?
  • 没有。此架构已保持静态 > 6 个月。

标签: sql-server ssis


【解决方案1】:

我在加载数据时遇到了类似的问题,并且在您的情况下发现错误过于笼统,因此我检查了“在历史记录中包含步骤输出”选项,该选项可在 SQL Server 作业步骤的高级选项中找到。这极大地帮助了我,因为该错误更有帮助,并帮助我确定问题出在源头上。希望对您调试有所帮助。

【讨论】:

    【解决方案2】:

    可能会发布错误消息 在此之前提供更多信息 关于失败。

    您是否在寻找其他更具体的错误消息?

    您是否在错误或步骤运行时记录它们?如果是这样,您是否查看了日志记录表?如果您没有登录您的 SSIS 包,我会将其设置为此修复程序的一部分,这将使您更早发现问题。

    我会考虑的事情: 架构更改、权限更改、任何最新软件、所涉及服务器的操作系统更新、数据不匹配(第一次可能是 Oracle 表包含无法插入 SQL 表的数据 - 检查不直接匹配的列首先,可能被截断的字符串数据,存储为需要转换为日期时间的字符串的日期等)。

    【讨论】:

    • 日志显示进程正在运行,然后被杀死。我们分解了从 Oracle 中提取数据的复杂查询,结果证明是数据类型不匹配。该错误没有冒泡并显示任何有用的信息。它只是在数据传输过程中默默地失败了。
    • 我们的是架构更改 - 原始 CSV 在 CSV 文件的末尾有一个杂散的空白列,而新数据没有这个额外的列。所以我们刚刚为 SSIS 添加了这个空白列 - 在本例中为“第 15 列” - 现在它可以工作了。
    【解决方案3】:

    我收到此错误是因为收到了一个没有列名的平面文件,但导入作业要求第一行有列名。添加列名后,错误就解决了。

    【讨论】:

      猜你喜欢
      • 2019-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-27
      • 2021-03-09
      相关资源
      最近更新 更多