UNIX下Websphere 4通过oci client与Oracle 9i Server互连

1、UnsatisfiedLinkException:
原因:由于ORACLE的OCI协议针对不同UNIX系统,提供了不同的本地库版本.so文件,这些文件存于$ORACLE_BASE/oui/bin/os/下,而LD_LIBRARY_PATH却指向$ORACLE_HOME/lib目录下。

解决方法:将$ORACLE_BASE/oui/bin/os/下所有.so文件拷贝至$ORACLE_HOME/lib目录下

2、Invalid URL specified:
当通过thin访问Oracle 9i  Server时,驱动必须与9i相匹配,但当有大对象BLOB操作时,可能出现不能存入数据库异常。

所以采用oci是比较好的方案,可用oracle 8i或9i的client端与9i相连,但URL应该是:jdbc:oracle:oci8:@cms形式

3、can't find local library: java.library.path
原因:不能找到OCI本地链接库
解决方法:配置$LD_LIBRARY_PATH、$TNS_ADMIN等环境变量到/etc/profile和oracle用户的profile文件中并生效

4、JSP页面出现汉字不能正常显示的问题
在websphere的应用所在server的jvm  设置部分,加下以下运行参数
-Ddefault.client.encoding=GBK -Dfile.encoding=GBK -Duser.language=zh
-Duser.region=CN

5、JSP页面汉字链接编码后仍不有正确跳转页面的问题
在websphere启动脚本中加入以下参数
#for oracle 9i path
ORACLE_HOME=/u01/oracle/OraHome1(Oracle home directory)
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin
DB_CLASSPATH=$ORACLE_HOME/jdbc/lib/classes12.zip
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
export ORACLE_HOME LD_LIBRARY_PATH PATH NLS_LANG

6、在个别字符集不全的OS安装完成后,仍出现unsupported encoding异常的问题

编辑$WAS/AppServer/properties/converter.properties文件,找到
GB2312一节,改为
GB2312=GB2312。

重启WebSphere后即正常。