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

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

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

关键词: OCI , 文档

                       CONST void    (*mfreefp) (/*_ dvoid *ctxp, dvoid *memptr _*/)
);

sword OCIEnvInit ( 
OCIEnv    **envhpp,
                   ub4       mode,
                    size_t    xtramemsz,
                   dvoid     **usrmempp
 );
注:
 在8i以后,可用OCIEnvCreate一个函数就可以初始化环境了,相当于OCIInitialize+ OCIEnvInit

2.申请/释放句柄
   sword OCIHandleAlloc(
CONST dvoid *parenth,  //新申请句柄的父句柄,一般为OCI环境句柄
Dvoid **hndlpp,   //申请的新句柄 
Ub4 type, type,  //句柄类型
Size_t xtramem_sz,   //申请的内存
Dvoid **usrmempp  //申请到的内存块指针
)
注:
  一般需要申请的句柄有:
               服务器句柄OCIServer, 句柄类型OCI_HTYPE_SERVER
错误句柄OCIError,用于捕获OCI错误信息, 句柄类型OCI_HTYPE_ERROR
事务句柄OCISession, 句柄类型OCI_HTYPE_SESSION
上下文句柄OCISvcCtx, 句柄类型OCI_HTYPE_SVCCTX
SQL语句句柄OCIStmt, 句柄类型OCI_HTYPE_STMT
eg: 申请一个错误句柄OCIError
swResult = OCIHandleAlloc(envhpp, (dvoid *)& errhp, OCI_HTYPE_ERROR, 0, NULL);
if(swResult != OCI_SUCCESS && swResult != OCI_SUCCESS_WITH_INFO)
{

return FALSE;
}
  
释放句柄
  sword OCIHandleFree(
dvoid *hndlp,  //要释放的句柄
ub4 type   //句柄类型
)
 
eg:
 OCIHandleFree(stmtp, OCI_HTYPE_STMT)
3.读取/设置句柄属性
  sword OCIAttrSet(
dvoid *trgthndlp,  //需设置的句柄名
ub4  trghndltyp, //句柄类型
dvoid *attributep, //设置的属性名
ub4 size, //属性值长度
ub4 attrtype,     //属性类型
OCIError *errhp   //错误句柄
)
注:一般要设置的属性有:
  服务器实例:
句柄类型OCI_HTYPE_SVCCTX,属性类型OCI_ATTR_SERVER
        连接数据的用户名:
   句柄类型OCI_HTYPE_SESSION,属性类型OCI_ATTR_USERNAME
用户密码
     句柄类型OCI_HTYPE_SESSION,属性类型OCI_ATTR_PASSWORD
事务:  
   句柄类型OCI_HTYPE_SVCCTX,属性类型OCI_ATTR_SESSION

eg:设置用户名和密码
char username[20],passwd[20];
  strcpy(username,”tiger”)
strcpy(passwd,”cotton”)
swResult = OCIAttrSet(usrhp, OCI_HTYPE_SESSION,  (text*) username, strlen(username), 

共16页  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16


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



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