使用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映射的库中对应分表不知为何的确不存在。
按照分库分表规则,到对应库中添加对应的分表,再次执行程序,异常消失。