2012-09-26 63 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" 
}