【问题描述】
32位程序调用Oracle11gR2数据库的libclntsh.so库时会返回失败。
【问题原因】
32位程序只能调用32位的Oracle客户端实例包,而R2数据库默认安装完毕后是没有lib32文件夹的,会导致程序调用libclntsh.so出错。
【解决方法】
安装Oracle32位客户端实例包即可,具体方法如下:
1. 以oracle用户登陆数据库所在单板;
2. 查看数据库版本,选择对应的Oracle32位客户端实例包(如instantclient-basic-linux-11.2.0.3.0.zip);
3. 进入$ORACLE_HOME目录,新建lib32文件夹;
4. 以二进制方式上传软件包至lib32文件夹;
5. unzip instantclient-basic-linux-11.2.0.3.0.zip
6. mv instantclient_11_2/* .
7. chmod +x *.so
8. ln -s libclntsh.so.11.1 libclntsh.so
【附录】
可访问以下网址获取32位客户端实例包:
http://www.oracle.com/technetwork/topics/linuxsoft-082809.html