1

我正在尝试测试连接到 sql 服务器的 grails 应用程序,目前,我正在使用我自己的一个。这是我的 datasource.groovy

    dataSource {
        configClass = GrailsAnnotationConfiguration.class
        pooled = true
        driverClassName = "oracle.jdbc.driver.OracleDriver"
        dialect = "org.hibernate.dialect.Oracle10gDialect"
        dbCreate = "update" // one of 'create', 'create-drop', 'update', 'validate', ''
        url = "jdbc:oracle:thin:@127.0.0.1:1521/xe"
        username = "blah"
        password = "blah"
        properties {
            validationQuery="select 1 from dual"
            testWhileIdle=true
            timeBetweenEvictionRunsMillis=60000
        }
    }

我从另一个应用程序借用了这段代码,只是更改了 url 和用户/密码。另一个应用程序运行良好,但我的应用程序抛出了一个很长的异常,归结为这个

Caused by SQLNestedException: Cannot load JDBC driver class 'oracle.jdbc.driver.OracleDriver'
stack trace
Caused by ClassNotFoundException: oracle.jdbc.driver.OracleDriver

我已将 ojdbc6.jar 复制到我的应用程序 lib/ 中,但恐怕我不知道下一步该做什么。

编辑我已经更新oracle.jdbc.driver.OracleDriveroracle.jdbc.OracleDriver,但没有进展

4

3 回答 3

5

grails compile --refresh-dependencies

当您将 jar 添加到 lib 目录时,Grails 会将其添加到类路径中。这是 2.0+ 的新要求

不相关 - 您可以删除

configClass = GrailsAnnotationConfiguration.class

因为这是现在的默认设置

于 2012-07-03T16:21:03.723 回答
4

班级不应该是:

driverClassName = "oracle.jdbc.OracleDriver"

我相信另一个已被弃用

于 2012-07-03T15:55:58.947 回答
3

所以,问题出在@tim_yates 的建议上。从那以后我遇到的问题是,即使我正在刷新依赖项,正如@burt 所说,但我从未重新加载过配置文件。

grails clean然后我就跑了grails compile --refresh-dependencies,瞧,问题解决了。感谢@burt 和@tim_yates 帮助我

于 2012-07-03T18:36:32.100 回答