2016-04-27 18 views
0

wenn liquibase Migrate Aufruf generatechangelog, etc ... mit einer Oracle-Datenbank, erhalten wir durchweg die ORA-00942 Fehler, wenn die liquibase JDBCDriver fürliquibase Oracle ORA-00942

Metadaten Orakel nennt
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439) 
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395) 
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802) 
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436) 
+0

............................. .................. –

+1

ich su Sie können Ihr Beispiel verbessern, indem Sie das [Minimale, vollständige und überprüfbare Beispiel] (http://stackoverflow.com/help/mcve) lesen. – IlGala

Antwort

2

das Problem gefunden indem Sie die Protokollierung im ojdbc_g-Treiber verfolgen. Es stellt sich heraus, dass GetSchemas() in den JDBCDriver in Oracle'ALL_USERS` Ansicht abfragt

DatabaseMetaData metadata=conn.getMetaData(); ResultSet rs2=metadata.getSchemas();

SELECT username AS table_schem,null as table_catalog FROM all_users ORDER BY table_schem ORA-00942: Tabelle oder Sicht nicht

In unserer Datenbank nicht vorhanden ist, tut ALL_USERS Ansicht nicht existieren, so habe ich wieder die Ansicht in der Standard-Oracle Weise

CREATE OR REPLACE FORCE VIEW "ALL_USERS" ("USERNAME", "USER_ID", "CREATED") ...

+1

Wenn 'all_users' nicht in Ihrer Oracle-Installation vorhanden ist, ist Ihre Installation ernsthaft vermasselt. Ich würde eher annehmen, dass Ihr Oracle-Benutzer nicht das 'select'-Privileg für diese Ansicht hatte (obwohl das sehr ungewöhnlich ist und auch auf ein Problem mit Ihrer Installation hinweisen könnte) –

+0

oder nur keine Berechtigungen für die sys.all_users-Ansicht :) –

+1

Das ist was Ich meinte mit "* Ihr Oracle-Benutzer hatte nicht die select-Berechtigung für diese Ansicht *" - was auch sehr ungewöhnlich ist –