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

相关推荐
我是大猴子3 小时前
Redis为什么不适合做持久化和DB的区别在哪里
数据库·redis·缓存
mN9B2uk173 小时前
数据库锁总结
数据库·oracle
闪电悠米3 小时前
黑马点评-秒杀优化-04_lua_and_db_fallback
服务器·开发语言·网络·数据库·缓存·junit·lua
Jun6263 小时前
QT(5)-第三方日志系统
开发语言·数据库·qt
骄马之死3 小时前
Redis 核心知识点总结
数据库·redis·缓存
basketball6163 小时前
Redis基础:6. 哨兵模式
数据库·redis·bootstrap
点灯小铭3 小时前
基于单片机的锅炉压力与温度监测报警系统设计
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
麦聪聊数据3 小时前
AI+Headless Agent 如何构建零风险数据库运维体系
数据库
小小工匠4 小时前
Redis - CPU架构对Redis性能的影响
数据库·redis·架构
超梦dasgg4 小时前
连接 & 连接池完整详解(以数据库连接最常用,Redis/MQ 同理)
数据库·redis·缓存