设为首页 加入收藏

TOP

Linux下OCCI编程
2014-11-24 02:26:15 来源: 作者: 【 】 浏览:1
Tags:Linux OCCI 编程

Oracle Instant client 是oracle提供的简便客户端, 支持多种平台. 可从oracle网站下载, 下载地址为


http://www.oracle.com/technology/tech/oci/instantclient/index.html


包括如下内容:


Instant client Package - Basic 运行OCI, OCCI, 和JDBC-OCI应用程序需要的所有文件.


Instant client Package - Basic Lite: 只包含英语错误信息, 只支持unicode, ascii, 西欧字符集.


Instant client Package - JDBC Supplement 为jdbc增加了xa, 国际化和RowSet操作.


Instant Client Package - SQL *Plus 包含sqlplus和需要的库文件


Instant client Package - SDK 使用Instant Client开发Oracle 应用程序需要的头文件及示例makefile


Instant client package - ODBC 使用odbc时需要的库, 不是所有平台都有. linux平台包含.


Basic和Basic Lite两个中必须选一个, 其他包都是可选的. 我下载了 Basic, JDBC supplement, SQL *Plus, SDK, ODBC. 解压后放在一个文件夹下, 在这个文件夹下建立文件tnsnames.ora, 设置环境变量LD_LIBRARY_PATH和TNS_ADMIN指向解压后的目录, 就可以使用sqlplus了.


我下载的instant client版本为11.1, 测试了联接到oracle 9.2.0.4和oracle 10.2.0.1.


Instant Client中不包含tnsping, exp/imp, rman, netca等工具. 如果需要这些工具则需要安装oracle client。现在明白Instant client Package - Basic 提供OCCI的库文件,Instant client Package - SDK 是OCCI的头文件及例子。


2.安装过程:


http://www.oracle.com/technology/software/tech/oci/instantclient/下载以下文件:oracle-instantclient-sqlplus-11.1.0.1-1.i386.rpm


oracle-instantclient-basic-11.1.0.1-1.i386.rpm


1>安装oracle 11 client


#rpm -ivh oracle-instantclient-sqlplus-11.1.0.1-1.i386.rpm


#rpm -ivh oracle-instantclient-basic-11.1.0.1-1.i386.rpm


2>配置libs


#vi /etc/ld.so.conf


----------------------------------------------


/usr/lib/oracle/11.1.0.1/client/lib/


----------------------------------------------


#ldconfig


ldconfig是一个动态链接库管理命令,主要是在默认搜寻目录(/lib和/usr/lib)以及动态库配置文件/etc/ld.so.conf内所列的目录下,搜索出可GX的动态链接库(格式如前介绍,lib*.so*),进而创建出动态装入程序(ld.so)所需的连接和缓存文件.缓存文件默认为 /etc/ld.so.cache,此文件保存已排好序的动态链接库名字列表. 它是程序运行所需的动态连接库的配置文件。


3>运行测试


[root@localhost sdk]# sqlplus /nolog


SQL*Plus: Release 11.1.0.6.0 - Production on Wed Jan 30 09:44:34 2008


Copyright (c) 1982, 2007, Oracle. All rights reserved.


SQL>


4>sqlplus远程连接命令语法


#sqlplus user/pass@"(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.50.10)(PORT = 1521)) )(CONNECT_DATA = (SID = oraclesid)))" [as sysdba]


# sqlplus user/pass@//host:port/sid [as sysdba]


# sqlplus user/pass@host:port/sid [as sysdba]


# sqlplus userid/pwd@database.company.com:1521/sid [as sysdba]


在/usr/lib/oracle/下增加和编辑文件tnsnames.ora:


Orasvr2=


(DESCRIPTION=


(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.1.82)(PORT = 1521))


(CONNECT_DATA=


(SERVER = DEDICATED)


(SERVICE_NAME =ora9i)


其中:ORASVR2:数据库的事例名


192.168.1.82数据库服务器地址


ora9i:数据库名


数据库连接方式:


根据你的连接方式决定是否配置tnsnames.ora。


如果用user/pwd@sid这种本地名称解析方式连接,就需要配。


如果用user/pwd@ip:port/sid这种ezconnect方式连接,则不需要配。


即时客户端:所以如果想用本地名称解析的话,就新建tnsnames.ora文件,位置自己决定,不过要设置环境变量TNS_ADMIN对应到它的目录。


我在安装完 oracle-instantclient-sqlplus-11.1.0.1-1.i386.rpm后直接输入:sqlplus system/8823@172.16.100.101:1521/OS101


5>解决linux中sqlplus退格显示乱码。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++测试程序运行时间的代码 下一篇Linux 编译安装Wireshark出现的问..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: