查看服务器端字符集:
在isql环境中执行:
1>; sp_helpsort
2>; go
查看客户端字符集:
在isql环境中执行:
1>; select @@client_csname
2>; go
修改服务端字符集方法:
假设sybase安装目录为$sybase$
1)转到$sybase$\ASE-15_0\bin目录
执行命令:charset -Usa -P binary.srt cp936或:
(1).c:\>cd \sybase\charsets\cp936
(2).c:\sybase\charsets\cp936> charset -Usa -Psa_pass -Sserver_name binary.srt cp936
2) 打开isql,执行下面的SQL查询出cp936对应的id
select id , name from syscharsets where name = 'cp936'
go
假设查询结果为171
执行下面语句设定默认字符集
sp_configure 'default char',171 --可能有误,以上面的查询结果为准
go
关闭ASE
shutdown
go
3)重新启动sybase服务两次(第一次启动会失败),启动服务注意:
1、更改字符集后现有数据库内表的数据会不能访问,所以更改字符集一定要备份数据(用bcp工具导出数据,和把建表的sql备份),所有表的数据要清空
2、用bcp导入时加上字符集参数:
bcp "grocery.dbo.[au_cache]" in "d:\temp\grocery\au_cache.txt" -c -J"cp936" -b"500" -e"d:\temp\grocery_au_cache.out" -U"sa" -P"" -t"#|#" -r"#$#"
3、用bcp导入前sybase应先做如下的配置:c:\>isql -Usa -P
1> use master
2> go
1> sp_dboption cqweb,"select into/bulkcopy",true