首先,去oracle官网下载C语言的库文件和头文件网址如下,选择对应的Instant Client版本(我下载的都是zip包,没有下载rpm包,rpm包应该安装的时候就把那些东西配置好了):(个人建议下zip包,自己打动手玩,能加强理解)
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html
下面是linux i386版本的
http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
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环境变量生效,检查方法很简单,分别在终端输入命令:
[mgqw@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
分享到:
相关推荐
delphi通过oci连接oracle, 速度超快,效率超高,使用超简单。 10物超所值。
OCCI连接Linux下的Oracle数据库: 1 安装Linux下的oracle客户端 2 下载对应的oracle-instantclient-basic-10.2.0.4-1.i386.zip将其拷贝至Linux的Oracle账户并解压至instantclient_10_2目录 实现OCCI的六...
目前CSDN上关于 Oracle C++ Call Interface 和 Oracle Call Interface 的资料很少,多半也是过时的资料,本次上传了最新版11g的相关文档和相应所需的32位以及64位 VC++ 开发库,包括动态库和静态库。 以下是包里的...
利用occi接口连接oracle c++代码
navicat连接oracle11G的oci文件
OCI 为构建各种语言专用接口(如 Oracle JDBC-OCI、ODP.Net、Oracle 预编译器、Oracle ODBC 和 Oracle C++ Call Interface (OCCI)驱动程序)提供了基础。各种领先的开源接口(如 PHP OCI8 扩展、ruby-oci8、Perl DBD...
文档内容包括: Oracle C++ Call Interface Programmers Guide 10g Release 1.PDF Oracle Call Interface Programmers Guide 11...最新版本的OCCI和OCI文档,是目前CSDN上绝无仅有的,而且包括可开发所需要的库文件。
linux下c++的oracle数据库操作源码 occi实现
Oracle OCCI 连接示例程序 准备工作: http://www.oracle.com/technetwork/database/occidownloads-083553.html 1. 修改 项目属性-> C++ -> 常规 ->附加包含目录 , 指向你自己的 occi.h所在目录, 我的是 D:\...
使用OCCI开发Oracle9i数据库应用程序
Oracle C++调用接口(OCCI),即Oracle的C++API,允许你使用面向对象的特性、本地类、C++语言的方法来访问Oracle数据库
从已安装好的 Oracle 11g R2 for Linux X64 中拷贝的头文件和库文件。 OCCI。 使用方法见 http://blog.csdn.net/zklth/article/details/7051366
VC使用occi 连接 orcale 数据库。包括代码中包括一个写好的使用事例。
VC++如何连接数据库,以及增删查改源码提供,希望对大家有所帮助
Oracle10g occi 连接池创建方法Oracle10g occi 连接池创建方法
OCCI 方式添加Oracle数据库的多种数据字段支持,如Oracle的sdo_geometry字段。
【32位】QT5.13连接oracle11g需要自行编译QOCI驱动,压缩包内包含了:编译驱动所需依赖文件、运行驱动所需的oraocci11.dll、oci.dll文件
c++连接oracle数据库经典例子occi.docx
oracle 自带的oci相关例子,之前网上很难找,终于花50积分下了个,包括odbc,occi,oci等等,方便大家学习使用