最近由于一个再跑的项目所在的服务器出现故障,中间件用的是weblogic 9.2 Mp3。应用只能通过OCI模式连接数据库,网上也没找到能安装到 64位的server 2008上的 weblogic 9.2mp3安装包。
最后,决定用weblogic 10.3.6试试。
安装完进行相关的配置,在配置数据源的时候,发现现在已经没有通过oci的方式连接数据库了。
找到 %WL_HOME%\server\lib\jdbcdrivers.xml 这个文件,加上以下2个节点:
<Driver
Database="Oracle"
Vendor="Oracle"
Type="OCI"
DatabaseVersion="9.0.1 and lateror"
ForXA="false"
ClassName="oracle.jdbc.OracleDriver"
URLHelperClassname="weblogic.jdbc.utils.OracleJDBCDriverURLHelper"
TestSql="SELECT 1 FROM DUAL">
<Attribute Name="DbmsName" Required="true" InURL="true"/>
<Attribute Name="DbmsHost" Required="false" InURL="false"/>
<Attribute Name="DbmsPort" Required="false" InURL="false"/>
<Attribute Name="DbmsUsername" Required="true" InURL="false"/>
<Attribute Name="DbmsPassword" Required="true" InURL="false"/>
</Driver>
<Driver
Database="Oracle"
Vendor="Oracle"
Type="OCI"
DatabaseVersion="9.0.1 and lateror"
ForXA="true"
ClassName="oracle.jdbc.xa.client.OracleXADataSource"
URLHelperClassname="weblogic.jdbc.utils.OracleJDBCDriverURLHelper"
TestSql="SELECT 1 FROM DUAL">
<Attribute Name="DbmsName" Required="true" InURL="true"/>
<Attribute Name="DbmsHost" Required="false" InURL="false"/>
<Attribute Name="DbmsPort" Required="false" InURL="false"/>
<Attribute Name="DbmsUsername" Required="true" InURL="false"/>
<Attribute Name="DbmsPassword" Required="true" InURL="false"/>
</Driver>
同时需要把 %WL_HOME%\server\lib\ 下面的ojdbc6.jar换成objdbc14.jar
把ojdbc14.jar ,ojdbc14_g.jar 拷贝到%WL_HOME%\server\ext\jdbc\oracle\11g\下面。
如果出现no ocijdbc11 in java.library.path 这样的错误,需要把 %ORACLE_HOME%\bin加入到classpath中。
重启weblogic服务。数据源中就会出现OCI选项了。
在WebLogic服务器故障后,通过升级到WebLogic 10.3.6并调整配置文件来解决无法通过OCI模式连接数据库的问题。详细步骤包括修改jdbcdrivers.xml文件,替换ojdbc6.jar为ojdbc14.jar,并确保正确配置数据库连接参数。

被折叠的 条评论
为什么被折叠?



