1

我正在构建一个将连接到 Sybase SQL Anywhere 数据库的 Grails 应用程序,但我收到了一个非常令人沮丧的错误消息:

URI: /Booklist/user/authenticate
Class: java.sql.SQLException
Message: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified`

我正在使用的不起作用的代码是:

def sql = Sql.newInstance("jdbc:ianywhere://localhost:1234/dbName", "user", "password", "ianywhere.ml.jdbcodbc.jdbc3.IDriver")

我的堆栈跟踪是:

Line | Method
->>  490 | connect       in ianywhere.ml.jdbcodbc.jdbc3.IDriver
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    579 | getConnection in java.sql.DriverManager
|    221 | getConnection in     ''
|     16 | getBooks      in Book.groovy
|     11 | authenticate  in UserController.groovy
|    195 | doFilter      in PageFragmentCachingFilter.java
|     63 | doFilter . .  in AbstractFilter.java
|   1110 | runWorker     in java.util.concurrent.ThreadPoolExecutor
|    603 | run . . . . . in java.util.concurrent.ThreadPoolExecutor$Worker
^    722 | run           in java.lang.Thread

有任何想法吗?谢谢!

4

2 回答 2

1

我强烈建议您遵循 Grails 最佳实践并在DataSource.groovy配置文件中设置数据源:http: //grails.org/doc/2.2.x/guide/conf.html#dataSource而不是滚动 JDBC 样式的代码。

于 2013-02-05T19:54:53.620 回答
1

如果您将 jar 文件放在 lib 目录中,它不会自动添加到类路径中。运行grails compile --refresh-dependencies以获取 Grails 以查看并添加它。最好在其中注册依赖项,BuildConfig.groovy以便让 Ivy 下载 jar 一次并缓存并重新使用它。

于 2013-02-06T15:11:24.210 回答