ORA-00942 occurs when using Oracle DB and Flyway
- 主要语言
- Java
- 星标
- 130
- 派生
- 21
- PR 合并指标
- 30 天内没有已合并 PR
描述
"ORA-00942: table or view does not exist" occurs when calling setStartPointNow().
Because the table name created by Flyway is lowercase, you must enclose the table name in double quotes when executing the SELECT statement.
```
OracleDataSource ods = new OracleDataSource();
ods.setURL(...);
ods.setUser(...);
ods.setPassword(...);
Changes changes = new Changes(ods);
changes.setStartPointNow();
```
the following is output to the failure trace.
```
Caused by: java.sql.SQLSyntaxErrorException: ORA-00942: table or view does not exist.
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:461)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1104)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:655)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:229)
at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:41)
at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:765)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:983)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1362)
at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:369)
at org.assertj.db.type.Table.loadImpl(Table.java:858)
at org.assertj.db.type.AbstractDbData.load(AbstractDbData.java:131)
... 80 more
Caused by: Error : 942, Position : 14, Sql = SELECT * FROM flyway_schema_history, OriginalSql = SELECT * FROM flyway_schema_history, Error Msg = ORA-00942: 表またはビューが存在しません。
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:513)
... 94 more
```
贡献指南
评估
这个 Issue 还没有评估数据。