微软BI开拓者数据仓库专区SSIS使用与管理 ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

1  /  3  页   123 跳转 查看:9287

ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

数据源是informix数据库,目标sql server数据库。
无论是原数据库连接采用ole db还是odbc,均出现错误。而且错误出现的地方不稳定,有时导4、5
万条错,有时10几万条错。
informix 的csdk版本2.7和3.0均试过!
sql server 2005打过sp2补丁!
错误如下:
[DataReader 源 [3791]] 错误: 组件“DataReader 源”(3791) 无法处理这些数据。
[DTS.Pipeline] 错误: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“DataReader 源”(3791) 的 PrimeOutput 方法返回了错误代码 0xC02090F5。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
[DTS.Pipeline] 错误: SSIS 错误代码 DTS_E_THREADFAILED。 线程“SourceThread0”已退出,错误代码为 0xC0047038。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。
[DTS.Pipeline] 错误: SSIS 错误代码 DTS_E_THREADCANCELLED。线程“WorkThread0”接收到关闭信号,正在终止。原因是用户请求了关闭,或另一线程中的错误导致该管道关闭。可能在此之前已经发出错误消息,提供了有关取消线程的原因的详细信息。
[DTS.Pipeline] 错误: SSIS 错误代码 DTS_E_THREADFAILED。 线程“WorkThread0”已退出,错误代码为 0xC0047039。可能在此之前已经发出错误消息,提供了有关线程退出原因的详细信息。

请高人指点指点!
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

没用过informix数据库,不过你可以先用数据量少一些的数据比如几百条数据或几十条数据,来定位一下出错的原因。
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

这种方法试过了。
开始我导1至10号的数据。报错!
我将数据按日期分开,一天一天导入,正常结束。
有时数据量少时,也报错,但再试的时候却能正常结束!
刚开始用ssis,确实搞不清楚。
谢谢您的回复,请再指点!!!
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!



引用:
原帖由 hnytw 于 2007-9-12 11:31:00 发表
这种方法试过了。
开始我导1至10号的数据。报错!
我将数据按日期分开,一天一天导入,正常结束。
有时数据量少时,也报错,但再试的时候却能正常结束!
刚开始用ssis,确实搞不清楚。
谢谢您的回复,请再指点!......


出错的时候,你没有把错误数据输出么?查看一下错误数据。只有找到出错的地方,才能分析出出错的原因。
另外,你导数据的流程都有哪些环节?
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

定位过!
把DataReader的错误定义到一个error文件,但报错时没有输出。
感觉这种错误好像是数据库驱动或ssis内部错误。但不能肯定,也不知道如何解决。
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

我对informix数据库不太了解,我估计可能是连接都有一些限制吧。比如

根据不同的 OLE DB 访问接口,对 OLE DB 源存在一些限制:
  • Microsoft OLE DB Provider for Oracle 不支持 Oracle 数据类型 BLOB、CLOB、NCLOB、BFILE 或 UROWID,因此,OLE DB 源不能从包含这些数据类型列的表中提取数据。
  • IBM OLE DB DB2 访问接口和 Microsoft OLE DB DB2 访问接口不支持使用调用存储过程的 SQL 命令。如果使用这种命令,OLE DB 源将无法创建列元数据,这样一来,数据流中 OLE DB 源之后的数据流组件将没有可用的列数据,从而导致数据流执行失败。
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

数据类型都是最常用的,只有varchar、date、decimal
 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

数据流报错时的画面

附件附件:

您所在的用户组无法下载或查看附件

 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

进度画面

附件附件:

您所在的用户组无法下载或查看附件

 

回复: ssis作数据导入时报错,PrimeOutput 方法返回了错误代码0xC02090F5。请高人指点!

有没有用过
OLE DB源,然后OLE DB连接管理器选择IBM informix ole db provider数据源
 
1  /  3  页   123 跳转

版权所有 微软BI开拓者 

Powered by Discuz!NT 2.1.202    Copyright © 2001-2008 Comsenz Inc.
Processed in 0.109375 second(s) , 4 queries.
返顶部