2009年3月21日星期六

WLS_059:JDBC Drivers 应该放在哪里?

开发环境:WebLogic Server 12c开发版。

WebLogic Server 12c默认安装了Oracle和MySQL数据库的JDBC Drivers。
如果要支持其它数据库,就要安装其它数据库的JDBC Drivers。
经过实验,把JDBC Drivers jar文件放到[domain_name]\lib下是不行的,会报告找不到JDBC Drivers Class。

经过查看文档,发现放置JDBC Drivers的步骤如下:

1. 把JDBC Drivers jar文件复制到[wls_home]\wlserver\server\ext\jdbc\[dbms_name]目录下。
存放在这里的JDBC Drivers jars只是作为一个备份的地方,你可以为所有可能用到的DBMS都建立一个目录。
其中,WebLogic默认已经有了oracle和mysql两个目录,其中包含各个版本的JDBC Drivers jars。

2. 把你要使用的JDBC Drivers jar文件从[wls_home]\wlserver\server\ext\jdbc\[dbms_name]目录下复制到[wls_home]\wlserver\server\lib\目录下。

3. 修改[wls_home]\wlserver\server\lib\weblogic.jar中的META-INF目录下的MANIFEST.MF内容。
weblogic.jar是WebLogic Server启动时会首先装载的jar,因此它用到的jar也会随之装载。
MANIFEST.MF定义了weblogic.jar要用到的jars,在其中增加你刚刚增加的JDBC Drivers jar。
下面是MANIFEST.MF默认的内容,可以看出它已经包含了很多JDBC Drivers jars:ojdbc6.jar、
wlsqlserver.jar、 wldb2.jar、 wlsybase.jar、 wlinformix.jar、 mysql-connector-java-commercial-5.1.17-bin.jar。

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: R28.2.0-79-146777-1.6.0_29-20111005-1808-windows-ia32 (Ora
cle Corporation)
Main-Class: weblogic.Server
Implementation-Vendor: BEA Systems
Implementation-Title: WebLogic Server 12.1.1.0 Wed Dec 7 08:40:57 PST
2011 1445491
Implementation-Version: 12.1.1.0
Class-Path: ../../../modules/features/weblogic.server.modules_12.1.1.0.jar schema/weblogic-domain-binding.jar schema/weblogic-domain-binding-compatibility.jar schema/diagnostics-binding.jar schema/diagnostics -image-binding.jar wlcipher.jar webservices.jar xmlx.jar ojdbc6.jar ons.jar ucp.jar aqapi.jar EccpressoAsn1.jar EccpressoCore.jar EccpressoJcae.jar mysql-connector-java-commercial-5.1.17-bin.jar cryptoj.jar wlsqlserver.jar wldb2.jar wlsybase.jar wlinformix.jar fmwgenerictoken.jar wlw-langx.jar jcom.jar weblogic-L10N.jar

如果以上设置不管用,那就把JDBC Drivers jars直接放到CLASSPATH中。
比如直接修改脚本[wls_home]\wlserver\common\bin\commEnv.cmd或startweblogic.cmd中的CLASSPATH变量。
比如: set CLASSPATH=C:/mysql-connector-java-commercial-5.1.17-bin.jar ;%WEBLOGIC_CLASSPATH%;

参考文献:
1. http://docs.oracle.com/cd/E12839_01/web.1111/e13737/third_party_drivers.htm

没有评论: