sql server 导入平面文件源数据,错误 0xc02020a1错误 0xc020902a 错误 0xc02020c5,返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页...

时间:2015-08-08 12:11:59   收藏:0   阅读:21962

使用sql server 导入平面文件源数据时,报错:错误 0xc02020a1: 错误 0xc020902a: 错误 0xc02020c5;错误 0xc0047022: 返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。

 

 

错误 0xc02020a1: 数据流任务 1: 数据转换失败。列“列 6”的数据转换返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
 (SQL Server 导入和导出向导)
 

错误 0xc020902a: 数据流任务 1: “输出列“列 6”(34)”由于发生截断而失败,而且针对“输出列“列 6”(34)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。
 (SQL Server 导入和导出向导)
 

错误 0xc02020c5: 数据流任务 1: 在将列“列 6”(34)转换为列“列 6”(70)时数据转换失败。转换操作返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
 (SQL Server 导入和导出向导)
 

 

错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(63)时,组件“数据转换 0 - 0”(62)的 ProcessInput 方法失败,错误代码为 0xC020902A。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)

 

 



技术分享

 

出现这种错误,常常是导入的数据中有一些异常值,(或者说,对于数据库软件来说,是个错误值),出现没法转换,或被截断的报错。

 

一种办法是,找出这个异常值,可当数据量较大时,这个办法不可行。例如,笔者这次导入的数据有160多万条,不能去打开文件去找这个错误值吧。有时因为分配的数据宽度不够(默认是50),增大即可。可当是数据转换问题时,增大也没用,另外,为了一个异常值,将所有的基本类型长度改变,没必要。

 

第二种办法,对于这种少量的数据异常值,忽略它。即当出现异常值时,并不报错退出导入数据过程,而是忽略这个小的异常点。

 

操作步骤:

 

如图,选择要导入的文件

 技术分享

选择左侧的高级选项

 

技术分享

 

然后,将某一列的DataType改为非默认值(当导入出现错误后,再一次重复导入时,才能看到最后一张图所示选项)

 

 

 

 技术分享

 

 

点击下一步,3次会看到如下图:

 

 

 技术分享

如果刚才发生了截断错误的,将选项选为忽略即可。

版权声明:本文为博主原创文章,未经博主允许不得转载。

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!