设置SYBASE数据库的字符集
- 格式:doc
- 大小:35.00 KB
- 文档页数:3
在安装sybase中,如果选择的语言和字符集与实际要求不同,安装完成后,可以再更改,步骤如下:
以hp下的sybase为例,假设要将语言和字符集改为chinese和eucgb。
1)首先利用命令:
$ cd /home/sybase/charsets/eucgb
$ charset -Usa -P binary.srt eucgb
该步骤安装字符集eucgb。
2)
$isql -Usa -P
1>select name,id from syscharsets
2>go
找到name为eucgb 对应的id(假设为170)
1>sp_configure "default character set id",170
2>go
3)重启server两次
(注:第一次启动后,server会自动宕掉,需要第二次重启后才能使用)
以上三步修改字符集。
语言的修改如下:
4) 使用sql语句:
select * from syslanguages
查看是否已安装了相应的语言。
如果没有则进行:
$ cd /home/sybase
$ langinstall -Usa -P chinese eucgb
命令运行完成后,再执行sql语句:select * from syslanguages
查到所安装语言的langid,假设为1
运行语句:
sp_configure "default language id",1
go
就可以了。
SYBASE数据库字符集问题最近做一个项目,需要使用SYBASE数据库。
基本功能就是从SYBASE中读取信息在页面显示。
页面字符集是UTF-8SYBASE默认字符集是 ENCGB本来功能是正常的。
最近发现一个问题,在数据库中保存一些生僻字后,如果直接用isql在SYBASE数据库里写是可以正常保存的。
例如:喆,在数据库里保存是正常的。
但是通过JDBC连接数据库,读出来的却是“?”连接数据库的URL是这样写的。
jdbc:sybase:Tds:localhost:5007/myDB?charset=cp936普通汉字都可以正常的进行读写,只有那些生僻字无法显示。
SYBASE数据库中也添加了cp936字符集。
但是还是无法正常读写生僻汉字。
数据库的默认字符集不允许改为“CP936”,所以只能在连接字符串上添加字符集CP936大家有没有遇到过这种问题。
通过JDBC连接SYBASE获取的结果是什么字符集的呢?可以在读写的时候对字符串的编码进行转换吗?问题补充dong706gmail 写道你的问题我也碰到过,一开始设置的连接字符集是utf-8,结果读取不了生僻字。
把连接字符集设置为 gb18030 就可以了。
String url ="jdbc:sybase:Tds:10.25.36.21:4100?charset=gb18030";连接字符设置为GB18030后,直接报错ava.sql.SQLException: JZ0I5: 指定了一个无法识别的CHARSET 属性: gb18030。
atcom.sybase.jdbc3.jdbc.ErrorMessage.raiseError(ErrorMessage.jav a:552)at com.sybase.jdbc3.tds.Tds.setCharConvert(Tds.java:3208) at com.sybase.jdbc3.tds.Tds.setCharConvert(Tds.java:3158) at com.sybase.jdbc3.tds.Tds.login(Tds.java:413)atcom.sybase.jdbc3.jdbc.SybConnection.tryLogin(SybConnection.j ava:247)atcom.sybase.jdbc3.jdbc.SybConnection.regularConnect(SybConn ection.java。
Sybase数据库管理手册目录Sybase 数据库安装说明 (3)一、安装前准备工作 (3)二、安装主程序 (3)三、安装后打补丁 (6)四、重启后创建Sybase服务 (6)五、字符集设置 (11)六、还原HIS数据库 (13)七、Sybase服务不能启动时 (19)八、配置参数 (21)客户端安装说明 (29)一、安装客户端 (29)二、配置客户端 (29)Sybase 数据库的备份、恢复 (29)Sybase 数据库维护 (30)Sybase数据常用命令的使用 (31)Sybase 数据库安装说明一、安装前准备工作●先将Sybase安装文件夹(ASESERVER)拷贝到要安装的机器硬盘上。
(此文件夹下文中都用d:\Tooll\ASESERVER)●将Sybase的补丁拷贝到要安装的机器硬盘上●处理安装时的字符集问题(防止安装时出现乱码)对于不同的Windows版本的操作系统Sybase都要进行字符集文件的修改,下面是不同二、安装主程序●进入安装程序完成安装前的准备工作后就可以双击D:\TOOLS\ASESERVER\setup。
exe文件进入Sybase安装程序。
选择"自定义安装”单击”下一步”●确定安装目录选择安装目录是不要选择有磁盘阵列或做了Raid的盘,也不要选择操作系统所在的磁盘。
●选择安装组件在组件选择中可以用默认选项单击”下一步”●安装总结在总结处要注意所需空间是不是小于可用空间,如果不是则要将安装的磁盘清除一些文件来达到所需空间.单击“下一步”进行安装进行状态●安装进度●录入注册信息●重启提示完成安装后提示是否重新启动机器,按否不重启机器。
然后将补丁拷贝到安装目录。
三、安装后打补丁将\ASE补丁\ebf11574\Server目录下的所有文件拷贝到Sybase安装目录下例如安装目录为C:\Sybase将C:\sybase\shared—1_0\jre1。
2.2\lib\font。
sybase数据库配置cp936字符集过程详解使用数据时,经常会遇到字符集乱码的问题,最近在使用Sybase数据库时,我也遇到了这个问题,几经周折,终于将字符集配置正确,现将在sybase数据库下配置中文字符集的过程写下,以供参考。
首先,在isql环境下检查当前服务器的字符集安装情况,方法如图示其中,—U后为服务器名称,默认为sa,—P后为服务器密码,默认为空,如果有多个服务器,后面还要加上—S+服务器名。
当然不同机子配的不一样。
如果你查询的结果中没有cp936(如图示),那么你必须先安装,方法如下。
因为我机子里已经装了cp936,所以显示已安装的信息;安装完成后在进行刚才的查询,记下cp936对应的id,下面就开始设置服务器默认的字符集了。
执行完命令后重启ASE两次(切记是两次),查询服务器的默认字符集:可以看到默认字符集已经是cp936了,这里的乱码可以不管。
下面配置客户端的字符集,进行如下查询:可以看到笔者客户端字符集为utf-8,客户端字符集更改是在安装目录下Sybase/locales/locales.dat文件中更改的,用文本编辑工具打开locales.dat 找到:[NT]locale = enu, us_english, iso_1locale = fra, french, iso_1locale = deu, german, iso_1locale = rus, russian, cp1251locale = hun, us_english, cp1250locale = ell, us_english, cp1253locale = heb, us_english, cp1255locale = ara, us_english, cp1256locale = trk, us_english, cp1254locale = esp, spanish, iso_1locale = jpn, japanese, sjislocale = japanese, japanese, sjislocale = chs, chinese, eucgblocale = cht, us_english, big5locale = kor, korean, cp949locale = us_english.utf8, us_english, utf8locale = zh, chinese, eucgblocale = zh_CN, chinese, eucgblocale = zh_TW, us_english, big5locale = zh_HK, us_english, big5hklocale = ja, japanese, sjislocale = ja_JP, japanese, sjislocale = ko, korean, cp949locale = ko_KR, korean, cp949locale = fr, french, iso_1locale = fr_BE, french, iso_1locale = fr_CA, french, iso_1locale = fr_CH, french, iso_1locale = fr_FR, french, iso_1locale = fr_LU, french, iso_1locale = default, chinese, utf8将最后一行改为你所需的客户端字符集即可。
如何解决Sybase数据库乱码问题详解Sybase数据库是一种常用的关系型数据库管理系统(RDBMS),它被广泛应用于企业级应用程序的开发和管理中。
然而,在使用Sybase数据库过程中,我们有时会遇到乱码问题。
乱码是指数据库中存储的数据在显示过程中出现了不正常的字符或者无法识别的字符。
本文将详细介绍如何解决Sybase数据库乱码问题。
一、乱码问题的原因分析乱码问题的产生原因非常多样化,下面列举了一些常见的原因:1. 字符集不匹配:数据库中使用的字符集与应用程序中使用的字符集不一致会导致乱码问题。
2. 数据导入不正确:如果在导入数据时未指定正确的字符集,则可能导致数据乱码。
3. 数据存储不正确:如果数据库中存储的字符串没有使用正确的字符集,将会导致乱码问题。
4. 字符串处理不当:在应用程序中对字符串进行处理时,如果没有正确处理字符集,数据可能会出现乱码。
5. 系统环境配置问题:有时,操作系统、数据库软件或应用程序中的某些配置存在问题,也可能导致乱码问题。
二、解决乱码问题的方法针对上述原因,可以采取以下一些解决乱码问题的方法:1. 修改字符集配置:确保数据库中使用的字符集与应用程序中使用的字符集一致。
可以通过修改数据库或应用程序的配置文件来设置正确的字符集。
2. 指定正确的字符集进行导入:在导入数据时,需要指定正确的字符集,以保证数据能够正确地存储到数据库中,避免乱码问题的发生。
可以根据具体情况使用不同的导入工具或命令来完成这个操作。
3. 使用合适的数据类型:在创建数据库表时,选择合适的字符数据类型来存储字符串。
根据具体情况选择varchar、nvarchar等数据类型,并指定正确的字符集。
4. 对字符串进行正确的处理:在应用程序中,对于涉及到字符串处理的操作,需要确保使用了正确的字符集。
比如,对字符串进行拼接、截取、比较、转换等操作时,都需要注意字符集的一致性。
5. 检查系统环境配置:如果乱码问题持续存在,需要检查系统环境配置是否正确,包括操作系统、数据库软件和应用程序的相关配置。
如何解决Sybase数据库乱码问题详解搭建测试数据库服务器时,遇到了乱码问题,之前没有遇到是因为开发数据库服务器是早就安装好并设置好字符集的,因此些问题在部署测试环境时才出现,当时已经将数据库配置完毕,并且所有的初始化脚本都已经执行完毕,工程也已经成功部署在WebLogic上,打开IE,运行程序,却发现所有从数据库中读取出来的都是乱码,经过上网搜索的相关资料,需要设置字符集,但刚开始查找到的资料基本是都是支言片语,没有一个系统的讲解如何设置字符集,几乎将他们所有的方法都试过了,结果不但没有弄好,甚至连控制台和SQL平台都是乱码了,实在弄不明白了,就去问高人了,他给我发了一个专门讲解字符集的文档,讲的很全面,而且通过他的帮忙终于将解决了乱码问题。
下面我总结一下设置字符集的过程:1、安装完Sybase后,如果要想设置字符集为CP936,就必须先安装该字符集,因为Sybase默认的字符集表中并没有该字符集,安装步骤如下:(这里 SYBASE 的安装路径为c:\sybase) 1.c:\>;cd \sybase\charsets\cp9362.c:\sybase\charsets\cp936>; charset -Usa -Psa_pass -Sserver_name binary.srt cp936通过上述命令就成功将CP936字符集安装表Sybase的系统字符集表中,但必须重启Sybase服务两次才能看到结果,可以通过查看 master 数据库中的syscharsets表查看是否已经安装成功,我们可以看到已经安装成功了:1002,171,0,1,'cp936', 'CP936 (Simplified Chinese).',’…’2、看到CP936的编号为171,我们需要在Sybase的属性中设置系统字符集为该ID,如下图所示:如果设置完字符集成出现错误,是因为master数据库的表空间默认只分配几百K的空间,导入新的数据后已经没有足够的空间了,所以要对master数据库设置大一些的表空间,点击master数据库右键属性,选择表空间的tab页,对原有的表空间编辑重新分配大小,将master所有的表空间都分配了就可以解决该问题。
Sybase数据库安装手册北京恒泰实达科技股份有限公司2016年9月12日目录1.Sybase数据库安装 (1)2.创建数据库实例 (11)3.设置服务端字符集 (12)4.修改用户sa密码 (14)5.添加、修改、删除服务器条目 (15)6.Visu工程包配置 (20)1.Sybase数据库安装1)打开Sybase数据库安装包,双击setup.exe,如图1-1所示图1-12)出现欢迎界面,直接点击next即可。
如图1-2所示,图1-23) 下面选择相应国家的协议,咱是中国人,当然选择“中华人民共和国”啦,并选择下面单选钮“我同意”,next。
如图1-3所示图1-34) 选择Sybase数据库的主目录,我选择的E盘,因为这个盘是NTFS格式的,数据库文件都比较大(单个文件),如果单个文件超过4G,FAT32格式的磁盘就会出错。
大家可根据磁盘空间分配进行改动,但目录名Sybase,最好不要改动,方便日后维护,若改动注意不要用中文,请使用英文字母名。
如图1-4所示图1-45) 点击【Next】后,若路径名不存在,会提示创建,选[是]即可。
6)接下来选择自定义(Custom)安装,如图1-5所示图1-57) 选择你要安装的文件,服务器嘛,最好全选。
如图1-6所示图1-68) 接下来,next即可。
如图1-7所示图1-79) 接下来你将看到安装进度条,这个过程比较漫长,大家耐心等待……,如图1-8所示图1-810) 接下来复选框全选。
如图1-9所示图1-9选中[自定义配置新的Adaptive Server]选项和自定义配置新的Backup Server选项,对Adaptive Server、Backup Server服务进行手工设置,点击【Next】下一步,如图1-10所示图1-1011) Adaptive Server配置如下,Adaptive server名称为“visu”端口号为5000,页大小选择“8k”,其中名称端口可更改,页大小必须是“8k”。
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>go3、生成批处理文件3.1 生成用户表BCP OUT批处理文件bcpout.bat3.1.1 修改bcpout.txt文件,使其符合你的实际情况,bcpout.txt文件内容为:select 'bcp test..' + name + ' out ' + '"' + 'd:\shen\' + name + '.dat' + '"' + ' -c -Usa -Psybase -Sasesrv' from sysobjects where type='U' order by namego3.1.2 在DOS命令下执行以下命令:? d:\ren\>isql -U sa -Psybase -Sasesrv -Dtest -ibcpout.txt -obcpout.bat3.1.3 编辑结果文件bcpout.bat,将开头和结尾多余部分去掉,并查找到“GG_XTHP”,将该行删除(系统帮助表,因为包含有Text字段不能正常bcp in/out)。
1、因为Sybase数据库默认安装的字符集为cp850,因此对中文的支持不够理想。
数据库服务器必须为iso_1字符集,转化步骤如下:①到DOS窗口下,用以下命令登陆fs315数据库服务器:isql -Usa -P -Sfs315其中-U为登陆用户名,这里为sa;-P为登陆用户名对应的密码,这里为空;-S为登陆的数据库服务名,这里为fs315。
②输入命令sp_helpsort查看数据库默认的字符集:③查看输出的最后几行,如下图:④可以看出Sybase数据库默认安装的字符集为cp850,接下来进行安装iso_1字符集:用quit退出数据库服务,进入D:\Sybase\charsets\iso_1目录⑤输入命令:charset -Usa -P -Sfs315 binary.srt iso_1⑥在上图中输入yes,出现如下图:出现“1 sort order loaded successfully”表示字符集已经安装成功。
⑦接下来需要将默认字符集改为iso_1首先用isql -Usa -P -Sfs315登陆数据库服务器,然后用select name,id from syscharsets查找iso_1字符集的id号,如下图:用sp_configure "default character set id",1命令设置sybase默认字符集id为iso_1⑧用quit退出数据库服务,重新启动Sybase SQLServer _ fs315服务,第一次会出现如下错误:点击确定,然后再进行启动,即可正常启动服务。
⑨用isql -Usa -P -Sfs315登陆数据库服务器,输入命令sp_helpsort查看数据库默认的字符集,默认字符集已经变成了iso_1,说明操作已经成功。
设置SYBASE数据库字符集
2012-09-14 13:55:45| 分类:Sybase数据库|字号订阅
更改SYBASE默认字符集为CP936
注意:更改字符集后要重新建立数据库。
1、在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
说明:很多时候应用程序报错,客户端和服务器端字符集不相匹配。
2、将数据库的缺省字符集设置为cp936:
C:\>cd sybase
C:\sybase>cd charsets
C:\sybase\charsets>cd cp936
C:\sybase\charsets\cp936>charset -Usa -Psybase -Sdiren 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
3、接着是将添加的cp936设置为你的缺省值。
方法是:
C:\sybase\charsets\cp936>isql -Usa -Psybase -Sdiren
1> select name,id from syscharsets
2> go
ascii_8 0
iso_1 1
cp850 2
bin_iso_1 50
bin_cp850 50
bin_cp936 50
cp936 171
这样知道你的cp936的ID号是171
4、将server的数据库缺省的字符集设置为cp936
1> sp_configure 'default character set id',171
2> go
In changing the default sort order, you have also reconfigured SQL Server's default character set.
Parameter Name Default Memory Used Config Value Run Value
------------------------------ ----------- ----------- ------------ -----------
default character set id 1 0 171 2
(1 row affected)
Configuration option changed. Since the option is static, Adaptive Server must be rebooted in order for the change to take effect.
(return status = 0)
5、重新启动服务器两次(参考使用DOS命令net start SYBSQL_diren)。
第一次启动报错“服务器SYBSQL_diren不能启动,请检查它的配置”很正常,第二次正确启动,表明你的设置成功了。
6、在DOS下用edit修改客户端缺省字符集文件c:\sybase\locales\locales.dat c:\sybase\locales\>edit locales.dat
首先找到[NT]操作系统分组,然后定位到该分组最后一行“local = defa ult,
us_english, iso_1”,将其修改为:“local = default, us_english, cp936”。
参考步骤1,确认服务器端和客户端字符集均已修改正确。
7、在Sybase Central中,重新建立新的空数据库,仔细规划好生产数据库数据设备和日志设备的大小。