iReport连接Grails DB [H2]

时间:2012-06-28 12:47:58

标签: grails jasper-reports ireport

我在连接Grails数据库服务器时遇到此问题,该服务器默认使用H2数据库(driverClassName:“org.h2.Driver”)。

iReport 连接到数据库的方法是什么?

3 个答案:

答案 0 :(得分:3)

第1步:设置自动混合模式

在Grails项目中编辑DataSource.groovy文件,将jdbc连接设置为自动混合模式(AUTO_SERVER = TRUE)。需要这样才能使Grails和iReport同时访问H2数据库。有关详细信息,请参阅here

url = "jdbc:h2:devDb;AUTO_SERVER=TRUE;MVCC=TRUE;LOCK_TIMEOUT=10000"

第2步:将H2 Jar文件添加到iReport

  • Mac:转到iReport - >偏好 - > iReport - > ClassPath - >添加JAR (然后选择H2 jar文件,例如h2-1.3.164.jar)
  • Windows:工具 - > 选项 - > iReport - > ClassPath - >添加JAR(see here for screenshots

步骤3:在iReport中设置JDBC连接

使用以下JDBC配置,请参阅this iReport Screencast 1分30秒,了解如何进行设置。

JDBC Driver: org.h2.Driver 
JDBC URL: jdbc:h2:/FULLPATH/devDb;AUTO_SERVER=TRUE;MVCC=TRUE;LOCK_TIMEOUT=10000 

Talon06's answer一样, org.h2.Driver 驱动程序不会出现在下拉框中,但可以直接输入。 AUTO_SERVER = TRUE也必须在JDBC URL中

答案 1 :(得分:2)

在iReport中设置连接时,选择Database JDBC Connection,对于JDBC Driver,选择“HSQLDB(file)(org.hsqldb.jdbcDriver)”。

显然,您的DataSources需要配置为使用文件(而不是内存),然后您将iReport数据源指向,例如:

development {
    dataSource {
        dbCreate = "create-drop"
        url = "jdbc:hsqldb:file:<path to file>/devDB;shutdown=true"
    }
}

答案 2 :(得分:2)

选择JBDC驱动程序,然后在组合框中键入“org.h2.Driver”。 然后输入数据库的路径,并在Driver Class Path选项卡中添加来自其站点的h2数据库jar。

无论如何,这对我有用