tomcat jdbc 中的 Birt 运行时连接错误

Birt runtime in tomcat jdbc connection error

我在 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 文件夹中。 此外,该报告使用连接配置文件。

希望有人有想法。

这个问题在评论中以某种方式得到了解决 - 但对于任何登陆此问题的人:

  • 您的应用程序中需要一个包含 oracle.jdbc.driver.OracleDriver 的 jar
  • 搜索包含 class in google and you will probably land at oracle's driver page (11g release or 12c release 或类似内容的罐子)。 ojdbc6.jarojdbc7.jar 可能是您要查找的内容。
  • 检查您是否有正确的 jar 文件:将 jar 文件重命名为“.zip”,解压缩,然后在文件夹 oracle/jdbc/driver/ 中找到 OracleDriver.java。如果它存在,那么这个 jar 应该可以帮助您避免 ClassNotFound 异常