验证是否在weblogic中正确更新了OJDBC驱动程序?

时间:2018-04-12 16:33:07

标签: java oracle weblogic weblogic12c ojdbc

我们已将Oracle数据库升级到版本12.我们在Weblogic 12.1.2.0.0上运行Java 7,并使用驱动程序类名oracle.jdbc.OracleDriver建立数据库连接。

如果我在我的weblogic安装文件夹ojdbc7.jar中进行搜索,我无法在任何地方找到任何C:\Oracle\Middleware\Oracle_Home驱动程序,但我可以在ojdbc6.jar位置找到C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc_11.2.0

我正在尝试升级到ojdbc7.jar。根据网站Fusion Middleware Configuring and Managing JDBC Data Sources for Oracle WebLogic Server,我需要在我的课程路径上设置以下驱动程序:

  • ojdbc7.jar
  • ojdbc7_g.jar
  • ojdbc7dms.jar
  • ons.jar
  • oraclepki.jar
  • orai18n.jar
  • orai18n-mapping.jar
  • osdt_cert.jar
  • osdt_core.jar
  • ucp.jar

我从here下载了前几个,其余的我已经在我的weblogic安装文件夹中找到了。我将它们复制到文件夹D:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7

我在课程路径中添加了所有的罐子:

D:\Oracle\Middleware\Oracle_Home\oracle_common\common\bin\commEnv.cmd

set WEBLOGIC_CLASSPATH=C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\ojdbc7.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\ojdbc7_g.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\ojdbc7dms.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\ons.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\oraclepki.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\orai18n.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\orai18n-mapping.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\osdt_cert.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\osdt_core.jar;C:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.jdbc7\ucp.jar;D:\Oracle\Middleware\Oracle_Home\oracle_common\modules\oracle.pki_12.1.2;%JAVA_HOME%\lib\tools.jar;%PROFILE_CLASSPATH%;%ANT_HOME%/lib/ant-all.jar;%ANT_CONTRIB%/lib/ant-contrib.jar;%CAM_NODEMANAGER_JAR_PATH%

我也去了我服务的Windows注册表,并将相同的jar添加到我的CLASSPATH cmd行参数中。

如果我的应用程序启动,我可以看到罐子在我的类路径中。

但是如何验证实际使用的ojdbc驱动程序? 这是更新驱动程序的正确方法吗?

(现在人们开始说我们不应该再运行Java 7应用程序......这是一个很快就会被替换的遗留应用程序,但是现在这就是我必须使用的:))

2 个答案:

答案 0 :(得分:1)

  

但是如何验证实际使用的ojdbc驱动程序?

您可以询问司机getMetaData方法。

相关部分的简单示例(conn是数据库连接)。

md = conn.getMetaData();
println (md.getDriverVersion());

这样就可以了。

 12.1.0.2.0

这是您在使用过的驱动程序jar的META-INF / MANIFEST.MF文件中找到的版本。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 20.75-b01 (Sun Microsystems Inc.)
Implementation-Vendor: Oracle Corporation
Implementation-Title: JDBC
Implementation-Version: 12.1.0.2.0 

更新JDBC环境时,重要的是检查JDBC Compatibility Matrix

答案 1 :(得分:1)

您有正确的文档链接。查看该页面,它表示要自定义安装客户端工具包。这意味着您需要从该工具包中获取所有列出的jar文件。您不能使用工具包中的新ojdbc7.jar文件和WLS附带的ucp.jar文件。它们需要是匹配的集合。 如果您使用的是FMW或FA,则需要使用ojdbc7dms.jar。否则,请使用ojdbc7.jar。 ojdbc7_g.jar仅用于调试。

使用conn.getMetaData()。getDriverVersion()将告诉您正在使用的ojdbc7.jar的版本,但它不会告诉您有一组不匹配的jar文件。

相关问题