SSIS报错2

shawnmeng 2009-05-19 04:32:14
从Oracle10g导入数据到 sqlserver2008
进行到10000多行时报错。
报错如下:
[SQL Server 目标 [989]] 错误: 无法将行发送到 SQL Server,错误代码为 0x80004005。
[SSIS.Pipeline] 错误: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“SQL Server 目标输入”(1005)时,组件“SQL Server 目标”(989)的 ProcessInput 方法失败,错误代码为 0xC02020C7。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
[OLE DB 源 [1]] 错误: 无法向数据流任务缓冲区添加行,错误代码为 0xC0047020。
[SSIS.Pipeline] 错误: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“OLE DB 源”(1) 的 PrimeOutput 方法返回了错误代码 0xC02020C4。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。


导数据sql
select bingrenid as outpatient_id,
'' as inpatient_id,
binganhao as MRN,
xingming as patient_name,
xingbie as gender,
to_date(to_char(chushengrq,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as BOD,
jiatingdz as address,
to_date(to_char(xiugaisj,'yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss') as start_date,
to_date('9999-12-31','yyyy-mm-dd hh24:mi:ss') as end_date
from gy_bingrenxx

各位高手给看一下。
...全文
1193 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2009-05-23
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hery2002 的回复:]
注意数据格式的转换,
Oracle的数据类型和SQL Server的数据类型之间要通过转换才能够导入的.
[/Quote]。。。。。。。。。。。。。
hery2002 2009-05-23
  • 打赏
  • 举报
回复
还有就是编码格式等等,都要注意》
hery2002 2009-05-23
  • 打赏
  • 举报
回复
注意数据格式的转换,
Oracle的数据类型和SQL Server的数据类型之间要通过转换才能够导入的.
Ray_Zhang 2009-05-21
  • 打赏
  • 举报
回复
SSIS 数据迁移时很多情况会报错,尤其是从不同的数据源导数据时,有几个地方可能出现问题。
1,你的server服务器是64位的吗,要在Project->XXX Properties...的DEBUGGING设置Run64BitRuntime
2,减少SSIS后台忽略datapipeline内部错误在dtsx的Package Properties里Excecution段设置MaximumErrorCount=0
3,在选择了DataFlowSources部分后,使用DataFlowTransformations的DataConversion转换你从Oracle里导出的数据的类型
4,如果还是有的到10000多行才报错,那一定是字段长度的问题,你就要在你选择的DataFlowSources控件的Input and Output Properities里,就该Output的数据类型或大小。

你可以试试看以上的方法。不该我用的是2005不知道跟2008有没有区别。
希望有帮助

Best Regards
Ray
nzperfect 2009-05-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 shawnmeng 的帖子:]
从Oracle10g导入数据到 sqlserver2008
进行到10000多行时报错。
报错如下:
[SQL Server 目标 [989]] 错误: 无法将行发送到 SQL Server,错误代码为 0x80004005。
[SSIS.Pipeline] 错误: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“SQL Server 目标输入”(1005)时,组件“SQL Server 目标”(989)的 ProcessInput 方法失败,错误代码为 0xC02020C7。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是…
[/Quote]

目标表是否在导之前已存在?
如果已存在,列宽够不够?
SQL77 2009-05-19
  • 打赏
  • 举报
回复
ProcessInput ???这是什么呀,它这里有错,不过不懂!!!
--小F-- 2009-05-19
  • 打赏
  • 举报
回复
看看 不会

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧