kongyunzi

梦想成为化学家的程序员
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

32位程序调用Oracle11gR2数据库libclntsh.so失败

Posted on 2013-07-04 11:42  kongyunzi  阅读(404)  评论(0编辑  收藏  举报

【问题描述】
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