一、异常场景
上一个文章若依开源框架(分离版)在人大金仓数据库下使用-CSDN博客
按照之前配置教程安装后出现了以下场景:
二、问题分析
那么相信大部分小伙伴就开始慌了,急忙搜索网上解答,很明显是查不到的,可能更多查到的是一个模式问题;如图
可能就感觉是自己没配置模式名,然后呢发现在sql配置后还是报同样的错误。
在这个问题出现时我也懵了一下,因为在我做的项目也是按照这套配置来的呀,怎么连我自己的也报这个错误(换了电脑重新安装了),后来我把语句复制到navicat中运行下
ok,没得意外还是同样的错误。于是我不禁怀疑起难道真是模式错误?
加上后再执行一遍 ,惊奇发现成功了.......
2.1 问题原因
到这里问题就已经很明确,说明有干扰因素导致没办法正确找到这张sys_users表,可能就有人说,这加了模式名就成功了,不应该是模式名的问题嘛?我们仔细看到,我仅仅只有sys_users这一张加上了,其他是没有加的呀.......说明只有sys_users存在这个问题;为了进一步验证我的想法。我们去看看这张users表的数据。
emmmm..........出现了人大金仓的数据库用户表了,前面文章提到过,我们要正常使用就得避开人大金仓冲突的表,为此还特地改的sys_users,然后我又去查了sys_user,发现内容也是一样的....
2.2 解决方案
ok,疑惑就解开了,我们是在去年的时候做的项目,可能在金仓的新版本中又更新了一些新特性......导致这个小小的bug,解决方法也简单
①修改表名:将sys_users,修改为别的名字
这里我修改为sys_user21
同时也要修改对应的sql语句,全局文件替换查找sys_users改为sys_user21
效果图:
ok,成功进入。
②在原先sql语句上,加上模式名。也能起到相同效果
2.3 额外问题
在上述场景解决后,可能还是无法登录,提示找不到sysdate()函数,这就是人大金仓与mysql不同造成的,解决方法也很简单全局替换sysdate()为CURRENT_TIMESTAMP;
好的,到这里基本就可以正常登录和使用用户管理模块了
三、总结
我们从该个场景,不仅仅要知道这个问题的解决方案,更是要知道问题出现的原因,以及如何去分析,只有在不断去分析中才能养成独立思考,慢慢培养自己的代码能力,包括也要及时关注新技术以及一些技术的更新,这个场景也很好的印证了。
(本文章主要是给一些小白,以及萌新,入门者,所以写的会比较细致和啰嗦,大神勿喷QAQ)
(文章结尾还是多多求大家点赞关注收藏订阅)
(有问题可以留言,每日都会定时回复的,包括建议也是)