GBase8s数据库有什么特点

56次阅读
没有评论

共计 1926 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要讲解了“GBase8s 数据库有什么特点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“GBase8s 数据库有什么特点”吧!

注意事项

将数据导入到 GBase8s 数据库中,我们会进行建库、建表、建字段的操作,当这些操作完成以后在初期导入一些测试或样例数据的时候都比较顺利。但有时到了正式环境,数据变多以后,里面藏着一些意向不到的特殊字符或生僻字会导致我们导入失败。所以以此文档记录在 GBase8s 建库过程中对生僻字处理的注意事项

关键的环境变量

n DB_LOCALE

含义:

通过 DB_LOCALE
环境变量设置的数据库语言环境指定数据库服务器用于正确解释特定数据库中语言环境相关的数据类型(NCHAR 和 NVARCHAR)所需的语言、地域和代码集。DB_LOCALE 中指定的代码集确定哪些字符在任何字符列中都是有效的,并且确定数据库对象(如数据库、表、列和视图)的名称。数据库服务器使用 DB_LOCALE 环境变量指定的数据库代码集将数据传入和传出数据库。

用途:

1.  在客户机应用程序和数据库服务器交换字符数据时,如果 DB_LOCALE
环境变量(在客户机计算机上)的值与 CLIENT_LOCALE 的值不同,客户机应用程序将执行代码集转换。代码集转换防止这两种代码集不同时发生数据破坏。

2.  在客户机应用程序请求连接时,它将包括 DB_LOCALE(如果已设置)的信息发送至数据库服务器。

3.  在确定如何设置服务器处理语言环境的数据库信息时,数据库服务器使用 DB_LOCALE。

4.  在客户机应用程序尝试打开数据库时,数据库服务器将客户机应用程序传递的 DB_LOCALE
环境变量的值与数据库中存储的数据库语言环境进行比较。

5.  当数据库服务器存取与语言环境相关的数据类型的列时,数据库服务器使用 DB_LOCALE
指定的语言环境。

6.  当数据库服务器创建新数据库时,它将检查数据库语言环境(DB_LOCALE),以确定如何在数据库的系统目录中存储字符信息。此信息包括诸如如何处理正则表达式、比较字符串以及确保代码集的正确使用的操作。

所以如果我们的数据库需要支持中文字符,我们必须在建库的时候必须将该变量设置为 zh_CN.utf8 或 zh_cn.GB18030-2000。否则如果按照 en_us.8859- 1 进行建库后,在插入中午字符后将会变成乱码。以下是字符集名称及编码对照表

字符集名称

编码

8859-1

819

gb

57357

GB2312-80

57357

utf8

57372

big5

57352

GB18030-2000

5488

字符集名称及编码对照表

n GL_USEGLU

含义:

如果想使 NCHAR
和 NVARCHAR 数据类型的字段内的数据支持 unicode,则必须对 GL_USEGLU 环境变量进行使用设置

所以如果我们的数据库不仅需要支持中文,还需要支持生僻字符,则必须在建库前开启此变量

实际操作

我们需要把生僻字“”插入到数据库中,根据刚才的描述我们需要正确设置两个地方才能保证“”字成功入库

我们首先使用 echo $DB_LOCALE; 命令查看当前该变量的值

发现当前该变量的值不是 zh_CN.utf8 或 zh_cn.GB18030-2000

所以我们在建立数据库之前,需要先将变量进行修改

其次我们需要使用 onstat -g env 命令确认 GL_USEGLU 是否进行了设置

当这两个变量都设置完毕后,我们使用 dbaccess 建立数据库 testdb3

建表操作、新增生僻字记录,详情如下图所示,操作成功

使用如下语句确认当前数据库的编码,显示的是 zh_CN.57372,
根据刚才的字符集名称及编码对照表,可知编码 57372 对应的字符集名称是 utf8

SELECT * FROM sysmaster:sysdbslocale WHERE dbs_dbsname like testdb3%

以下是我们测试当不设置 GL_USEGLU 变量的情况

我们通过 unset GL_USEGLU 命令变量使 GL_USEGLU 失效

使用 onstat -g env 命令对当前环境变量进行查看,发现已经没有了 GL_USEGLU 环境变量

此时我们通过 dbaccess 建立了 testdb4 数据库

我们再插入刚才的生僻字“”将会如下图所示报错
34389 Illegal character 非法字符

再来测试插入正常汉字的情况

插入正常汉字是没有问题的

感谢各位的阅读,以上就是“GBase8s 数据库有什么特点”的内容了,经过本文的学习后,相信大家对 GBase8s 数据库有什么特点这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-20发表,共计1926字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)