这类问题主要针对不同机器上数据交互出现,可能会出现由于脚本文件过大,记事本/查询分析器都无法打开,只能用命令行导入
特定环境下造成乱码时,可尝试以下解决方法
A服务器-->生成单表数据脚本(文件>100MB以上)-->在B服务器导入
1、模拟在A服务器生成脚本方法
操作步骤:
Step1、在导入数据库―右健―任务―生成脚本
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_0.jpg!web)
Step2、选中导出对象表
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_1.jpg!web)
Step3、指定新建查询窗口和选中高级
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_2.jpg!web)
Step4、在选中―高级―选中仅限数据、指定数据库(FALSE)选项
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_3.jpg!web)
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_4.jpg!web)
Step5、查看路径上生成文件格式
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_5.jpg!web)
保存文件时设置为Unicode编码的脚本文件( 注意代码页数字 65001 )
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_6.jpg!web)
2、在B服务器导入
Step1、开始―运行―cmd
Step2、在命令输入
sqlcmd -E -S "实例名" -d 数据库名 -u -i "D:\script.sql"导入后显示中文显示乱码
--解决方法:
加命令-f 65001
命令说明:
Input/Output Options -fcodepage | i:codepage[ ,o:codepage] | o:codepage[ ,i:codepage] 指定输入和输出代码页。 代码页页码是指定已安装的 windows 代码页的数值。 代码页转换规则: 如果未指定代码页, sqlcmd 会将当前代码页同时用于输入文件和输出文件,除非输入文件为 Unicode 文件,在此情况下无需进行转换。 sqlcmd 自动识别 Big-endian Unicode 和 Little-endian Unicode 输入文件。 如果已指定 -u 选项,输出将始终为 Little-endian Unicode。 如果未指定输出文件,输出代码页将为控制台代码页。 这将使输出正确显示在控制台上。 假定多个输入文件具有相同的代码页。 可以将 Unicode 和非 Unicode 输入文件混合在一起。 在命令提示符处输入 chcp 以验证 Cmd.exe 的代码页。--命令行运行
sqlcmd -E -S "实例名" -d 数据库名 -f 65001 -i "D:\script.sql"可以chcp验证代码页
如:
Image may be NSFW.
Clik here to view.
![[原]Sqlcmd导入数据脚本乱码解决方法](http://www.codesec.net/app_attach/201609/23/20160923_419_473668_7.jpg!web)