- 浏览: 565482 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (350)
- Sybase (30)
- SQL SERVER2005 (14)
- 数据库 (27)
- SSH框架 (27)
- WebService (21)
- 下载-软件收藏 (15)
- 随笔-日常使用 (9)
- Flex 相关 (13)
- Linux (11)
- Web (64)
- XML相关 (9)
- Socket相关 (1)
- Elipse (3)
- 统计报表 (11)
- 线程相关 (3)
- Java相关 (37)
- JAVASCRIPT (19)
- JAVA反射 (3)
- JSP标签 (3)
- 随笔-其他 (2)
- 随笔-设计模式 (3)
- 随笔-架构师相关 (1)
- 下载-源码 (7)
- 下载-帮助文档 (1)
- 下载-插件 (6)
- 技术-.NET (2)
- 技术-Excel VBA (8)
- 应用-地图相关 (2)
- 应用-GSM短信猫 (5)
- 应用-单点登录 (3)
- Android相关 (3)
最新评论
-
sucheng2016:
发现jconn4.jar 里面有getBlob(String) ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
sucheng2016:
java.lang.UnsupportedOperationE ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
ok123zxx:
没下文了吗
通过 Tomcat Advanced I/O 获得高性能的 Ajax tocmat6+CometProcessor -
q1345111:
大家这个问题 尚未完成方法 com.sybase.jdbc3. ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver -
bdk82924:
heshujing217187 写道问题同1楼一样,求解!换j ...
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
Sybase服务器端字符集的修改
可以在图形化界面使用sqlloc命令修改sybase服务器端字符集,本文主要讲述命令行下服务器字符集修改操作说明:
2.1 先查询sybase系统中已加载的字符集情况
sybase@wap2atca5:~/sql> isql -Usa -P -Seds
1> select name,id from syscharsets order by name ------先查出字符集的序号id
2> go
name id
------------------------------ ---
... ...
iso_1 1
... ...
(56 rows affected)
1>
2.2 如果sybase没有加载需要的字符集,则加载sybase server中没有的字符集
下面以加载cp936字符集为例
sybase@wap2atca5:~> cd charsets/cp936/
sybase@wap2atca5:~/charsets/cp936> charset -Usa -P -Seds binary.srt 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
sybase@wap2atca5:~/charsets/cp936>
2.3 修改默认字符集
sybase@wap2atca5:~/charsets/cp936> isql -Usa -P -Seds
1> select name,id from syscharsets where name="cp936"
2> go
name id
------------------------------ ---
cp936 171
(1 row affected)
1> sp_configure "default character set id",171
2> go
在更改缺省排序顺序的过程中,也会重新配置 ASE 的缺省字符集。
Parameter Name Default Memory Used Config Value
Run Value Unit Type
------------------------------ ----------- ----------- ------------
------------ -------------------- ----------
default character set id 1 0 171
170 id static
(1 row affected)
配置选项改变.因为选项是静态的,Adaptive Server必须重启,以使改动生效.
更改 'default character set id' 的值不会增加 Adaptive Server 使用的内存量。
(return status = 0)
然后将sybase重启二次。第一次启动后,server会自动宕掉,需要第二次重启后才能使用。
1> shutdown SYB_BACKUP
2> go
Backup Server: 3.48.1.1: 备份服务器将马上关闭。中断会话。
1> shutdown with nowait
2> go
服务器SHUTDOWN被请求。
ASE 正在终止此进程。
CT-LIBRARY error:
ct_results(): 网络包层: 内部net library错误: 由于断开使得 Net-Library 的操作中断。
sybase@wap2atca5:~/charsets/cp936>
sybase@wap2atca5:~/ASE-15_0/install> startserver -f RUN_eds
... ...
00:00000:00001:2009/12/03 15:43:54.70 server Default Sort Order successfully changed.
00:00000:00001:2009/12/03 15:43:54.70 server ASE shutdown after verifying System Indexes.
00:00000:00001:2009/12/03 15:43:54.70 kernel ueshutdown: exiting
00:00000:00001:2009/12/03 15:43:54.70 kernel SySAM: Checked in license for 1 ASE_CORE (2011.04260/permanent/131C 6FD4 1D4C 0E96).
sybase@wap2atca5:~/ASE-15_0/install> startserver -f RUN_eds
2.4 安装语言集
运行命令langinstall -Usa -P -Seds chinese cp936,该步骤时间稍长,须耐心等待。
Solaris:
sybase@Sun280R $ langinstall -Usa -P -Seds chinese cp936
Langinstall will now attempt the installation, ASE will convert messages from 'utf-8' to server's default character set 'cp936'.
Loading datetime information from file /export/home/sybase/ASE-15_0/locales/chinese/common.loc.
Loading system messages from file /export/home/sybase/ASE-15_0/locales/chinese/server.loc.
9075 Messages processed.
Loading complete.
Summary: 0 deleted, 8640 inserted, 0 updated, 435 duplicates, 0 unsuccessful.
sybase@Sun280R $
Linux64:
sybase@wap2atca4:~> langinstall -Swap -Usa -P chinese
Langinstall will now attempt the installation, ASE will convert messages from 'utf-8' to server's default character set 'eucgb'.
Loading datetime information from file /home/sybase/ASE-15_0/locales/chinese/common.loc.
Loading system messages from file /home/sybase/ASE-15_0/locales/chinese/server.loc.
9056 Messages processed.
Loading complete.
Summary: 0 deleted, 8621 inserted, 0 updated, 435 duplicates, 0 unsuccessful.
sybase@wap2atca4:~>
Linux32
sybase@wap2atca5:~> langinstall -Usa -P -Seds chinese eucgb
SQLServer message 4017, state 1, severity 16:
Neither language name in login record 'chinese' nor language name in syslogins '<NULL>' is an official language name on this ASE. Using server-wide default 'us_english' instead.
Langinstall will now attempt the installation, ASE will convert messages from 'utf-8' to server's default character set '936'.
Loading datetime information from file /home/sybase/ASE-15_0/locales/chinese/common.loc.
Loading system messages from file /home/sybase/ASE-15_0/locales/chinese/server.loc.
9075 Messages processed.
Loading complete.
Summary: 0 deleted, 8640 inserted, 0 updated, 435 duplicates, 0 unsuccessful.
sybase@wap2atca5:~>
2.5 查询字符集命令
sybase@wap2atca5:~> isql -Usa -P -Seds
1> sp_helpsort
2> go
... ...
排序顺序描述
------------------------------------------------------------------
字符集 = 171, cp936
CP936 (Simplified Chinese).
Class 2字符集
排序顺序 = 50, bin_cp936
Binary sort order for simplified Chinese using cp936.
(return status = 0)
1>
或
1> sp_configure "default character set id"
2> go
Parameter Name Default Memory Used Config Value
Run Value Unit Type
------------------------------ ----------- ----------- ------------
------------ -------------------- ----------
default character set id 1 0 171
171 id static
(1 row affected)
(return status = 0)
1>
Sybase客户端字符集的修改
在Windows下使用Sybase客户端连接到Sybase服务器的时候需要注意客户端字符集。
同样,在Solaris/Linux上运行isql连接到Sybase服务器时,也需要注意客户端字符集。如果出现类似如下的提示,那么则需要设置Sybase客户端的字符集
sybase@wap3atca13:~/locales> isql -Usa -P
The context allocation routine failed when it tried to load localization files!!
One or more following problems may caused the failure
Your sybase home directory is /home/sybase. Check the environment variable SYBASE if it is not the one you want!
Using locale name "zh" defined in environment variable LANG
Locale name "zh" doesn't exist in your /home/sybase/locales/locales.dat file
An error occurred when attempting to allocate localization-related structures.
sybase@wap3atca13:~/locales>
sybase@linux:~/ASE-12_5/install> isql -Usa -P -Seds
Msg 2401, Level 11, State 2:
Server 'eds':
Character set conversion is not available between client character set 'iso_1'
and server character set 'eucgb'.
No conversions will be done.
1>
这时候需要进入$SYBASE/locales目录下,编辑locales.dat,找到对应的平台,例如[linux]或者[sun_svr4],然后找到缺省以及当前的语言集,例如zh、zh_CN.UTF-8、zh_CN.gbk等,将语言集的后面的字符集设置为cp936。
系统当前的语言集可以用echo $LANG检查,缺省语言集有C、POSIX、default等。
如果LANG设置为zh_CN.UTF-8、zh_CN.gbk或者zh,那么需要修改locale = zh_CN.UTF-8开头的内容,将后面的字符改为chinese,cp936。
如果语言集设置为zh,locales.dat里面没有,那么还需要在相应的平台下添加一行
locale = zh, chinese, cp936
这样的纪录。
如下:
$cd $SYBASE/locales
$ vi locales.dat
找到[linux]配置组或者[sun_svr4]配置组,
[linux]
locale = FRENCH, french, iso_1
locale = fr, french, iso_1
locale = fr_BE, french, iso_1
locale = fr_BE.437, french, cp437
locale = zh, chinese, cp936
locale = zh_CN.UTF-8, chinese, cp936
locale = zh_CN.gbk, chinese, cp936
locale = zh_CN.gb18030, chinese, gb18030
locale = zh_CN.GB18030, chinese, gb18030
locale = zh_TW, tchinese, big5
…..
此外,找到[linux]配置组或者[sun_svr4]配置组的default一行记录,如:
locale = default, us_english, iso_1
将default的语言集改为:
locale = default, chinese, cp936
修改保存即可。default这个参数对于缺省LANG以及unset LANG这两个环境生效。
如果LANG设置为C,那么找[linux配置组]的C一行记录,如:
locale = C, us_english, iso_1
将default的语言集改为:
locale = C, chinese, cp936
修改保存即可.
然后启动isql观察效果,在iSQL环境中执行:
1> select @@client_csname
2> go
字符集服务器和客户端设置完毕后,确保在本机使用isql登录Sybase不再报错,将.bash_profile或者.profile中的unset LANG去掉。
发表评论
-
Sybase的几个命令 sp_sysmon
2015-05-17 20:32 793sybase 常用 命令 1、sp_sysmon ... -
Sybase Isql 执行sql 指定编码
2014-04-22 15:53 1614isql -Usa -P -Sxxxx -Jcp936 -ix ... -
sybase 常见的存储过程
2013-09-02 10:12 1379sybase 常见的存储过程 sp_addgroup 在当前 ... -
Sybase15驱动包的问题com.sybase.jdbc3.jdbc.SybDriver
2013-01-28 19:48 13280com.sybase.jdbc3.jdbc.SybDriver ... -
Sybase IQ 15 的导出功能
2012-05-05 10:39 1016直接执行sql 语句 dbisql -c 'uid=db ... -
Sybase 存储过程(嵌套调用)使用另外一个存储过程的结果集 .
2012-04-12 09:01 1273转:http://blog.csdn.net/lovc ... -
sybase配置,sp_configure
2012-03-07 13:49 3103转:http://blog.csdn.net/zxlyx/ar ... -
如何删除IQ数据库中损坏的表
2011-11-11 10:37 1768转:http://blog.chinaunix.net ... -
Linux Sybase安装中碰到的一些问题
2011-11-03 15:03 907最近在linux 环境中安装了Sybase ASE15的环境 ... -
sybase ASE 整库 备份
2011-10-27 17:10 1225首先确保备份服务器正常运行 startserver -f RU ... -
修改Sybase数据库最大连接数
2011-10-27 16:23 7055修改连接数:如果数据库已经起不来了 怎么办? 修改安装目录 ... -
Sybase官方帮助文档多语言版
2011-09-09 15:05 1301http://infocenter.sybase.com/he ... -
Xbase 相关操作
2011-07-04 17:16 1400命令 作用 备注 ... -
Sybase中使用xp_cmdShell命令
2011-06-29 13:28 3192Sybase中使用xp_cmdShell命令 有两个前提: ... -
Sybase IQ 自增序列恢复
2011-05-30 17:54 1282CREATE TABLE mytable(c ... -
Sybase IQ 数据备份
2011-05-27 12:25 1528备份可以采用 temp_extract_name1 ... -
Sybase SQL查询字段类型
2011-05-06 09:57 3090Sybase ASE 根据表名,查询表中所有字段的详 ... -
Sybase IQ Load 语句
2011-04-19 16:14 8537IQ Load 语句 参考 load in ... -
Sybase IQ 迁移表空间 sp_iqrelocate
2011-04-19 16:08 12561、首先将表空间的属性修改为 Relocate模式 (属性分 ... -
SybaseIQ的几个系统过程
2011-04-08 08:33 1429sp_iqlocks 显示与数据库中 IQ 存储区和目录存储 ...
相关推荐
Sybase 字符集修改 Sybase 数据库字符集修改是指将 Sybase 数据库的字符集从原来的字符集修改为新的字符集,例如 cp936。下面将详细介绍 Sybase 字符集修改的方法和步骤。 为什么需要修改 Sybase 字符集 在 ...
### Sybase ASE 字符集更改详解 在数据库管理和维护的过程中,字符集的设置与更改是一项非常重要的工作。本文将详细探讨如何更改 Sybase ASE(Adaptive Server Enterprise)数据库的字符集,包括更改过程中的关键...
### Sybase字符集问题解析 #### 一、Sybase字符集概述 Sybase是一个高性能的关系型数据库管理系统,广泛应用于各种企业级应用中。在Sybase系统中,字符集的正确配置对于确保数据的一致性和准确性至关重要。本文将...
### Sybase数据库字符集转换详解 #### 一、引言 在使用Sybase数据库时,字符集的选择与配置对于确保数据正确存储与显示至关重要。不同的字符集能够支持不同语言的文字编码,例如,对于中文环境的支持通常需要使用...
【Sybase字符集详解】 字符集是数据库管理系统中不可或缺的一部分,尤其在处理多语言环境时。Sybase Adaptive Server Express(ASE)支持多种字符集,确保数据的正确存储和检索。字符集定义了一组字符和它们对应的...
### Sybase数据库更换字符集方法,解决中文乱码问题 #### 概述 在使用Sybase数据库时,可能会遇到中文显示乱码的情况。这通常是因为系统使用的字符集与实际需要处理的数据字符集不匹配所导致的。为了确保数据正确...
综上所述,修改Sybase字符集涉及多个层面的操作,包括数据库服务器端的配置、客户端环境变量的调整以及必要的系统重启。通过上述步骤,可以有效地解决因字符集不匹配导致的数据展示问题,尤其是在处理中文或其它非...
Sybase数据库中文字符集配置详解 Sybase数据库中文字符集配置是指在Sybase数据库中正确配置中文字符集的过程,以便正确地存储和显示中文字符。本文将详细介绍Sybase数据库中配置中文字符集的步骤,并对其进行详细的...
### Sybase字符集详解 #### 一、概念篇 ##### 1.1 什么是字符集? 字符集(Character Set)是一组符号与数值之间的一种对应关系。它定义了一种编码方式,用来表示文本中的各种字符。不同的字符集适用于不同的语言...
本文将详细解析Sybase字符集的配置与转化方法。 首先,我们关注的是如何禁用或启用字符集转换。在Sybase的isql环境中,可以通过执行`sp_configure`存储过程来更改相关设置。例如,要禁用字符集转换,可以执行`sp_...
2. 修改现有数据库的字符集:需先备份数据,然后通过`ALTER DATABASE dbname SET CHARSET utf8`命令更改。 3. 调整客户端连接参数:确保客户端应用程序使用的字符集与数据库匹配,这通常在连接字符串中指定。 然后...
- 安装特定的字符集,如CP936,是为了支持特定语言的数据存储,这通常涉及安装额外的库或修改配置文件。 综上所述,理解并正确配置Sybase ASE的字符集对于确保数据的准确性和跨平台的兼容性至关重要。无论是开发...
本篇文章将详细阐述如何解决Sybase数据库在默认字符集cp850下对中文支持不足的问题,以及如何进行字符集转换至iso_i或其他更适合中文的字符集。 首先,我们需要了解Sybase数据库默认的字符集是cp850,它主要针对...
【Sybase ASE 字符集详解】 Sybase Adaptive Server Enterprise(ASE)是一款强大的关系型数据库管理系统,广泛应用于企业级软件开发。在处理多语言数据时,理解字符集、排序顺序和字符集转换的概念至关重要。 1. ...
4. **重启服务器**:修改字符集配置后,必须重启服务器两次。首次重启后,Sybase数据库服务可能自动停止,需要再次启动才能应用新的字符集设置。 这个过程的详细步骤可以参考链接:...
2. 字符集修改 字符集的配置对于数据库来说至关重要,它关系到数据的正确存储和检索。Sybase数据库支持多种字符集,字符集的修改通常在数据库创建或配置阶段进行,以确保数据库能够正确处理不同的语言数据。字符集的...
以Sybase为例,服务器端字符集可以通过`sp_configure "default character set id"`进行配置,而客户端连接的字符集可以在连接命令中指定,如`C:\isql -SServerName -UUserName -PPassword -Jcp850`。数据库中的数据...