首先,去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
分享到:
相关推荐
当你在非Oracle环境中(如Windows或Linux系统)使用Navicat等第三方工具连接Oracle数据库时,oci文件提供了必要的连接支持。Oracle Instant Client是oci文件的轻量级版本,包含了连接Oracle服务器所需的基本库文件。...
在Linux环境下,C++与Oracle数据库的交互主要依赖于Oracle Call Interface (OCI)。OCI是Oracle公司提供的一个C语言库,用于开发与Oracle数据库交互的应用程序。本篇将深入探讨如何利用C++和OCPI在Linux系统上进行...
"Linux 下连接 Oracle 数据库参考" 本文档主要介绍了在 Linux 环境下连接 Oracle ...连接 Oracle 数据库需要安装 Oracle 客户端软件,设置环境变量,使用 OCCI 或 OCI 进行数据库操作,并正确地处理字符集和错误处理。
从已安装好的 Oracle 11g R2 for Linux X64 中拷贝的头文件和库文件。 OCCI。 使用方法见 http://blog.csdn.net/zklth/article/details/7051366
Oracle OCI (Oracle Call Interface) 库是Oracle数据库与应用程序之间的一个接口层,它允许开发者用C或C++语言编写能够直接操作Oracle数据库的应用程序。在本案例中,"instantclient_11_2" 是Oracle Instant Client...
首先,为了使用OCCI连接Linux下的Oracle数据库,你需要确保已经安装了Oracle客户端。这通常包括安装必要的库和依赖项,以支持C++应用程序与数据库之间的通信。你可以通过Linux的包管理器安装这些组件,或者手动下载...
在Linux环境下,与Oracle数据库进行交互通常涉及到C++编程,使用Oracle Call Interface (OCI)库。这段代码展示了如何使用C++连接到Oracle数据库并执行SQL查询。然而,编译时遇到了一些错误,让我们逐一分析并解决...
在Linux环境下连接Oracle数据库通常涉及使用Oracle的OCI(Oracle Call Interface)库,这是一个C++ API,允许程序员在C++程序中直接与Oracle数据库交互。上述代码示例展示了一个简单的C++程序,它创建一个环境对象,...
在使用QT开发应用的过程中,往往会把应用使用过程中产生的数据放入数据库进行统一存储,因此通过QT实现数据库的访问可以说是必须的一个知识点,其实QT访问数据库的语法及相关类和方法的使用并不复杂,但是对于使用QT...
在Linux环境下,与Oracle数据库进行交互通常涉及到C++编程,使用Oracle提供的OCI(Oracle Call Interface)库。在给出的代码示例中,我们看到一个简单的C++程序,它连接到Oracle数据库并执行查询来获取当前时间。...
这个版本包含了对64位和32位Linux系统的支持,提供了一套完整的API,包括OCI(Oracle Call Interface)、SQL*Plus、OCCI(Oracle C++ Call Interface)和JDBC等,用于开发和运行连接Oracle数据库的应用程序。...
11.2.0.1.0版本是Oracle客户端的一个特定版本,它为32位操作系统设计,适用于Windows、Linux或Unix等平台。在这个版本中,用户可以期待一系列功能和改进,以更有效地管理和维护Oracle数据库。 首先,Oracle客户端...
在Linux环境下,与Oracle数据库进行交互通常涉及到C++编程,使用Oracle Call Interface (OCI) 库。这篇PDF文档提供了一个简单的示例,演示了如何在C++程序中连接到Oracle数据库并执行SQL查询。以下是对代码及遇到...
这个版本的客户端包含了运行Oracle应用程序所必需的库文件和工具,使得在Linux环境下连接、查询和管理Oracle数据库变得更加简便。 Oracle 10G Client Instant Linux 的主要组件包括: 1. **oci library (liboci.so...
- `oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm`: 这是基础组件,提供了连接数据库所需的最小功能,包括OCI (Oracle Call Interface)、OCCI (Oracle Call Interface for C++) 和 SQL*Net。 - `oracle...
当使用 PL/SQL Developer 工具连接 Oracle 数据库时,可能会遇到两种常见问题:一种是在尝试连接 64 位 Oracle 数据库时收到错误提示 `d:/instantclient_11_2/oci.dll could not load`;另一种则是登录界面缺少 `...
Oracle 11g客户端在Linux系统上的安装与配置是一个关键的步骤,对于那些需要与Oracle数据库交互的应用程序或开发者来说尤为重要。以下是一个详尽的步骤指南: 首先,我们需要从Oracle官方站点...