您的位置:首页 >> 数据库 >> Oracle >> 正文
Oracle RSS
 

自己整理的OCI文档,抛砖引玉

http://www.rdxx.com 05年11月10日 00:00 ChinaUnix.net 我要投稿

关键词: OCI , 文档

网上很少有OCI的中文文档,一般英文文档大家可能看了也不太顺,我整理了一份,写了一些常用的OCI函数,供大家参考。
因为无法加附件,只好把内容贴上来了
一. Oracle oci工具包安装:
$ORACLE_HOME\BIN:执行文件和help文件
$ORACLE_HOME\OCI\INCLUDE:头文件
$ORACLE_HOME\OCI\LIB\BC:  for Borlanf C++的OCI库
$ORACLE_HOME\OCI\LIB\MSVC:  for MS Visual C++的OCI库

如果是unix下,对于ORACLE8i,则OCI库在$ORACLE_HOME/lib下,如果是9i,则在$ORACLE_HOME/lib32下,库文件名一般为libclntsh.so
1. 创建OCI环境即创建和初始化OCI工作环境,其他的OCI函数需要OCI环境才能执行。
2. 需要申请的句柄类型:
OCI环境句柄: OCI_HTYPE_ENV—它定义所有OCI函数的环境调用环境,是其他句柄的父句柄。(由OCIEnvInit或OCIEnvCreate生成)
 错误句柄:OCI_HTYPE_ERROR—作为一些OCI函数的参数,用来记录这些OCI函数操作过程中所产生的错误,当有错误发生时,可用COIErrorGet()来读取错误句柄 中记录的错误信息。
服务器环境句柄:OCI_HTYPE_SVCCTX—定义OCI调用的服务器操作环境,它包含服务器、用户会话和事务三种句柄。
服务器句柄:OCI_HTYPE_SERVER—标识数据源,它转换为与服务器的物理连接。
用户会话句柄:OCI_HTYPE_SESSION—定义用户角色和权限及OCI调用的执行环境。
事务句柄:OCI_HTYPE_TRANS—定义执行SQL操作的事务环境,事务环境中包含用户的会话状态信息。
语句句柄:OCI_HTYPE_STMT—是一个标识SQL语句或PL/SQL块,以及其相关属性的环境。
Bind/Define句柄:属于语句句柄的子句柄,由OCI库隐式自动生成。用户不需要自己再申请,OCI输入变量存储在bind 句柄中,输出变量存储在定义句柄中

 3. 句柄属性包括:
服务器环境句柄属性:(OCI_HTYPE_SVCCTX)
 OCI_ATTR_SERVER—设置/读取服务环境的服务器环境属性
 OCI_ATTR_SESSION—设置/读取服务环境的会话认证环境属性
               OCI_ATTR_TRANS—设置/读取服务环境的事务环境属性
用户会话句柄属性:(OCI_HTYPE_SESSION)
OCI_ATTR_USERNAME—设置会话认证所使用的用户名
  OCI_ATTR_PASSWORD—设置会话认证所使用的用户口令
服务器句柄:(OCI_HTYPE_SEVER)
OCI_ATTR_NOBLOCKING_MODE—设置/读取服务器连接:=TRUE时服务器连接设置为非阻塞方式
语句句柄:(OCI_HTYPE_STMT) 
OCI_ATTR_ROW_COUNT—只读,为当前已处理的行数,其default=1
OCI_ATTR_STMT_TYPE—读取当前SQL语句的类型:
Eg : OCI_STMT_BEGIN
       OCI_STMT_SELECT   OCI_STMT_INSERT    
OCI_STMT_UPDATE  OCI_STMT_DELETE
                   OCI_ATTR_PARAM_COUNT—返回语句选择列表中的列数
4. 关于输出变量定义:如果在语句执行前就知道select语句的选择列表结构,则定义输出操作可在调用 OCISTMTExecute前进行,如果查询语句的参数为用户动态输入的,则必须在执行后定义。
5. OCI函数返回值:
OCI_SUCCESS –函数执行成功 (=0)
OCI_SUCCESS_WITH_INFO –执行成功,但有诊断消息返回,可能是警告信息
OCI_NO_DATA—函数执行完成,但没有其他数据
OCI_ERROR—函数执行错误
OCI_INVALID_HANDLE—传递给函数的参数为无效句柄,或传回的句柄无效
OCI_NEED_DATA—需要应用程序提供运行时刻的数据
OCI_CONTINUE—回调函数返回代码,说明回调函数需要OCI库恢复其正常的处理操作

9 7 3 1 2 3 4 5 6 7 8 9 10 4 8 :


 
 
标签: OCI , 文档 打印本文
 
 
  热点搜索
 
 
 


Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站