GBASE南大通用数据库GBase 8s常见问题讲堂 -- 字符集的设置

这篇具有很好参考价值的文章主要介绍了GBASE南大通用数据库GBase 8s常见问题讲堂 -- 字符集的设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文摘自GBASE南大通用社区,by:wty,原文请点击:GBase 8s常见问题 -- 字符集相关问题|GBASE社区|天津南大通用数据技术股份有限公司|GBASE-致力于成为用户最信赖的数据库产品供应商

23103   Code-set conversion function failed due to an illegal sequence or invalid value.

字符集转换失败,字符串中出现非法字符

1. 数据库是英文字符集,在sysmaster系统库中查sysdbslocale表来确定数据库是什么字符集

[gbasedbt@test ~]$ dbaccess sysmaster -

Database selected.

> select * from sysdbslocale;



dbs_dbsname  sysmaster
dbs_collate  en_US.819

dbs_dbsname  sysutils
dbs_collate  en_US.819

dbs_dbsname  sysuser
dbs_collate  en_US.819

dbs_dbsname  sysadmin
dbs_collate  en_US.819

dbs_dbsname  db_utf8
dbs_collate  zh_CN.57372

dbs_dbsname  db_gb18030
dbs_collate  zh_CN.5488

dbs_dbsname  db_en
dbs_collate  en_US.819

7 row(s) retrieved.

> 

en_US.819 : 英文

zh_CN.57372 :UTF-8 ,同zh_CN.UTF8

zh_CN.5488 : GB18030-2000,兼容gbk,同zh_CN.GB18030-2000

2. 如果是在连接数据库时报此错误,有可能是客户端/jdbc/应用程序放在含有中文的目录中,导致数据无法插入到系统库中,不能正常连接数据库。

-23197   Database locale information mismatch.

DB_LOCALE参数或环境变量与数据库不一致

按上面的方法查询数据库的字符集,修改配置

[gbasedbt@test ~]$ dbaccess db_utf8 -

23197: Database locale information mismatch. 
[gbasedbt@test ~]$ export DB_LOCALE=zh_cn.utf8
[gbasedbt@test ~]$ dbaccess db_utf8 -

Database selected.

> 

-23101   Unable to load locale categories.

字符集参数或环境变量配置错误,一般是配置了错误的值,导致无法识别

可以先去掉字符集配置,再按上面的方法查询数据库的字符集,修改配置

[gbasedbt@test ~]$ export DB_LOCALE=zh_cn.utf123
[gbasedbt@test ~]$ dbaccess sysmaster -

23101: Unable to load locale categories.
[gbasedbt@test ~]$ unset DB_LOCALE
[gbasedbt@test ~]$ dbaccess sysmaster -

Database selected.

> 

修改现有数据库的字符集

不支持直接修改数据库字符集,需要先将数据库导出,配置新字符集之后,新建数据库或导入数据库

下面举例将utf-8字符集的数据库通过导入导出的方式,重建为gb18030字符集

1. 配置DB_LOCALE、CLIENT_LOCALE环境变量,使用dbexport导出数据库

[gbasedbt@test ~]$ export DB_LOCALE=zh_cn.utf8
[gbasedbt@test ~]$ export CLIENT_LOCALE=zh_cn.utf8
[gbasedbt@test ~]$ dbexport testdb -ss
{ DATABASE testdb  delimiter | }

grant dba to "gbasedbt";、

...

dbexport completed
[gbasedbt@test ~]$

2. 删除或重命名原库(如果新库不需要与原库同名,可以跳过此步骤)

重命名:

[gbasedbt@test ~]$ dbaccess sysmaster -

Database selected.

> rename database testdb to testdb1;

Database renamed.

> 

删除:

[gbasedbt@test ~]$ dbaccess sysmaster -

Database selected.

> drop database testdb;

Database dropped.

> 

3. 修改DB_LOCALE,将刚才导出的数据库导入

如果没有删除/重命名原数据库,需要修改导出文件名为新的库名

1)修改导出的文件夹名:testdb.exp  >  testdb1.exp

2)修改数据库对象SQL文件:testdb.sql  >  testdb1.sql   此文件在导出的文件夹里

3)修改Oracle模式对象SQL文件:testdb_ora.sql  >  testdb_ora1.sql   此文件在导出的文件夹里(如果没有可以忽略)

*注意:此步骤不要修改CLIENT_LOCALE环境变量,CLIENT_LOCALE环境变量对应的是导出文件的字符集

[gbasedbt@test ~]$ export CLIENT_LOCALE=zh_cn.gb18030-2000
[gbasedbt@test ~]$ dbimport testdb -d datadbs01 -l
{ DATABASE testdb  delimiter | }

grant dba to "gbasedbt";

...

dbimport completed

set environment sqlmode 'oracle';

...

set environment sqlmode 'gbase';
[gbasedbt@test ~]$

导入命令:dbimport testdb -d datadbs01 -l

testdb :库名,对应上述导出文件中三个文件的文件名

-d datadbs01 :指定存储的dbspace,使用onstat -d查询dbspace信息

-l :指定导入数据库的日志模式为无缓存日志,不指定默认使用无日志模式,指定有缓存模式使用 -l buffered文章来源地址https://www.toymoban.com/news/detail-821466.html

到了这里,关于GBASE南大通用数据库GBase 8s常见问题讲堂 -- 字符集的设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • GBASE南大通用分析型MPP数据库GBase8a的安全特性(1)

    GBase南大通用自主研发的 GBase 8a MPP Cluster 产品(简称GBase8a)是大数据时代成熟的分析型MPP数据库,具有多样化的平台选择、与时俱进的逻辑架构、海量数据高效存储、海量数据高速加载、海量数据高性能分析、弹性服务器资源伸缩、完善的系统资源管理、多级别的高可用、跨

    2024年01月25日
    浏览(31)
  • GBASE南大通用分析型MPP数据库GBase8a的安全特性(2)

    GBase南大通用自主研发的 GBase 8a MPP Cluster 产品(简称GBase8a)是大数据时代成熟的分析型MPP数据库,具有多样化的平台选择、与时俱进的逻辑架构、海量数据高效存储、海量数据高速加载、海量数据高性能分析、弹性服务器资源伸缩、完善的系统资源管理、多级别的高可用、跨

    2024年01月25日
    浏览(38)
  • 面向海量异构数据分析的GBASE南大通用数据库

    GBaseBI V5是GBASE南大通用公司面向海量异构数据分析,以独特的语义映射和内存计算为基础,以“可视化”展示为重点的一款高性能数据分析平台;具备满足企事业单位对KPI指标监控、数据预测、数据预警、数据汇总和数据可视化展示等需求的能力。 GBaseBI V5整体采用B/S构架,

    2024年01月19日
    浏览(71)
  • 南大通用数据库-Gbase-8a-报错集锦-02-metadata is incomplete on localhost

    名称 值 CPU Intel(R) Core(TM) i5-1035G1 CPU @ 1.00GHz 操作系统 CentOS Linux release 7.9.2009 (Core) 内存 3G 逻辑核数 2 Gbase8a版本 8.6.2-R43 由于gbase.table_distribution存储了所有引擎为express的表元数据信息,如果此表出现数据损坏,会导致本地调度节点无法获取表信息,在select、drop等操作时,将提

    2024年02月06日
    浏览(30)
  • 南大通用GBase 8c数据库与泛微软件完成互认证 共同搭建统一数字化办公平台

    日前,南大通用分布式交易型数据库GBase 8c与泛微协同商务软件“e-cology” V9.0顺利完成产品兼容性测试,双方产品完全兼容,整体运行稳定,性能卓越。完成适配后,双方将充分发挥在各自领域的专业优势,坚持以客户需求为基础,助力国产化办公平台实现数字化转型,更好

    2024年02月13日
    浏览(31)
  • GBASE南大通用分享,适用于 GBase 8s ESQL/C的Insert 游标

    关闭 Insert 游标  由于 GBase 8s 在 SPL 例程中不支持 Insert 游标,本节有关 Insert 游标的讨论仅适用于 GBase 8s ESQL/C。在 SPL 例程中,只能执行 DECLARE 语句定义的 Select 或 Function 游标的 CLOSE 语句。(SPL 的 FOREACH 语句在其语句块中包含 INSERT 语句可以声明功能类似 Insert 游标的 direc

    2024年01月20日
    浏览(31)
  • GBASE南大通用GBase 8a 安装部署

    ssh root@192.168.7.71 ssh root@192.168.7.72 ssh root@192.168.7.73 systemctl status firewalld.service systemctl stop firewalld systemctl disable firewalld sestatus 若系统提示以下信息说明 selinux 已被禁用 未被禁用的话,需要修改配置文件/etc/selinux/config 将SELINUX参数设置为  disabled ,即 SELINUX=disabled 保存退出后,

    2024年02月01日
    浏览(35)
  • GBASE南大通用GBase 8a ODBC 配置SSL

    GBase南大通用 GBase 8a MPP Cluster支持SSL标准协议,SSL协议是一种安全性更高的协议标准,它加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信双方更加安全的数据传输。 GBase南大通用 GBase 8a 通过SSL加密应用端ODBC驱动和8a集群Server之间的通讯,步骤如

    2024年01月21日
    浏览(35)
  • GBASE南大通用GBase Command Builder 构造函数

    初始化GBASE南大通用CommandBuilder 类的一个对象。  重载列表 1) 初始化 GBaseCommandBuilder 类的一个对象。 GBaseCommandBuilder() 2) 使用 GBaseDataAdapter 对象初始化 GBaseCommandBuilder 类的一个 对象。 GBaseCommandBuilder(GBaseDataAdapter)  GBaseCommandBuilder 构造函数() 初始化GBASE南大通用CommandBuilder 类

    2024年01月16日
    浏览(33)
  • GBase 8a ODBC 配置SSL 【GBase南大通用】

    GBase南大通用 GBase 8a MPP Cluster支持SSL标准协议,SSL协议是一种安全性更高的协议标准,它加入了数字签名和数字证书来实现客户端和服务器的双向身份验证,保证了通信双方更加安全的数据传输。 GBase南大通用 GBase 8a 通过SSL加密应用端ODBC驱动和8a集群Server之间的通讯,步骤如

    2024年01月17日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包