将文本文件保存为 GBK 也就是 936 格式
结合SQL语句导入sqlserver中。
SQL语句:
bulk insert runtime.[dbo].T_data
from 'D:\漏板功率.txt'
with (FIELDTERMINATOR =',',ROWTERMINATOR = '\n',firstrow=2,CODEPAGE='936')
错误:bulk insert 服务器不支持代码页 65001。
文件已经改成GBK格式,但依旧还是会出现报错,错误说我们格式不是GBK而是UTF8
原因:
操作系统的区域设置中,此选项会默认使用UTF8打开文件。因此SQL语句提示错误
解决办法:
将区域设置中的选项关闭。
PS:打sp2的补丁,使 bulk insert 能够使用UTF8,依旧会有问题,更新完毕sqlserver服务将无法打开,查询日志会有错误:
无法恢复 master 数据库。SQL Server 无法运行。请利用完整备份还原 master 数据库,修复它,或者重新生成它。有关如何重新生成 master 数据库的详细信息,请参阅 SQL Server 联机丛书。
由于升级步骤 'msdb110_upgrade.sql' 遇到错误 200(状态 7,严重性 25),因此数据库 'master' 的脚本级别升级失败。这是一种错误情况,可能会妨碍正常操作,且数据库将脱机。如果在 'master' 数据库升级过程中发生该错误,将阻止整个 SQL Server 实例启动。请在以前的错误日志条目中检查相关错误,采取相应的更正措施,然后重新启动数据库,以便完成脚本升级步骤。
解决办法,依旧是将Beta:UTF8选项关闭。
参考:資料庫 ‘master‘ 的指令碼層級升級失敗,因為升級步驟 ‘msdb110_upgrade.sql‘ 發生錯誤 200,狀態 7,嚴重性 25_半吊子的程序狗的博客-CSDN博客
sql server2014使用BULK INSERT导入UTF-8数据中文乱码问题_Jedi_LK的博客-CSDN博客