簡體   English   中英

驗證是否在Weblogic中正確更新了OJDBC驅動程序?

[英]Verifying that OJDBC drivers are updated correctly in weblogic?

我們已經將Oracle數據庫升級到版本12。我們有一個Java應用程序,該Web應用程序在Weblogic 12.1.2.0.0上運行Java 7,並且使用驅動程序類名稱oracle.jdbc.OracleDriver進行數據庫連接。

如果在weblogic安裝文件夾C:\\Oracle\\Middleware\\Oracle_Home中進行搜索,則無法在任何地方找到任何ojdbc7.jar驅動程序,但是我可以在C:\\Oracle\\Middleware\\Oracle_Home\\oracle_common\\modules\\oracle.jdbc_11.2.0位置中找到ojdbc6.jar C:\\Oracle\\Middleware\\Oracle_Home\\oracle_common\\modules\\oracle.jdbc_11.2.0

我正在嘗試升級到ojdbc7.jar 根據站點融合中間件為Oracle WebLogic Server配置和管理JDBC數據源,我需要在類路徑上設置以下驅動程序:

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

我從這里下載了前幾張,其余的我已經在我的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行參數中。

如果我的應用程序啟動,我可以看到jars在我的類路徑中。

但是,如何驗證實際使用了哪些ojdbc驅動程序? 這是更新驅動程序的正確方法嗎?

(現在,在人們開始說我們不應該再運行Java 7應用之前……這是一個遺留應用,將很快被替換,但是現在這是我必須使用的工具:))

但是,如何驗證實際使用了哪些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兼容性表

您具有正確的文檔鏈接。 看該頁面,它說要自定義安裝客戶端工具包。 這意味着您需要從該工具包中獲取所有列出的jar文件。 您不能使用該工具包中的新ojdbc7.jar文件以及WLS隨附的ucp.jar文件。 它們需要匹配。 如果使用FMW或FA,則需要使用ojdbc7dms.jar。 否則,請使用ojdbc7.jar。 ojdbc7_g.jar僅用於調試。

使用conn.getMetaData()。getDriverVersion()會告訴您所使用的ojdbc7.jar的版本,但不會告訴您一組不匹配的jar文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM