Vastbase OCI主要接口
Vastbase OCI 驱动由具有建立和管理与Vastbase数据库连接、执行SQL 语句和对结果集进行储存管理的若干功能类组成。
OCIEnvCreate
创建并初始化OCI函数的工作环境句柄:
示例:
OCIEnvCreate((OCIEnv **) &envhp, (ub4) OCI_DEFAULT,
(dvoid *) 0, (dvoid * (*)(dvoid *,size_t)) 0,
(dvoid * (*)(dvoid *, dvoid *, size_t)) 0,
(void (*)(dvoid *, dvoid *)) 0, (size_t) 0, (dvoid **) 0);
## OCIAttrSet
设置句柄或描述符属性的值。
示例:
OCIAttrSet((dvoid *) svchp, (ub4) OCI_HTYPE_SVCCTX,
(dvoid *) srvhp, (ub4) 0,
(ub4) OCI_ATTR_SERVER, (OCIError *) errhp);
OCIAttrGet
获取句柄或描述符属性的值。
示例:
OCIAttrGet((dvoid *)parmp, (ub4)OCI_DTYPE_PARAM,
(dvoid *)&collection_typecode, (ub4 *)0,
(ub4)OCI_ATTR_COLLECTION_TYPECODE,
(OCIError *)ctx->errhp)
OCIHandleAlloc
用于分配和初始化用户指定类型的句柄。
示例:
OCIHandleAlloc( (dvoid *) NULL, (dvoid **) &envhp, (ub4) OCI_HTYPE_ENV,
52, (dvoid **) &tmp);
OCIHandleFree
释放用户指定的句柄指向的资源。
示例:
OCIHandleFree((dvoid *) ctxptr->envhp, (ub4) OCI_HTYPE_ENV);
OCIDescriptorAlloc
分配和初始化OCI描述符或LOB定位器。
示例:
OCIDescriptorAlloc((dvoid *)ctx.envhp, (dvoid **)&parm,
(ub4)OCI_DTYPE_PARAM, 0, (dvoid **)0);
OCIDescriptorFree
释放已经分配的描述符。
示例:
OCIDescriptorFree((dvoid *)envhp, (ub4)OCI_HTYPE_ENV);
OCILogon
创建一个简单的登录会话。
示例:
OCILogon(envhp, errhp, &svchp, username, strlen (username),
password, strlen (password), "", 0)
OCILogoff
用来释放传递给OCILogon的服务上下文句柄,断开由OCILogon建立的数据库连接。
示例:
OCILogoff((dvoid *) svchp, errhp)
OCIStmtPrepare
准备要执行的SQL或PL/SQL语句。
示例:
OCIStmtPrepare(stmthp, errhp, (text *) create_type_person,
(ub4) strlen((char *) create_type_person),
(ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT)
OCIStmtExecute
将应用程序请求与服务器关联。
示例:
OCIStmtExecute(svchp, stmthp, errhp, (ub4) 1, (ub4) 0,
(OCISnapshot *) NULL, (OCISnapshot *) NULL,
(ub4) OCI_DEFAULT)
OCIStmtFetch
从(可滚动的)结果集中获取一行。
示例:
OCIStmtFetch(stmthp, errhp, (ub4) 1, (ub4) OCI_FETCH_NEXT,
(ub4) OCI_DEFAULT)
OCIStmtRelease
释放通过调用OCIStmtPrepare()获得的语句句柄。
示例:
OCIStmtRelease ((OCIStmt *)stmthp, (OCIError *)errhp,tag ,
(ub4)strlen((char *)tag),OCI_DEFAULT)