2017-02-09 4 views
0

私は単純なdropwizardアプリケーションを持っていますが、設定用に次のymlを書いています。ここHibernate + Dropwizard、MySQLSyntaxErrorException:不明なデータベース 'test_db;'

template: Hello, %s! 
defaultName: Stranger 
database: 
    driverClass: com.mysql.jdbc.Driver 
    user: rootUser 
    password: rootPassword 
    url: jdbc:mysql://<SQL SERVER IP>:<SQL SERVER IP>/test_db; 
    properties: 
    charSet: UTF-8 
    hibernate.dialect: org.hibernate.dialect.MySQLDialect 

とは、私は自分のアプリケーションの「ファイル名を指定して実行」の方法でそれを追加する方法である:同じクラスで、私は遊びにもたらし、次の方法を、持っている、

// Setting up the database. 
    final DBIFactory factory = new DBIFactory(); 
    final DBI jdbi = factory.build(environment, configuration.getDataSourceFactory(), "mysql"); 

    //Hibernate 
    final UserDAO dao = new UserDAO(hibernate.getSessionFactory()); 
    environment.jersey().register(new UserResource(dao)); 

また、休止状態バンドル:

private final HibernateBundle<ServerConfiguration> hibernate = new HibernateBundle<ServerConfiguration>(User.class) { 
    @Override 
    public DataSourceFactory getDataSourceFactory(ServerConfiguration configuration) { 
     return configuration.getDataSourceFactory(); 
    } 
}; 

さて、これはすべてのビルドが、私はjarファイルを実行しても、それにYMLファイルを使用しようとすると...私は次のエラーを取得:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown database 'test_db;' 

私はdBeaverを使ってtbl_usersテーブルにレコードを追加するため、その場所にdbが存在することを知っています。

+0

あなたのJDBC URLでサーバIPとPORTが正しいことは確かですか? – Naros

+0

ええ、100% - SQLクライアントの詳細を使って接続できます。 – MickeyThreeSheds

答えて

2

database.urlプロパティから末尾の;を削除すると正常に機能します。末尾の;は、障害の原因となっているデータベース名の一部として含まれています。

関連する問題