SpringCloud+oracle 双数据源使用ojdbc8时会偶发性出现该表或视图不存在异常,但下一次再调用的时候则是正常的,且场景重现难
OracleDatabaseException: ORA-00942: table or view does not exist
com\oracle\ojdbc8\19.7.0.0.0\ojdbc8-19.7.0.0.0.jar
这没啥办法,偶现问题只能加日志,看一下你们是基于什么方案做的数据源切换,把切换的关键信息打印出来才知道
你是不是在ORACLE中建表时把表名用""括起来了?
在ORACLE建表时的SQL中表名用引号括起来了,则以后对此表的所有操作都必须把此表名用引号括起来,否则报“表不存在”。
这种情况很可能是由于该表或视图在某一次查询被删除,但在下一次查询时再次创建了该表或视图,导致抛出该异常。你可以尝试在每次查询前先检查该表或视图是否存在,如果不存在则先创建该表或视图。
不知道你这个问题是否已经解决, 如果还没有解决的话:这个问题,就需要开发人员对于编写SQL,进行细致的检查,以及SQL编写的强化学习工作,特别是对于初级开发人员。
特别是在程序开发中,执行的SQL,不能够直接进行SQL的操作工作,就需要我们使用Debug模式,取出执行的SQL,在进行分析工作,放在PL/SQL中,进行执行看看是否报错,如果报错,就需要我们逐字逐句的进行检验。