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.819dbs_dbsname  sysutils
dbs_collate  en_US.819dbs_dbsname  sysuser
dbs_collate  en_US.819dbs_dbsname  sysadmin
dbs_collate  en_US.819dbs_dbsname  db_utf8
dbs_collate  zh_CN.57372dbs_dbsname  db_gb18030
dbs_collate  zh_CN.5488dbs_dbsname  db_en
dbs_collate  en_US.8197 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 completedset environment sqlmode 'oracle';...set environment sqlmode 'gbase';
[gbasedbt@test ~]$

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

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

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

-l :指定导入数据库的日志模式为无缓存日志,不指定默认使用无日志模式,指定有缓存模式使用 -l buffered

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/643491.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电脑数据恢复软件哪个有效好用?十大电脑数据恢复软件排行

在数字时代,数据就是一切。从珍贵的家庭照片和重要的工作文档到最喜欢的音乐和电影,我们的生活越来越多地存储在各种设备上。系统崩溃、意外删除或恶意病毒都可能使您的宝贵数据瞬间消失。这就是数据恢复工具的用武之地。 十大电脑数据恢复软件排行 这些…

python面试题大全(四)

数据结构与算法 1. 数组中出现次数超过一半的数字 def find_majority_element(nums):count 0candidate None# 遍历数组,找出可能的候选众数for num in nums:if count 0:candidate numcount 1elif num candidate:count 1else:count - 1# 验证候选众数是否为…

Integer.valueOf方法详解

Integer.valueOf 是 Java 中 Integer 类的一个静态方法,它用于将给定的字符串或基本数据类型转换成一个 Integer 对象。 使用场景 从字符串转换:将字符串形式的数字转换为 Integer 对象。 Integer num Integer.valueOf("123");从基本数据类…

论文阅读2---多线激光lidar内参标定原理

前言:该论文介绍多线激光lidar的标定内参的原理,有兴趣的,可研读原论文。 1、标定参数 rotCorrection:旋转修正角,每束激光的方位角偏移(与当前旋转角度的偏移,正值表示激光束逆时针旋转&…

关于一个QT程序的简单破解思路(不需要分析信号和槽的方法,通用所有程序的破解思路)

几年前,公司买了台国产贴片机,里面的主程序是QT编写,运行在WINDOW XP系统上。主程序打开的界面,如图: 我来简单介绍下程序界面,各位读者不需要搞明白功能,只要知道大体的流程即可。 分析主界面: 一、左边的列表: 贴片生产文件,里面包括了贴片时元器件的坐标、飞达…

C#winform上位机开发学习笔记11-串口助手接收数据用波形显示功能添加

1.功能描述 接收串口数据&#xff0c;并将收到的十六进制数据用坐标系的方式将数据波形展示出来 2.代码部分 步骤1&#xff1a;定义链表&#xff0c;用于数据保存 //数据结构-线性链表private List<byte> DataList new List<byte>(); 步骤2&#xff1a;定义波…

shell脚本2

在自定义变量当中&#xff0c;不可以以数字开头 变量追加值 在变量名后要写的东西 read -p &#xff1a;交互式输入变量值&#xff0c;然后使用变量 自定义变量 export 全局变量 如果想要bash里面的所有进程都能看见变量&#xff0c;加入export 父进程 子进程…

计算机毕业设计 基于SpringBoot的民宿租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

Sentinel 新版本发布,提升配置灵活性以及可观测配套

作者&#xff1a;屿山 基本介绍 Sentinel 是阿里巴巴集团开源的&#xff0c;面向分布式、多语言异构化服务架构的流量治理组件&#xff0c;承接了阿里巴巴近 15 年的双十一大促流量的核心场景&#xff0c;例如秒杀、冷启动、消息削峰填谷、集群流量控制、实时熔断下游不可用服…

高性能短URL服务实现

概述 大家应该在工作或者生活过程中也经常遇到段url&#xff0c; 类似于&#xff1a; https://v.douyin.com/62WmX3o/。那他的好处是什么呢&#xff1f;为什么使用短url? 短url的好处有 1、 短ur许多平台(微博)有字数限制,太长的链接加进去都没有办法写正文了2、 好看. 比起…

考研C语言刷题基础篇之分支循环结构基础(二)

目录 第一题分数求和 第二题&#xff1a;求10 个整数中最大值 第三题&#xff1a;在屏幕上输出9*9乘法口诀表 第四题&#xff1a;写一个代码&#xff1a;打印100~200之间的素数 第五题&#xff1a;求斐波那契数的第N个数 斐波那契数的概念&#xff1a;前两个数相加等于第三…

ChatGPT目前的AI一哥

ChatGPT和文心一言是两个不同的AI助手&#xff0c;各自有其独特的特点和应用场景。以下是对它们在智能回复、语言准确性和知识库丰富度等方面的简要比较&#xff1a; 智能回复&#xff1a;ChatGPT是由OpenAI开发的语言模型&#xff0c;具有强大的自然语言处理和生成能力&#x…

2023 工业 AR 关键词:纵深和开拓

2023 年&#xff0c;以虚实融合、工业元宇宙为代表的“新数字化”升级在工业制造领域达成共识。 ▲五部委联合印发元宇宙行动计划 通过发展元宇宙赋能新型工业化 而相对过去几年的行业渗透广、落地场景多样的 AR 业务拓展与合作&#xff0c;#纵深和#开拓&#xff0c;成为 2023…

80端口被占用解决思路

普及一个概念&#xff1a;80端口是 HTTP&#xff08;HyperText Transport Protocol)即超文本传输协议开放的&#xff0c;此为上网冲浪使用次数最多的协议&#xff0c;主要用于WWW&#xff08;World Wide Web&#xff09;即万维网传输信息的协议。 我们使用 http 域名访问时都会…

Vue3 ref与reactive

✨ 专栏介绍 在当今Web开发领域中&#xff0c;构建交互性强、可复用且易于维护的用户界面是至关重要的。而Vue.js作为一款现代化且流行的JavaScript框架&#xff0c;正是为了满足这些需求而诞生。它采用了MVVM架构模式&#xff0c;并通过数据驱动和组件化的方式&#xff0c;使…

pyspark之Structured Streaming file文件案例1

# generate_file.py # 生成数据 生成500个文件,每个文件1000条数据 # 生成数据格式&#xff1a;eventtime name province action ()时间 用户名 省份 动作) import os import time import shutil import time FIRST_NAME [Zhao, Qian, Sun, Li, Zhou, Wu, Zheng, Wang] SEC…

概念杂记--到底啥是啥?(数据库篇)

文章目录 1.聚集索引&#xff08;clustered index&#xff09;2.非聚集索引&#xff08;Non-clustered index&#xff09;3.聚集索引和非聚集索引区别&#xff1f;4.覆盖索引&#xff08;covering index&#xff09;5、复合索引 &#xff08;Composite Index&#xff09;6.索引…

【MySQL 流浪之旅】 第四讲 MySQL 逻辑备份

系列文章目录 【MySQL 流浪之旅】 第一讲 MySQL 安装【MySQL 流浪之旅】 第二讲 MySQL 基础操作【MySQL 流浪之旅】 第三讲 MySQL 基本工具 文章目录 系列文章目录 文章目录 一、什么是逻辑备份&#xff1f; 二、 mysqldump原理 三、mysqldump常用参数 四、mysqldump常见问题 …

HarmonyOS鸿蒙学习基础篇 - 基本语法概述

书接上文 HarmonyOS鸿蒙学习基础篇 - 运行第一个程序 Hello World 基本语法概述 打开 entry>src>main>ets>pages>index.ets 代码如下代码详细解释如下&#xff1a; Entry //Entry装饰的自定义组件将作为UI页面的入口。在单个UI页面中&#xff0c;最多可以使用…

融资项目——EasyExcel将Excel文件保存至数据库

上一篇博客已经基本介绍了EasyExcel的配置与基本使用方法。现在准备使用EasyExcel将Excel文件保存至数据库。 1.由于我们想每读取Excel中的N条记录后将这些记录全部写入数据库中。所以首先我们在Mybatis文件内先要写一个批量保存Excel文件中的记录的sql语句。 <insert id&q…