首页 > 数据库 > 国内数据库 > GBase 8s如何新建非默认字符集的数据库?

文 | GBase工程技术服务
很多新手在使用 GBase 8s 数据库过程中,由于没注意数据库的字符集,导致给表插入 / 加载数据时报错;或者查询表数据时出现乱码问题。
这种情况下,解决办法是只能新建数据库,并确保新建数据库的字符集跟数据的字符集一致。例如:原数据库testdb 的字符集为 UTF8 ,但是表数据为 GBK 字符集,导致加载导入数据不成功。需要创建一个支持 GBK 字符集的新数据库,在新数据库下创建表,然后导入数据。
下面就以企业管理器工具(GBaseDataStudio.exe )和 dbaccess 命令两种场景来说明如何新建非默认字符集的数据库。
本章内容已在如下环境上测试:
数据库版本:GBase8sV8.8_TL_3.0.0
企业管理器:GBaseDataStudio_8.5.21.0
相关关键字:GBase 8s 、新建数据库、字符集
企业管理器是GBase 图形化客户端,可运行在 windows 或 linux 系统下。
新创建GB18030 字符集( GBK 字符集的一种表示)的数据库,使用企业管理器的操作步骤如下:
1. 查看数据库的原字符集
2. 断开与数据库连接,新建连接并设置字符集参数为GB18030 ,连接数据库
3. 新建数据库
Step1 :查看数据库的原字符集
在企业管理器左侧树中,找到数据库testdb 并双击,右侧出现 testdb 窗口,查看 “ 校对 ” 栏目值,说明数据库的字符集为 zh_CN.57372 ( 表示 UTF8 字符集)。
Step2:断开与数据库连接,新建连接并设置字符集参数,并重新连接数据库
点击企业管理器中左侧树的数据连接,右键弹出菜单选择 “断开连接”,则断开与数据库的连接。
在数据连接上继续右键点击“编辑连接”进行设置

在弹出的“连接配置”中,将“数据库 /模式”设置成系统库 sysmaster ,系统库跟任何字符集都可以连接上。

单击左侧的“驱动属性”,设置字符集参数 CLIENT_LOCALE 和 DB_LOCALE 两个参数为 zh_cn.GB18030-2000 (表示GBK 字符集)

单击“确定“按钮完成设置。
在数据连接上继续右键,在弹出菜单中选择“连接”,则重新连接上数据库。
Step3 :新建数据库
单击企业管理器中左侧树的数据库,右键弹出菜单中,选择“新建 数据库”,则弹出“创建数据库”窗口。
填写数据库名称、创建位置(数据库空间名称)、日志模式(带buffer 缓存日志、无 buffer 缓存日志、无日志三选一),单击“确定”按钮即可创建数据库。
在此数据库下所建立的表都是GB18030 字符集了。
二、 dbaccess 操作步骤
dbaccess
是
GBase 8s
自带的命令行客户端工具,运行在
linux
系统下。
新创建GB18030 字符集( GBK 字符集的一种表示)的数据库,使用 dbaccess 命令的操作步骤如下:
1. 在环境变量中设置字符集参数
2. 让环境变量生效
3. 使用dbaccess 新建数据库
Step1:在环境变量中设置字符集参数
在数据库账户
gbasedbt
的环境配置文件
.bash_profile
中,保持原有环境变量基础上追加字符集的环境变量
DB_LOCALE
和
CLIENT_LOCALE
:
export DB_LOCALE=zh_cn.GB18030-2000
export CLIENT_LOCALE=zh_cn.GB18030-2000

Step2:让环境变量生效
[gbasedbt@node176 ~]$ source .bash_profile
Step3 :使用 dbaccess 新建数据库
使用dbaccess 连接数据库,用 SQL 语句新建数据库 db_18030
[gbasedbt@node176 ~]$ dbaccess - -
create database db_18030 in rootdbs with log;
数据库创建成功,在此数据库下所建立的表都是GB18030 字符集了。
好,本次分享就到这里。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69979757/viewspace-2735242/ ,如需转载,请注明出处,否则将追究法律责任。