Quantcast
Viewing all articles
Browse latest Browse all 3160

[原]Sqlcmd导入数据脚本乱码解决方法

这类问题主要针对不同机器上数据交互出现,可能会出现由于脚本文件过大,记事本/查询分析器都无法打开,只能用命令行导入

特定环境下造成乱码时,可尝试以下解决方法

A服务器-->生成单表数据脚本(文件>100MB以上)-->在B服务器导入

1、模拟在A服务器生成脚本方法

操作步骤:

Step1、在导入数据库―右健―任务―生成脚本


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

Step2、选中导出对象表


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

Step3、指定新建查询窗口和选中高级


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

Step4、在选中―高级―选中仅限数据、指定数据库(FALSE)选项


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

Step5、查看路径上生成文件格式


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

保存文件时设置为Unicode编码的脚本文件( 注意代码页数字 65001 )


Image may be NSFW.
Clik here to view.
[原]Sqlcmd导入数据脚本乱码解决方法

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导入数据脚本乱码解决方法


Viewing all articles
Browse latest Browse all 3160

Trending Articles