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 はまだ評価されていません。