您的位置:首页 > 数据库

从 bcp 客户端收到的列值对列 id 12 无效。

2018-01-19 17:51 211 查看
100万数据的txt文本  导入到sqlserver数据库中  出现错误
 - 正在复制到 [dbo].[Table_Exp6] (错误)消息
错误 0xc0202009: 数据流任务 1: SSIS 错误代码 DTS_E_OLEDBERROR。出现 OLE DB 错误。错误代码: 0x80004005。
已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 说明:“从 bcp 客户端收到的列值对列 id 12 无效。”。
 (SQL Server 导入和导出向导)
 
错误 0xc0209029: 数据流任务 1: SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“输入“Destination Input”(43)”失败,错误代码为 0xC020907B,而且针对“输入“Destination Input”(43)”的错误行处理设置指定一旦出错就失败。在指定组件的指定对象上出错。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)
 
错误 0xc0047022: 数据流任务 1: SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“Destination Input”(43)时,组件“目标 - Table_Exp6”(30)的 ProcessInput 方法失败,错误代码为 0xC0209029。标识的这个组件从 ProcessInput 方法返回了一个错误。虽然该错误是此组件特有的,但却是致命的,将导致数据流任务停止运行。可能在此之前已经发出错误消息,提供了有关失败的详细信息。
 (SQL Server 导入和导出向导)

经测试导入到1万多条时突然报错,尝试把所有字段的DataType类型改为文本流,还是不行 仍然提示这个错误 



最后找到出问题的数据区间,发现某个字段的数据量庞大,然后把有问题的数据单独导出到文本中,因为默认导出的文本编码为ANSI,尝试把文本另存为 并修改编码为UTF-8,再次导入 发现可以导入成功,但数据却是乱码。接下来把文本另存为Unicode编码,然后导入时DataType 选择Unicode文本流,然后发现可以导入成功,数据也正常了。





还有一个问题就是,如果txt文本过大,无法打开另存为转码,推荐使用转码工具。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据 SqlServer
相关文章推荐