使用shardingjdbc分库分表方式访问oracle数据库时,出现了如下错误。

2021-11-29 15:14:38.175 [http-nio-8195-exec-3] ERROR c.f.c.c.h.GlobalExceptionHandler - [handleGlobalException,30] - 全局异常信息 ex=
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在

具体的异常信息如下:

### The error may exist in file [C:\Users\XXX\git\cloud-shield\cloud-shield-dao\target\classes\mapper\ShldDeviceMapper.xml]
### The error may involve com.demo.cloudshield.dao.mapper.ShldDeviceMapper.selectShldDeviceList-Inline
### The error occurred while setting parameters
### SQL: SELECT ID, CIF_NO FROM SHLD_DEVICE WHERE  DEVICE_UUID =? AND cif_no =?  AND SHIELD_STATUS =?
### Cause: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在

; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在

org.springframework.jdbc.BadSqlGrammarException: 
### Error querying database.  Cause: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在

经过确认,对应sql映射的库中对应分表不知为何的确不存在。

按照分库分表规则,到对应库中添加对应的分表,再次执行程序,异常消失。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐