标签:sql server
使用sql server 导入平面文件源数据时,报错:错误 0xc02020a1: 错误 0xc020902a: 错误 0xc02020c5;错误 0xc0047022: 返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。
错误 0xc02020a1: 数据流任务 1: 数据转换失败。列“列 6”的数据转换返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。 错误 0xc020902a: 数据流任务 1: “输出列“列 6”(34)”由于发生截断而失败,而且针对“输出列“列 6”(34)”的截断行处理设置指定截断时出错。在指定组件的指定对象上出现截断错误。 错误 0xc02020c5: 数据流任务 1: 在将列“列 6”(34)转换为列“列 6”(70)时数据转换失败。转换操作返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页中没有匹配项。”。
错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(63)时,组件“数据转换 0 - 0”(62)的 ProcessInput 方法失败,错误代码为 0xC020902A。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
|
出现这种错误,常常是导入的数据中有一些异常值,(或者说,对于数据库软件来说,是个错误值),出现没法转换,或被截断的报错。
一种办法是,找出这个异常值,可当数据量较大时,这个办法不可行。例如,笔者这次导入的数据有160多万条,不能去打开文件去找这个错误值吧。有时因为分配的数据宽度不够(默认是50),增大即可。可当是数据转换问题时,增大也没用,另外,为了一个异常值,将所有的基本类型长度改变,没必要。
第二种办法,对于这种少量的数据异常值,忽略它。即当出现异常值时,并不报错退出导入数据过程,而是忽略这个小的异常点。
操作步骤:
如图,选择要导入的文件
选择左侧的高级选项
然后,将某一列的DataType改为非默认值(当导入出现错误后,再一次重复导入时,才能看到最后一张图所示选项)
点击下一步,3次会看到如下图:
如果刚才发生了截断错误的,将选项选为忽略即可。
版权声明:本文为博主原创文章,未经博主允许不得转载。
sql server 导入平面文件源数据,错误 0xc02020a1错误 0xc020902a 错误 0xc02020c5,返回状态值 4 和状态文本“文本被截断,或者一个或多个字符在目标代码页...
标签:sql server
原文地址:http://blog.csdn.net/xinxing__8185/article/details/47355845