mysql数据库切换成kingbase(人大金仓)数据库时遇到的字段不存在问题

一、问题描述

mysql数据库切换成国产数据库人大金仓(kingbase)数据库的遇到的字段不存在的问题,根本原因其实是没有找到相对应的表,报错示例如下图所示:

二、问题解决

1、如果所有的表都发生上述的错误,kingbase的表在xml里面写sql的时候需要带上空间名的前缀,比如public.tableName,不然的话会找不到相应的表,当然了可以直接对kingbase的数据库做统一处理,处理步骤如下:
第一步更改数据库的配置

java 复制代码
ALTER DATABASE 数据库名 SET search_path to "$user", public, sys, sys_catalog, pg_catalog;

第二步重载配置文件

java 复制代码
select sys_reload_conf(); 

第三步可以看下是否生效

java 复制代码
show search_path;

2、如果你的项目中有user表,并且其它表正常,只有user表发生这样的错误,原因是,kingbase中user是一个关键字,你的表名和关键字冲突了,解决方法如下:
方法一: sql中user表加双引号,即:user修改成"user"
方法二: sql中user表前面加上空间名,即:user修改成public.user

相关推荐
flash俊杰3 小时前
v0.5-01 让桌面 AI 助手记得住:预算组装、递归摘要、长期记忆与评估基线
数据库·安全·架构
2501_933923254 小时前
redis:string类型常见命令
数据库·redis·缓存
byte轻骑兵5 小时前
时序数据库选型指南:Apache IoTDB 社区版实践与踩坑
数据库·人工智能·apache·时序数据库·iotdb
黄连木笛6 小时前
Redis Insight 汉化教程:Windows / macOS / Linux 设置中文界面(附繁體、教程汉化、关闭自动更新)
数据库·redis·缓存
nice_lcj5206 小时前
MySQL 存储引擎入门:InnoDB 和 MyISAM 到底怎么选
java·数据库·mysql·面试·innodb·存储引擎·myisam
古典和浪漫7 小时前
MVCC机制
数据库
xixingzhe27 小时前
mysql全量、增量备份
数据库·mysql
AllData公司负责人15 小时前
AI大模型数据开发底座系列说明书,AllData集成Chat2DB开源项目建设AI 数据库分析底座,涵盖AI 洞察/对话SQL/智能视图!
数据库·人工智能·sql·开源·ai 洞察·对话sql
xixingzhe215 小时前
数据库备份的分类与特点
数据库
时间的拾荒人19 小时前
Redis 主从复制详解:配置实操 + 原理机制
数据库·redis·面试