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

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

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

关键词: OCI , 文档

作为输入变量时:(如insert ,update语句中)
 =-1:OCI程序将NULL赋给Oracle表的列,忽略占位符结合的程序变量值
>=0:应用程序将程序变量值赋给指定列
作为输出变量时:(如select语句中)
 =-2:所读取的列数据长度大于程序变量的长度,则被截取。
 =-1:所读取的值为NULL,输出变量的值不会被改变。
=0:数据被完整读入到指定的程序变量中
>0:所读取的列数据长度大于程序变量的长度,则被截取,指示符变量值为所读取数据被截取前的实际长度
三. OCI函数说明
注:红色为输入参数   蓝色为输出参数  ,否则为输入/出参数

 示例以下面结构作为说明
   sword     swResult;
OCIBind*  hBind;
  OCIDefine*  hDefine;
OCIStmt      *stmtp
OCIError     *errhp;
OCIStmt       *stmtp
OCISvcCtx  * svchp
OCIEnv * envhpp;
OCISession * usrhp;
sb2 sb2aInd[30]; //指示器变量,用于取可能存在空值的字段
Typedef strcut 
{
char tname[40];
int age;
} t_std;
typedef struct
{
sb2     sb2_tname[100];
        sb2     sb2_age[100];
} stdInd_T;  //指示器数组
typedef struct
{
ub2     ub2_tname[100];
       ub2     ub2_age[100];
} stdLen_T; //字段长度

t_std tstd[100];  //数组变量,用于批量操作
stdInd_T tstdInd;
stdLen_T tstdLen;
stdLen_T tstdRet;

 t_std std;

各函数数明
1.创建OCI环境
sword OCIEnvCreate(  
OCIEnv **envhpp,  //OCI环境句柄指针
ub4 mode, //初始化模式:OCI_DEFAULT/OCI_THREADED 等
CONST dvoid *ctxp,
CONST dvoid *(*malicfp)(dvoid *ctxp,size_t size),
CONST dvoid *(ralocfp)(dvoid *ctxp,dvoid *memptr,size_t newsize),
CONST void *(*mfreefp)(dvoid *ctxp,dvoid *memptr),
Size_t xstramemsz,
Dvoid **usrmempp
)
eg :
  swResult = OCIEnvCreate(&envhpp, OCI_DEFAULT, NULL, NULL, NULL, NULL, 0, NULL);

if(swResult != OCI_SUCCESS && swResult != OCI_SUCCESS_WITH_INFO) 
return FALSE;

sword OCIInitialize (
  ub4           mode,
                       CONST dvoid   *ctxp, 
                       CONST dvoid   *(*malocfp)   (/* dvoid *ctxp,  size_t size _*/),
                      CONST dvoid   *(*ralocfp) (/*_ dvoid *ctxp, dvoid *memptr, size_t newsize _*/),

上一页 下一页


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



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