【问题标题】:Setup a Oracle JDBC provider in Websphere 8.0.0.13在 Websphere 8.0.0.13 中设置 Oracle JDBC 提供程序
【发布时间】:2019-09-19 18:47:38
【问题描述】:

我们正在尝试在 Websphere Application Server 版本 8.0.0.13 上设置 JNDI(oracle 数据库)。运行 Java 1.6.0:

WebSphere Platform 8.0.0.13 [BASE 8.0.0.13 cf131705.01] running with process name pandora-vmNode01Cell\Aplicacion-node\server1 and process id 5230
Host Operating System is Linux, version 3.13.0-133-generic
Java version = 1.6.0, Java Compiler = j9jit26, Java VM name = IBM J9 VM

我从 maven 和 oracle 服务器下载了 ojdbc6.jar,我们创建了一个使用该 jar 文件的 JDBC 提供程序。我们尝试使用该 JDBC 提供程序配置数据源。但是,当我们测试连接时,会出现此错误:

The test connection operation failed for data source XXXXX_oracle on server 
server1 at node Aplicacion-node with the following exception: 
java.sql.SQLException: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad
major version; class=oracle/jdbc/pool/OracleConnectionPoolDataSource,
offset=6. View JVM logs for further details.

会发生什么? 我们使用的是正确的 ojdbc 文件,因为服务器运行的是相同的 SDK 版本。

提前谢谢你。

【问题讨论】:

    标签: java oracle websphere jndi ojdbc


    【解决方案1】:

    正如您所说,ojdbc6 jar 应该与 Java 6 兼容,因此实际上可能正在使用不同版本的 Oracle JDBC 驱动程序。应用程序或 WebSphere 配置中是否存在不同的 Oracle JDBC 驱动程序副本?如果是这样,可以加载可能需要高于 Java 6 的版本,而不是您配置的 ojdbc6 驱动程序。

    1. 检查您的应用程序中是否包含其他 Oracle JDBC 驱动程序。
    2. 检查是否在 WebSphere 中使用较新的 JDBC 驱动程序配置了其他 Oracle JDBC 提供程序。如果是这样,请修改您的配置,以便您的所有提供程序都使用相同版本的 Oracle JDBC 驱动程序,或者您需要Isolate your JDBC Providers

    另外,友情提醒一下,WebSphere 8.0 和 Java 6 都不支持,所以如果可能,您应该迁移到两者的更新版本。

    【讨论】:

    • 实际上我们正在部署一个“Java 1.6”应用程序,应用程序工件已打包 ojdbc6.jar。我正在通过 Websphere Admin GUI 创建所有这些资源。所以,我忽略了所有应用程序的事实,几个月前我们用相同的方法设置了一个 WAS9 服务器并且它工作了。我将检查服务器是否有另一个驱动程序和资源隔离。谢谢。
    猜你喜欢
    • 2014-03-27
    • 2011-03-28
    • 2015-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多