最近项目中有用户反馈应用连接数据库执行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,改完之后客户反馈能正常查询标签:slave,适配,配置,模式,若依,应用,sql,多源,达梦 From: https://www.cnblogs.com/fangzpa/p/18541451