2016-03-07 2 views
1

Я работаю над приложением DROPWIZARD MIGRATION [Dropwizard 0.7.0]. Чтобы сгенерировать структуру db с помощью migration.xml, я запускаю команду db migrate для базы данных Postgres и ORACLE. Для Postgres Я успешно способен генерировать структуры БД, но при попытке для ORACLE с следующими детали получают за исключениеПеремещение Dropwizard для ORACLE 11g

database: 
    # the name of your JDBC driver 
    # driverClass: org.postgresql.Driver 
    driverClass: oracle.jdbc.driver.OracleDriver 

    # the username 
    user: system 
    # user: postgres 

    # the password 
    password: Passw0rd 

    # the JDBC URL 
    # url: "jdbc:postgresql://192.168.1.130:5432/mydb" 
    url: "jdbc:oracle:thin:@192.168.1.130:1521/mydb" 

    # Hibernate dialect 
    # dialect: "org.hibernate.dialect.PostgreSQLDialect" 
    dialect: "org.hibernate.dialect.Oracle10gDialect" 

    # hibernate.connection.provider_class 
    connectionProviderClass: org.hibernate.service.jdbc.connections.internal.C3P0ConnectionProvider 

для этих оракула настройки я получаю следующее исключение

ERROR [2016-03-07 07:59:24,001] org.apache.tomcat.jdbc.pool.ConnectionPool: Unable to create initial connections of pool. 
Exception in thread "main" java.lang.reflect.InvocationTargetException 
! java.sql.SQLException: Validation Query Failed, enable logValidationErrors for more details. 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
! at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:715) [tomcat-jdbc-7.0.50.jar:na] 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
! at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635) [tomcat-jdbc-7.0.50.jar:na] 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
! at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:486) [tomcat-jdbc-7.0.50.jar:na] 
    at java.lang.reflect.Method.invoke(Method.java:606) 
! at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144) [tomcat-jdbc-7.0.50.jar:na] 
    at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) 
! at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116) [tomcat-jdbc-7.0.50.jar:na] 
Caused by: java.sql.SQLException: Validation Query Failed, enable logValidationErrors for more details. 
! at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103) [tomcat-jdbc-7.0.50.jar:na] 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:715) 
! at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127) [tomcat-jdbc-7.0.50.jar:na] 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:635) 
! at io.dropwizard.migrations.CloseableLiquibase.<init>(CloseableLiquibase.java:17) [dropwizard-migrations-0.7.0.jar:0.7.0] 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.init(ConnectionPool.java:486) 
! at io.dropwizard.migrations.AbstractLiquibaseCommand.openLiquibase(AbstractLiquibaseCommand.java:66) [dropwizard-migrations-0.7.0.jar:0.7.0] 
    at org.apache.tomcat.jdbc.pool.ConnectionPool.<init>(ConnectionPool.java:144) 
! at io.dropwizard.migrations.AbstractLiquibaseCommand.run(AbstractLiquibaseCommand.java:53) [dropwizard-migrations-0.7.0.jar:0.7.0] 
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.pCreatePool(DataSourceProxy.java:116) 
! at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76) [dropwizard-core-0.7.0.jar:0.7.0] 
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.createPool(DataSourceProxy.java:103) 
! at io.dropwizard.cli.Cli.run(Cli.java:70) [dropwizard-core-0.7.0.jar:0.7.0] 
    at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:127) 
! at io.dropwizard.Application.run(Application.java:72) [dropwizard-core-0.7.0.jar:0.7.0] 
    at io.dropwizard.migrations.CloseableLiquibase.<init>(CloseableLiquibase.java:17) 
! at org.opensample.MyApplication.main(MyApplication.java:59) [classes/:na] 
    at io.dropwizard.migrations.AbstractLiquibaseCommand.openLiquibase(AbstractLiquibaseCommand.java:66) 
! at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.7.0_45] 
    at io.dropwizard.migrations.AbstractLiquibaseCommand.run(AbstractLiquibaseCommand.java:53) 
! at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) ~[na:1.7.0_45] 
    at io.dropwizard.cli.ConfiguredCommand.run(ConfiguredCommand.java:76) 
! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_45] 
    at io.dropwizard.cli.Cli.run(Cli.java:70) 
! at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_45] 
    at io.dropwizard.Application.run(Application.java:72) 
! at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) [idea_rt.jar:na] 
    at org.opensample.Mypplication.main(MyApplication.java:59) 
    ... 5 more 
+1

«* Запрос проверки не выполнен, включите logValidationErrors для получения более подробной информации» * - так каков ваш запрос проверки и что вы видели, когда вы следовали этому совету? –

+0

Моя конфигурация postgres работает, но она не работает для Oracle. Я понятия не имею о проверке запроса. –

+0

В коде я не упоминал validaiton запрос для postgres, и я удивлен, что он работал, и те же настройки не работают для oracle. После добавления следующего оператора, то есть dataSourceFactory.setValidationQuery («SELECT * FROM INFORMATION_SCHEMA.SYSTEM_TABLES»); Я перешел к следующему шагу. Теперь я получаю ORA-00972: идентификатор слишком длинный –

ответ

0

Причину по умолчанию validationQuery использованного по DropWizard определяется как

SELECT 1;

, который не поддерживается DB2. Возможным решением является установка параметра validationQuery в настройке DropWizard. значения конфигурации рекомендуется для DB2:

validationQuery: select 1 from sysibm.sysdummy1

Вы можете найти подробный ответ с различными определениями для других двигателей DB here.

Смежные вопросы