【问题标题】:Birt runtime in tomcat jdbc connection errortomcat jdbc连接错误中的Birt运行时
【发布时间】:2015-09-10 11:19:25
【问题描述】:

我在 Birt 4.4.0 中创建了一个报告,现在想在我的 tomcat 8.0.26 的 birt 运行时中查看该报告。 该报表连接到 Oracle 数据库并在报表设计器中正常工作,但是当我在 birt 运行时执行它时,出现以下异常:

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs: 
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs: 
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SCHWERWIEGEND: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: oracle.jdbc.driver.OracleDriver.

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs: 
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: DriverClassLoader failed to load class: oracle.jdbc.driver.OracleDriver
java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver

Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: refreshUrlsWhenFail: true
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: driverClassPath: null
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager loadExtraDriver
SCHWERWIEGEND: Registered URLs: 
Sep 10, 2015 1:05:01 PM org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager findDriver
WARNUNG: Failed to load JDBC driver class: oracle.jdbc.driver.OracleDriver
Sep 10, 2015 1:05:01 PM org.eclipse.birt.data.engine.odaconsumer.ConnectionManager openConnection
SCHWERWIEGEND: Unable to open connection.
org.eclipse.birt.report.data.oda.jdbc.JDBCException: Cannot load JDBC Driver class: oracle.jdbc.driver.OracleDriver.

我把jdbc .jar 放在tomcat 的lib 文件夹和birt 运行时的WEB-INF/lib 文件夹中。 此外,该报告使用连接配置文件。

希望有人有想法。

【问题讨论】:

  • 你把jar放入应用后重启Tomcat了吗?您的 jdbc.jar 是否包含名为 oracle.jdbc.driver.OracleDriver 的类? (查看 jar 文件的内容:将其重命名为 .zip 并解压缩)
  • 我多次重启tomcat,是的。但是不,.jar 中没有这样的文件。你知道为什么会这样吗?怎么办?为什么它在报表设计器中起作用..?
  • 我不知道你的jdbc.jar 是什么,但Oracle JDBC 驱动程序通常在ojdbcX.jar 中(其中X 是最小的Java 版本)。请参阅 oracle.com/technetwork/database/features/jdbc/… - 下载一个并将其放入您的 WEB-INF/lib 文件夹中。
  • 它实际上是一个 ojdbc jar,但是该死的。 Jozef Chocholacek,您刚刚提醒我,在报表设计器中,我有几个类似的 jar 链接。我删除了所有这些,并再次添加了应该工作的那个。当然它确实......可能是罐子之间的一些冲突。我的意思是,报告仍然不起作用 - 我得到了 OutOfMemoryException,但我希望我能自己解决。还是谢谢你!

标签: java tomcat jdbc birt


【解决方案1】:

这个问题在 cmets 中以某种方式解决了——但对于任何遇到这个问题的人来说:

  • 您的应用程序中需要一个包含oracle.jdbc.driver.OracleDriver 的罐子
  • 搜索包含该类in google 的jar,您可能会进入oracle 的驱动程序页面(11g release12c release 或类似的)。 ojdbc6.jarojdbc7.jar 可能就是您要找的。​​li>
  • 用于检查是否有正确的 jar 文件:将 jar 文件重命名为“.zip”,解压缩,然后在文件夹 oracle/jdbc/driver/ 中找到 OracleDriver.java。如果存在,那么这个 jar 应该可以帮助您避免 ClassNotFound 异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 2012-07-12
    • 2013-12-21
    • 2018-10-30
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多