教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 互联网资料 >

sybase修改字符集

来源:网络收集 时间:2026-08-29
导读: Sybase数据库 进入isql模式: 在dos界面中输入:isql –Usa –P111111 –Szhouyx 分别代表用户名 密码 服务器名 修改字符集 Sybase修改字符集(cp850 to cp936) 最重要的命令是:C:\\sybase\\charsets \\cp936>charset -Usa -Psybase -Sdiren binary.srt cp

Sybase数据库 进入isql模式:

在dos界面中输入:isql –Usa –P111111 –Szhouyx 分别代表用户名 密码 服务器名

修改字符集

Sybase修改字符集(cp850 to cp936)

最重要的命令是:C:\\sybase\\charsets \\cp936>charset -Usa -Psybase -Sdiren binary.srt cp936

新中大软件字符集 转换为cp936技术说明

一、为什么要修改现在使用的数据库的字符集?

安装ASE数据库默认的字符集为CP850,其对 于中文的字符集(GB2312)比较少,很多汉字无法保存,导致在备份恢复时出错。

二、替换数据库字符集比较好的时间是什么时候? 建议在业务不繁忙进行该项工作。

三、确认修改数据库字符集的时间后,你的重要工作是什么? 注意:全部备份你的数据库,并且你要确保你的备份是有效的。

四、修改数据库字符集的整个思路是什么?

1、确认服务器停止 对外服务前,完整地备份你的数据库。

2、将原来cp850或iso-1字符集的数据库数据bcp out到你指定的文件目录下。 3、重新 构造你的服务器,配置你的服务器字符集为cp936。 4、重新建立并规划你的数据库。

5、将bcp out出来的数据bcp in 到新的数据库里(该数据库的字符集环境为cp936)。 6、修改并配合应用程序使其能够正常运行。确保对客户端最小化影响。

五、 修改的操作步骤

以下假设:

Sybase server 名:asesrv (在Dsedit中设置) Sybase sa的口令:sybase 生产库名:test

操作的目录:d:\\shen

建议:按照以上假设,只需要将所有的生产库名test替换成你的生产库名字!

1、停止数据库服务器对外服务,注意并不是停止你的服务器的 服务。检查一下master库的大小,不能小于40M。

2、备份你的数据库,注意是全部备份。建议你将你的数据库做一次DBCC。 1>dump database test to “d:\\shen\\test.dmp” 2>go

3、生成批处 理文件

3.1 生成用户表BCP OUT批处理文件bcpout.bat

3.1.1 修改bcpout.txt文件,使其符合你的实际情况,bcpout.txt文件内容为:

select 'bcp test..' + name + ' out ' + '\from sysobjects where type='U' order by name go

3.1.2 在DOS命令下执行以下命令:

? d:\\ren\\>isql -U sa -Psybase -Sasesrv -Dtest -ibcpout.txt -obcpout.bat

3.1.3 编辑结果文件bcpout.bat,将开头和结尾多余部分去掉,并查找到“GG_XTHP”,将该行删除(系统帮助表,因为包含有Text字段不能正常 bcp in/out)。

3.2 生成用户表BCP IN批处理文件bcpin.bat

3.2.1 修改bcpin.txt文件,使其符合你的实际情况,bcpin.txt文件内容为:

select 'bcp test..' + name + ' in ' + '\from sysobjects where type='U' order by name go

3.2.2 在DOS命令下执行以下命令:

? d:\\ren\\>isql -U sa -Psybase -Sasesrv -Dtest -ibcpin.txt -obcpin.bat

3.2.3 编辑结果文件bcpin.bat,将开头和结尾多余部分去掉,并查找到“GG_XTHP”,将该行删除(系统帮助表,因为包含有Text字段不能正常 bcp in/out)。

4、导出数据

? 在DOS命令下执行4.1.3的结果文件bcpout.bat,得到数据。 ? d:\\shen\\>bcpout > bcpout_error.txt

? 导出结束后,检查输出文件bcpout_error.txt,看看有没有错误。

5、采用DBArtisan 7.2.1工具Extract以下文件,请严格按照以下顺序。

5.1 Check_Constraints.sql(导出后drop)

5.2 Foreign_keys.sql(导出后drop)

5.3 Indexes.sql(导出后drop)

5.4 Primary_Keys.sql (导出后drop),注意:可能出现FP_SNJZFP、SB_DZSBQKB不能drop,不必理会。

5.5 Procedures.sql

5.6 Triggers.sql(导出后drop)

5.7 Tables.sql

5.8 Views.sql

5.9 Sybase账号,导出可以参考以下命令:

? D:\\shen\\>bcp master..syslogins out syslogins.dat -c -Usa -Psybase -Sasesrv -F4

6、 在isql状态下查看原来数据库字符集使用情况,服务器和客户端的都要查看,方法是: ? 获得服务器端的字符集情况: ? 1>sp_helpsort ? 2>go

? 输出结果应为: Character Set = 2, cp850

Code Page 850 (Multilingual) character set. Sort order = 50, bin_cp850

Binary Sort order for Code Page 850 (cp850).

获得客户端字符集情况: 1>select @@client_csname 2>go

输出结果应为:iso_1

说明:很多时候应用程序报错,客户端和服务器端字符集不相匹配。

7、查看原来数据库设备使用情况(主要是起参考作用),并做详细记载: 1>sp_helpdb test 2>go

检查点:确认你的以上准备工作已经全部做好。

8、在 Sybase Central中将原来的生产数据库删除。

************************************************************** 经 过测试确认:数据库设备不需要删除,Sybase服务不需要重建!

注意:如果决定不重建Sybase服务,请直接跳过第9步直接到第10步! **************************************************************

9、 删除生产库设备,删除注册表相关键,重建Sybase服务。

9.1 删除生产库设备

9.2 停止Sybase服务,运行Sybase服务器配置工具,Remove Adaptive Server删除服务器diren,删除生产库物理文件,删除C:\\sybase\\data目录下文 件:master.dat,sybprocs.dat。

9.3 清理注册表信息(为了保证本次修改后的数据库服务器asesrv和原来的一样,将原来的相关服务器asesrv删除)。

\\\\HKEY_LOCAL_MACHINE\\SOFTWARE\\SYBASE\\Server\\DIREN \\\\HKEY_LOCAL_MACHINE\\SOFTWARE\\SYBASE\\Server\\DIREN_BS \\\\HKEY_LOCAL_MACHINE\\SOFTWARE\\SYBASE\\Server\\DIREN_HS \\\\HKEY_LOCAL_MACHINE\\SOFTWARE\\SYBASE\\Server\\DIREN_MS \\\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment下相关键。

\\\\HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services下以下键: SYBSQL_DIREN

?? SYBXPS_DIREN_XP ?? SYBBCK_DIREN_BS ?? SYBMON_DIREN_MS ?? SYBHIS_DIREN_HS

? ControlSet001以及ControlSet002等中的CurrentControlSet键中的相应键也要删除(如果有的话)。

9.4 运行Sybase服务器配置工具重新build server,使用原来数据库服务器名字。

9.5 重新设置服务器参数,调整master库大小,增加tempdb库大小。

10、将数据库的缺省字符集设置为cp936: C:\\>cd sybase

C:\\sybase>cd charsets

C:\\sybase\\charsets>cd cp936

C:\\sybase\\charsets\\cp936>charset -Usa -Psybase -Sasesrv binary.srt cp936

你将看到下面的信息,表示这时你已经成功添加了cp936字符集到你的系统中。 Loading file 'binary.srt'. Found a [sortorder] section. This is Class-1 sort order.

Finished loading the Character Set Definition. Finished loading file 'binary.srt'. 1 sort order loaded successfully

11、接着是将添加的 cp936设 …… 此处隐藏:3825字,全部文档内容请下载后查看。喜欢就下载吧 ……

sybase修改字符集.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/444343.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)