【问题标题】:jdbc issue on tomcat6 with birt带有 birt 的 tomcat6 上的 jdbc 问题
【发布时间】:2012-09-01 21:13:44
【问题描述】:

首先,我对tomcat6知之甚少,也很久没有做过复杂的java工作了。

所以我朋友的服务器出现故障,我正在尝试在新系统上运行(Ubuntu 12.04,带有 Tomcat6)。

他的网站有一些 birt 报告的链接,但它们不起作用。 jdbc mysql驱动好像有问题。

这是我所拥有的: 在 catalina.sh 中,我有

CLASSPATH=$CLASSPATH:/usr/share/java

在那个目录中,我有(显然,这里不仅仅是这些东西):

mysql-connector-java-5.1.16.jar
mysql-connector-java.jar
mysql.jar

birt 的东西部署在 /var/lib/tomcat6/webapps/WebViewerExample 中,在那里我看到了 WEB-INF/lib 目录,我还复制了 mysql-connector jar 文件。

我设置 birt 以便它记录内容,这是它给我的错误:

Sep 1, 2012 3:49:51 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SEVERE: refreshUrlsWhenFail: true
Sep 1, 2012 3:49:51 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SEVERE: driverClassPath: null
Sep 1, 2012 3:49:51 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SEVERE: Registered URLs:
Sep 1, 2012 3:49:51 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNING: Failed to load JDBC driver class: com.mysql.jdbc.Driver
Sep 1, 2012 3:49:51 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SEVERE: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: com.mysql.jdbc.Driver.
    at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.findDriver(JDBCDriverManager.java:782)
.... Huge stack trace...

所以我对 java 和 tomcat 不太了解。关于我可以做些什么来让它工作的任何线索?

【问题讨论】:

    标签: java linux tomcat jdbc driver


    【解决方案1】:

    应将 JDBC 驱动程序之类的罐子添加到全局类路径中。你需要把mysql-connector-java-5.1.16.jar 放到tomcat 的lib 目录下。将其放入${tomcat.dir}/lib 文件夹并从WEB-INF/lib 中删除mysql jar。

    【讨论】:

    • 当我查看 /var/lib/tomcat6 时,没有 lib 目录。我应该做一个吗?我假设这是 ${tomcat.dir} 的位置。
    • 好的,所以在 ubuntu 中,${tomcat.dir}/usr/share/tomcat6。里面有lib文件夹。我在lib 中创建了一个名称为mysql-connector-java.jar 的符号链接,指向/usr/share/java/mysql-connector-java.jar。重新启动tomcat。得到相同的结果(相同的错误消息)。还有其他建议吗?
    • 所以我已经走得够远了,我现在有一个不同的错误:SEVERE: Unable to open connection. org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.. at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:264)。所以看起来它现在正在寻找驱动程序,只是没有连接。 mysql日志中没有错误。有什么建议吗?
    • 所以你做了什么。后来我的问题是IP地址被硬编码到Birt文件(不是localhost)中,并且mysql没有绑定到那个地址。更改了 my.cnf,因此 mysql 将绑定所有地址,在 mysql 中授予用户访问权限,瞧,它可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2015-10-19
    • 2011-12-24
    • 1970-01-01
    相关资源
    最近更新 更多