具体报错如下:
2023-11-29 13:54:06,998 INFO manager.SqlManager: Executing SQL statement: select * from crjz where (1 = 0)
2023-11-29 13:54:07,053 ERROR manager.SqlManager: Error executing statement: java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在
java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1054)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:623)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:252)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:612)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:226)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:59)
原因:
因为在oracle表名都是区分大小写的,默认为大写。恰巧我这边在Oracle中有小写的表名,所以才会出现找不到表的错误
解决方法:在表名上面增加双引号单引号双引号
--query "select * from "'"crjzpxx_copy"'" where \$CONDITIONS"
说明:我这里是用的--query的方式,如果是--table也可尝试以上方法,具体我没试过,我想应该是可以的