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

相关推荐
Nturmoils3 小时前
数据集成软件 KFS:多套业务库汇聚时,先把来源和口径理清
数据库
麦壳饼3 小时前
SonnetDB:批量写入的大小、背压与刷新策略
数据库·sonnetdb
weixin_460443564 小时前
Java+Linux私有化训考平台:服务、数据库与终端部署结构解析
java·linux·数据库·私有化部署·企业培训考试系统·企业考试系统
编程火箭车4 小时前
MySQL 拥抱 AI:向量、RAG、AutoML 全进了数据库
数据库·mysql·ai编程·向量数据库·rag·automl·mysql9
用户8662978480085 小时前
KingbaseES 中文乱码、排序不对?区域和字符集的问题,一次说清
数据库
aruo5 小时前
回退旧镜像之前,先确认数据库还能兼容
数据库
张洛闻Eren5 小时前
Ansible【第三课】:管理变量和事实
数据库·oracle
weixin_382395236 小时前
0-500 人工厂的生产 PMC 系统怎么做?基于 Tauri + SQLite 的性能架构实践与 5000 物料压测实录
数据库·架构·sqlite
l1t6 小时前
DeepSeek总结的 DuckDB 2.0 文档新内容
服务器·网络·数据库
IvorySQL6 小时前
PostgreSQL 日报| PG19 主备切换挂起修复(10 月 17 日)
数据库·postgresql