2012-09-26 66 views
2

我有一個grails項目,我需要創建一個加密的H2數據庫,但我不知道如何使它工作。以下是我在DataSource.groovy中:無法爲Grails創建加密的H2數據庫

dataSource { 
    pooled = true 
    driverClassName = "org.h2.Driver" 
    dialect = "org.hibernate.dialect.H2Dialect" 
    dbCreate = "update" // one of 'create', 'create-drop','update' 
    url = "jdbc:h2:/opt/viewpoint/data/h2/viewpoint;MODE=MYSQL;CIPHER=AES" 
    user = "sa" 
    pwds = "filepwd password" 
} 

當我運行它,我得到如下:

Caused by: org.h2.jdbc.JdbcSQLException: Wrong password format, must be: file password <space> user password [90050-117] 
    at org.h2.message.Message.getSQLException(Message.java:105) 
    at org.h2.message.Message.getSQLException(Message.java:116) 
    at org.h2.message.Message.getSQLException(Message.java:75) 
    at org.h2.message.Message.getSQLException(Message.java:151) 
    at org.h2.engine.ConnectionInfo.convertPasswords(ConnectionInfo.java:264) 
    at org.h2.engine.ConnectionInfo.<init>(ConnectionInfo.java:72) 
    at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:94) 
    at org.h2.Driver.connect(Driver.java:58) 
    at java.sql.DriverManager.getConnection(DriverManager.java:582) 
    at java.sql.DriverManager.getConnection(DriverManager.java:154) 
    at $Proxy46.getMetaData(Unknown Source) 
    ... 23 more 
+0

你要到數據庫或加密密碼? – bluesman

+0

什麼是pwds =「filepwd密碼」用於? – MBozic

+0

@bluesman,我想加密數據庫。 – wholladay

回答

3

我不知道你來自哪裏有你的數據源配置的例子,但你需要使用usernamepassword代替userpwds

dataSource { 
    pooled = true 
    // ... 
    username = "sa" 
    password = "filepwd password" 
}