【问题标题】:Can anyone decipher this SQL Stack Trace?任何人都可以破译这个 SQL 堆栈跟踪吗?
【发布时间】:2013-02-15 19:26:47
【问题描述】:

我有一个对我没有任何意义的堆栈跟踪。我认为它的本质是“找不到数据源名称并且没有指定默认驱动程序”部分,但是我已经注册了一个驱动程序并且我没有使用数据源。如果有帮助,我正在使用 SQL Anywhere 10 驱动程序 (ianywhere)。有人有什么想法吗?

2013-02-15 13:16:58,076 [http-apr-80-exec-1] ERROR errors.GrailsExceptionResolver  - SQLException occurred when processing request: [GET] /Booklist/booklist/show
[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. Stacktrace follows:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at ianywhere.ml.jdbcodbc.jdbc3.IDriver.connect(IDriver.java:490)
    at java.sql.DriverManager.getConnection(DriverManager.java:579)
    at java.sql.DriverManager.getConnection(DriverManager.java:243)
    at booklist.Book.getClassesWithBooks(Book.groovy:22)
    at booklist.BooklistController.show(BooklistController.groovy:11)
    at grails.plugin.cache.web.filter.PageFragmentCachingFilter.doFilter(PageFragmentCachingFilter.java:195)
    at grails.plugin.cache.web.filter.AbstractFilter.doFilter(AbstractFilter.java:63)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:722)

编辑:问题是,这在我的本地开发机器上工作得很好,但是一旦我们构建一个 War 并将它放在 tomcat 服务器上,就会弹出这个可爱的错误

【问题讨论】:

  • 你的 JDBC URL 是什么?
  • 您好。感谢您的回复。网址如下:DriverManager.registerDriver( (Driver) Class.forName("ianywhere.ml.jdbcodbc.jdbc3.IDriver").newInstance() );def sql = Sql.newInstance("jdbc:ianywhere:Driver=SQL Anywhere 10;LINKS=TCPIP(IP=[IP-address];PORT=[PORT]);ServerName=[server-name];databaseName=[db-name];uid=dba;pwd=[our-password]")

标签: sql exception grails driver stack-trace


【解决方案1】:

我认为痕迹很清楚。查看第一条错误信息:

[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified. Stacktrace follows:
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

ODBC 驱动程序设置不正确。它指向一个不存在的数据库。或者,可能是到一个不存在的服务器。

【讨论】:

  • 问题是,这在我的本地开发机器上工作得很好,但是一旦我们构建了一个 War 并将它放在 tomcat 服务器上,这个可爱的错误就会弹出。
【解决方案2】:

这似乎是Grails 配置问题。检查您正在构建战争的环境(开发、生产)和 DataSource.groovy 中的相关配置。 Grails Documentation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-24
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-17
    • 1970-01-01
    相关资源
    最近更新 更多