sqlserver导入文本数据指定多个代码页解决参考

微软sqlserver服务器版本14.0.1000,也奏是sqlserver2017。
ssms版本10.50,也走势2008R2。
在执行导入数据的过程中,导入第一次指定的文本文件编码为936,导入正常,导入第二次的文本文件编码还是936,下面这个框框
编码选择936
选择完成开始无脑下一步下一步,结果就报错,查看错误信息,很稀奇,大概意思是编码错误。
在这里插入图片描述
错误引用:错误 0xc02020f4: 数据流任务 1: 由于为列“列 1”指定了多个代码页(936 和 949),无法处理此列。
(SQL Server 导入和导出向导)。
很好奇,都指定了两个文件编码为936,为啥子说我还指定了一个949,查查949为朝鲜语。瞬间想起需要导入的两个文本文件来源是从朝鲜拷贝回来的数据库中导出的。

问题就在这里,数据库的最原始编码为949,虽然从数据库中导出两个文本文件编码为936,这两个文本文件里面的内容编码其实还是949(936编码中木有朝鲜语字符),里面还有朝鲜语也可以说是棒子语。解决方案就是在第一个图片里面选择代码页那个地方选择编码为949,再重新导入,成功。

总结:在sqlserver中导入文本文件,文件内容字符编码和文件编码都必须统一。

吐槽:sqlserver的到导入设置真滴艾次,本大爷都已经告诉导入工具了都按936编码解析就完了,没得的就乱码不就完了吗,非的报错导不进,这个地方我也只需要其中一列数据,告诉它了这个文件编码格式为936还得自己去解析成其他编码,这个是保障数据正确还是干啥?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值