【问题标题】:Error while running a SSIS task运行 SSIS 任务时出错
【发布时间】:2018-04-25 02:26:07
【问题描述】:

我有一个查询在 SSMS 中执行良好,但是当我将其作为 ssis 包 DTS_E _INDUCEDTRANSFORMFAILUREERROR 中的任务运行时出错

我的查询是这样的

Select t1.*
From t1 
Inner join t2
On t1.c1 = t2.c1
And t1.date between ? And ? 
Inner join t3
on t3.c2 = t2.c2
Where 
Date between ? And ?
and c4 like ‘%name%’

我正在使用执行sql任务,数据访问模式是sql命令并传递4个参数。

SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 “OLE 数据库 Destination.Inputs[OLE DB 目标输入]”失败,因为错误 发生代码 0xC020907B,并且“OLE DB”上的错误行处置 Destination.Inputs[OLE DB Destination Input]" 指定失败 错误。在指定的指定对象上发生错误 零件。在此之前可能会发布更多错误消息 有关失败的信息。

SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。 ProcessInput 方法 组件“OLE DB 目标”(2) 失败,错误代码为 0xC0209029 在处理输入“OLE DB 目标输入”(15) 时。确定的 组件从 ProcessInput 方法返回错误。错误是 特定于组件,但错误是致命的,将导致 数据流任务停止运行。可能会发布错误消息 在此之前提供有关失败的更多信息。

尝试向数据流任务缓冲区添加行失败 错误代码0xC0047020。

SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。 OLE 上的 PrimeOutput 方法 数据库源返回错误代码 0xC02020C4。该组件返回一个 管道引擎调用 PrimeOutput() 时的故障代码。这 失败代码的含义是由组件定义的,但是错误 是致命的并且管道停止执行。可能有错误 在此之前发布的消息,其中包含有关失败的更多信息。

这些是我的详细错误信息

即使我认为这与截断有关,但我的列与我只是将数据从一个表同步到另一台服务器中的完全相同的表完全相同。我从服务器 1 在服务器 2 中创建了完全相同的表

【问题讨论】:

  • 我用谷歌搜索了DTS_E _INDUCEDTRANSFORMFAILUREERROR,它似乎与数据截断有关。请发布完整的错误。还要查看源和目标中 varchar 字段的列长度。在此示例中,它实际上会告诉您存在问题的列:stackoverflow.com/questions/13459570/…
  • 请查看我链接的问题,并注意错误中的重复声明:在此之前可能会发布错误消息,并提供有关失败的更多信息。。现在再看看你的日志,在所有这些实际上告诉你问题所在的东西之前找到错误消息。
  • 数据爱好者,请用你的热情,把你的老问题,努力理解答案,如果正确的话,接受它们。

标签: ssis


【解决方案1】:

很抱歉,我以为我发布了我的 cmets,但看起来我没有发布。显然我的选择查询中有重复的行,我在本地运行包后能够在SSDT中找到这个,去查看和输出,有一个详细的错误消息说有重复的行并且无法插入。谢谢大家的帮助

【讨论】:

  • 如果您在错误日志中找到适当的行,这一点就会很明显。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-19
  • 1970-01-01
  • 2013-03-30
  • 1970-01-01
  • 2013-11-28
  • 2010-11-02
相关资源
最近更新 更多