日期:2014-05-17  浏览次数:20706 次

关于EXCEL导入SQL2008R2表 报错的问题
OS :WIN7 64位
DB :SQL2000 还有SQL2008R2 (笔记本上装了2个数据库)

问题描述

CREATE TABLE KHML

(
 DM VARCHAR(20) NULL,
 DW VARCHAR(200) NULL,
 BM VARCHAR(20) NULL,
 DZ VARCHAR(100) NULL,
 ZH VARCHAR(100) NULL,
 OB VARCHAR(100) NULL,
 DH VARCHAR(30) NULL,
 DB VARCHAR(30) NULL,
 ZZ VARCHAR(100) NULL,
 SH VARCHAR(20) NULL
)

将EXCEL 导入此表时提示:
  操作 状态 消息
正在初始化数据流任务 成功 
正在初始化连接 成功
正在设置SQL命令 成功
正在设置源连接 成功
正在设置目标连接 成功
正在验证 成功
准备执行 成功
执行之前 成功
正在执行 错误 消息
正在复制到DBO.KHML 已停止
执行之后 成功

上面显示的消息为:
- 正在执行 (错误)
消息
错误 0xc02020c5: 数据流任务 1: 在将列“DW”(18)转换为列“DW”(122)时数据转换失败。转换操作返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
 (SQL Server 导入和导出向导)
 
错误 0xc020902a: 数据流任务 1: “输出列“DW”(122)”由于发生截断而失败,而且针对“输出列“DW”(122)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
 (SQL Server 导入和导出向导)
 
错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(111)时,组件“数据转换 0 - 0”(110)的 ProcessInput 方法失败,错误代码为 0xC020902A。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc02020c4: 数据流任务 1: 无法向数据流任务缓冲区添加行,错误代码为 0xC0047020。
 (SQL Server 导入和导出向导)
 
错误 0xc0047038: 数据流任务 1: SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。组件“源 - KHML$”(1) 的 PrimeOutput 方法返回了错误代码 0xC02020C4。管道引擎调用 PrimeOutput() 时该组件返回了一个失败代码。虽然该失败代码只与该组件有关,但这个错误是致命的,管道已停止执行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)


我用相同的脚本在SQL2000中建立的库表 导入就很正常 。数据顺利导入。



------解决方案--------------------
没装ssis吧?
------解决方案--------------------
字段类型,长度不一致。