若依框架多源数据库达梦应用适配问题处理记录-无效的模式名
最近项目中有用户反馈应用连接数据库执行sql报无效的模式名,而在达梦客户端可以正常查询
首先怀疑的是应用连接串配置有错误,连接串配置如下:
根据查询,SZSJTGK模式不属于YSZWDT_YWYY用户
将连接串模式名去掉之后还是同样问题,模式名大小写,驱动这些方面排除之后还是同样报错。
后面进一步沟通,应用里面配置有两个库。一个master,一个slave,报错sql在slave客户端可以正常查询的,配置如下:
怀疑是应用没有连上slave 库,先把注释报错的注释掉,换成如下sql,查询当前模式
SELECT SF_GET_SCHEMA_NAME_BY_ID(CURRENT_SCHID);
可以看到就当前应用连的模式属于是mastar库,没有连slave,而mastar没有SZSJTGK这个模式,所以执行sql导致应用报:无效的模式错误
为什么没有连接到slave库而且连的master,和用户进一步沟通,采用的若依框架,配置的双数据源:slave连接相关方法调用如下
从上面也没有发现什么问题,经过网上查找资料若依框架如何配置双数据源检查发现。用户配置的从数据源开关是false,怀疑是这里配置问题
用户反馈注释掉也不行。根据若依框架资料说明:从库默认是关闭的,需要将enabled改成true,改完之后客户反馈能正常查询
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了