验证 OJDBC 驱动程序是否已在 weblogic 中正确更新?
Verifying that OJDBC drivers are updated correctly in weblogic?
我们已将 Oracle 数据库升级到版本 12。我们在 Weblogic 12.1.2.0.0 上有一个 Java 应用程序 运行ning Java 7,使用驱动程序进行数据库连接class 姓名: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
。
我正在尝试升级到 ojdbc7.jar
。根据站点 Fusion Middleware Configuring and Managing JDBC Data Sources for Oracle WebLogic Server,我需要在我的 class 路径上设置以下驱动程序:
- 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
.
然后我将所有 jar 添加到我的 class 路径中:
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 行参数中。
如果我的应用程序启动,我可以看到罐子在我的 class 路径中。
但是我如何验证实际使用了哪些 ojdbc 驱动程序?
这是更新驱动程序的正确方法吗?
(在人们开始说我们不应该再 运行 Java 7 个应用程序之前...这是一个遗留应用程序,很快就会被替换,但现在这是我必须工作的与 :) )
But how can I verify which ojdbc drivers are actually being used?
你可以问drivergetMetaData
方法
相关部分的简单示例(conn
是数据库连接)。
md = conn.getMetaData();
println (md.getDriverVersion());
这给出了例如
12.1.0.2.0
这是您在所用 driver 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
您有正确的文档 link。查看该页面,它说要自定义安装客户端工具包。这意味着您需要从该工具包中获取所有列出的 jar 文件。您不能使用套件中的新 ojdbc7.jar 文件和 WLS 附带的 ucp.jar 文件。它们需要是匹配的集合。
如果您使用的是 FMW 或 FA,则需要使用 ojdbc7dms.jar。否则,使用 ojdbc7.jar。 ojdbc7_g.jar 仅用于调试。
使用 conn.getMetaData().getDriverVersion() 会告诉您正在使用的 ojdbc7.jar 的版本,但不会告诉您有一组不匹配的 jar 文件。
我们已将 Oracle 数据库升级到版本 12。我们在 Weblogic 12.1.2.0.0 上有一个 Java 应用程序 运行ning Java 7,使用驱动程序进行数据库连接class 姓名: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
。
我正在尝试升级到 ojdbc7.jar
。根据站点 Fusion Middleware Configuring and Managing JDBC Data Sources for Oracle WebLogic Server,我需要在我的 class 路径上设置以下驱动程序:
- 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
.
然后我将所有 jar 添加到我的 class 路径中:
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 行参数中。
如果我的应用程序启动,我可以看到罐子在我的 class 路径中。
但是我如何验证实际使用了哪些 ojdbc 驱动程序? 这是更新驱动程序的正确方法吗?
(在人们开始说我们不应该再 运行 Java 7 个应用程序之前...这是一个遗留应用程序,很快就会被替换,但现在这是我必须工作的与 :) )
But how can I verify which ojdbc drivers are actually being used?
你可以问drivergetMetaData
方法
相关部分的简单示例(conn
是数据库连接)。
md = conn.getMetaData();
println (md.getDriverVersion());
这给出了例如
12.1.0.2.0
这是您在所用 driver 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
您有正确的文档 link。查看该页面,它说要自定义安装客户端工具包。这意味着您需要从该工具包中获取所有列出的 jar 文件。您不能使用套件中的新 ojdbc7.jar 文件和 WLS 附带的 ucp.jar 文件。它们需要是匹配的集合。 如果您使用的是 FMW 或 FA,则需要使用 ojdbc7dms.jar。否则,使用 ojdbc7.jar。 ojdbc7_g.jar 仅用于调试。
使用 conn.getMetaData().getDriverVersion() 会告诉您正在使用的 ojdbc7.jar 的版本,但不会告诉您有一组不匹配的 jar 文件。