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

相关推荐
正儿八经的少年4 小时前
布隆过滤器(解决redis缓存穿透步骤之一)
数据库·redis·缓存
xrandzj5 小时前
MySQL8.0 从零通关核心操作手册(Ubuntu实战版)
数据库·mysql
我不会插花弄玉5 小时前
4.数据类型【由浅入深-MySQL】
数据库·mysql
denggun123455 小时前
yield
前端·数据库·python
ltl5 小时前
SQLite Rollback Journal:写前拷贝与提交点
数据库
ltl6 小时前
TiFlash Learner:Raft 日志如何进列存
数据库
ltl6 小时前
BM25 与 Lucene Similarity:公式如何落到 postings
数据库
ltl6 小时前
RocksDB Block Cache 与 Bloom Filter:读放大怎么裁
数据库
deli0070077 小时前
JSON 树形查看器:粘贴即解析,折叠展开一目了然
前端·数据库·json·ai编程
国科安芯7 小时前
轨道供电韧性:ASP4644四通道降压架构在低轨卫星平台电源管理中的适用性分析
运维·网络·数据库·嵌入式硬件·架构·状态模式·低轨卫星星座