视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Linux下用OCCI或OCI连接Oracle数据库
2020-11-09 11:58:42 责编:小采
文档


首先,去Oracle官网下载C语言的库文件和头文件网址如下,选择对应的Instant Client版本(我下载的都是zip包,没有下载rpm包,rpm

首先,去Oracle官网下载C语言的库文件和头文件网址如下,选择对应的Instant Client版本(我下载的都是zip包,没有下载rpm包,rpm包应该安装的时候就把那些东西配置好了):(个人建议下zip包,,自己打动手玩,能加强理解)

下面是linux i386版本的

Instant Client Package - Basic 里面包含了动态库文件 libclntsh.so.11.1(最新版本可能不一样) 并将其加载到动态库搜索路径中去(具体操作sudo mv *.so /usr/bin)。
*Instant Client Package - SDK 这个则是包含的头文件
*Instant Client Package - SQL*Plus sqlplus这个东西最好还是下一个装上,试验客户端是否配置好,查看sql语句执行结果都需要他。

下面是我下的三个:

instantclient-basic-linux32-11.2.0.2.0.zip

instantclient-sdk-linux32-11.2.0.2.0.zip

instantclient-sqlplus-linux32-11.2.0.2.0.zip

下载文件路径设置:
/home/oracle/lib 存放Basic和sqlplus的各种库文件,因此在/etc/ld.so.conf文件中添加路径/home/oracle/lib ,还有就是在当前文件下为libclntsh.so.11.1库文件建个软连接 ln -s libclntsh.so.11.1 libclntsh.so 让代码连接动态库的时候能找到库文件。(其实里面还有好多.so文件,都是动态库,都要像libclntsh.so.11.1一样放到动态库的时候能找到库文件)

执行ldconfig
/home/oracle/include 存放SDK的头文件。

# tnsnames.ora Network Configuration File: /home/oracle/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
TEST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)

EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)


配置好上面这些后,注销用户重新登录,让 ORACLE_HOME环境变量生效,检查方法很简单,分别在终端输入命令:
[@localhost ~]$ echo $ORACLE_HOME
/home/oracle
如果像上面那样有路径输出则说明配置成功了,如果没有输出那重新再编辑一下 ~/.bashrc 看看哪里出了问题吧。


检查完成以后运行sqlplus登录数据库成功!例子如下,运行C程序链接数据库也成功!总算把环境配好了。

其实这时候还出现了问题(估计是我好久没更新,可能是属于个别问题),就是./sqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

补救操作:sudo apt-get install libaio1

连接时:sqlplus test/test@192.168.17.151/test

下载本文
显示全文
专题