使用SSIS从oracle抽取数据到SQL Server 2008时问道的报错
日期 2015/12/21 2:00:00
日志 作业历史记录 (wxph_ods)
步骤 ID 1
服务器 CDR-DATABASE
作业名称 wxph_ods
步骤名称 wxph_ods
持续时间 00:06:11
SQL 严重性 0
SQL 消息 ID 0
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 0
消息
已以用户 CDR-DATABASE\Administrator 的身份执行。
Microsoft (R) SQL Server 执行包实用工具 Version 10.50.1600.1 for 32-bit 版权所有 (C) Microsoft Corporation 2010。保留所有权利。
开始时间: 2:00:00 错误: 2015-12-21 02:06:11.07 代码: 0xC0202009
源: 数据流任务 OLE DB 源 [1] 说明: SSIS 错误代码 DTS_E_OLEDBERROR。
出现 OLE DB 错误。错误代码: 0x80004005。 错误结束 错误: 2015-12-21 02:06:11.09 代码: 0xC0047038
源: 数据流任务 SSIS.Pipeline 说明: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“OLE DB 源”(1) 的 PrimeOutput 方法返回了错误代码 0xC0202009。
管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。
可能在此之前已经发出错误消息,提供了有关失败的详细信息。
错误结束 DTExec: 已返回包执行 DTSER_FAILURE (1)。 开始时间: 2:00:00 完成时间: 2:06:11 占用时间: 370.937 秒. 包执行失败。. 该步骤失败。
昨天发现出错后,没有做任何改动直接开始重新抽取数据,没有报错。
初步认为是数据类型的问题,根据数据抽取日志表定位到出问题的表,查看oracle和MS SQL两个库里的表的数据类型,发现完全一致,不能定位错误出现原因,求教
没有找到相关结果
3 个回复
BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2015-12-24 回答
赞同来自: 一吻红鱼 、梁勇
如果是经常性的频繁每次都发生的,那就一定是有问题的,跟数据源的关系比较大。提示也给出了 数据流任务 OLE DB 源 [1] 这个组件有问题,从数据源数据传输过来的时候读取异常了,有可能真的是数据的问题,也有可能是传输时候解析数据丢数据或者其它未知原因。
重新运行就OK的,说明程序逻辑数据本身没有什么问题。
通常情况下,JOB 执行的时候我们会配置 3次尝试的,以防偶尔因为网络或者其它原因造成失败。
天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-12-22 回答
赞同来自:
天善_小龙 2015-12-29 回答
赞同来自:
解决方案:如果失败了,重试3次,间隔半小时。
已通过电子邮件通知的操作员
已通过网络发送通知的操作员
已通过寻呼通知的操作员
重试次数 3
消息
已以用户 **** 的身份执行。 Microsoft (R) SQL Server 执行包实用工具 版本 11.0.2100.60 (32 位) 版权所有(C) Microsoft Corporation。保留所有权利。 开始时间: 0:48:22 错误: 2015-12-29 00:56:42.85 代码: 0x000002C0 源: **** [2] 说明: 遇到了 OCI 错误。 ORA-03113: 通信通道的文件结尾 进程 ID: 4748 会话 ID: 198 序列号: 3456 错误结束 错误: 2015-12-29 00:56:42.91 代码: 0x000002C0 源: **** [2] 说明: 遇到了 OCI 错误。 ORA-03113: 通信通道的文件结尾 进程 ID: 4748 会话 ID: 198 序列号: 3456 错误结束 错误: 2015-12-29 00:56:43.18 代码: 0xC0047038 源: **** SSIS.Pipeline 说明: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。**** 的 PrimeOutput 方法返回了错误代码 0x80004005。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。 错误结束 DTExec: 已返回包执行 DTSER_FAILURE (1)。 开始时间: 0:48:22 完成时间: 0:56:43 占用时间: 502.672 秒. 包执行失败。. 注意: 该步骤重试了请求的次数(3),但没有成功。. 该步骤失败。