句柄属性管理接口
此处的属性是指DCI的句柄中字段的值,为了在使用DCI的过程中随时掌握当前句柄的状态,增加了属性管理相关的接口,包括DCIAttrSet、DCIAttrGet分别为属性设置、属性获取。
句柄
下图为DCI的全部句柄,最后一列标出了是否已经实现:
描述 | 结构体 | 句柄标识 | 是否实现 |
---|---|---|---|
DCI environment handle | DCIEnv | DCI_HTYPE_ENV | 是 |
DCI error handle | DCIError | DCI_HTYPE_ERROR | 是 |
DCI service context handle | DCISvcCtx | DCI_HTYPE_SVCCTX | 是 |
DCI statement handle | DCIStmt | DCI_HTYPE_STMT | 是 |
DCI bind handle | DCIBind | DCI_HTYPE_BIND | 是 |
DCI define handle | DCIDefine | DCI_HTYPE_DEFINE | 是 |
DCI describe handle | DCIDescribe | DCI_HTYPE_DESCRIBE | 否 |
DCI server handle | DCIServer | DCI_HTYPE_SERVER | 是 |
DCI user session handle | DCISession | DCI_HTYPE_SESSION | 是 |
DCI authentication information handle | DCIAuthInfo | DCI_HTYPE_AUTHINFO | 否 |
DCI connection pool handle | DCICPool | DCI_HTYPE_CPOOL | 否 |
DCI session pool handle | DCISPool | DCI_HTYPE_SPOOL | 否 |
DCI transaction handle | DCITrans | DCI_HTYPE_TRANS | 是 |
DCI complex object retrieval (COR) handle | DCIComplexObject | DCI_HTYPE_COMPLEXOBJECT | 否 |
DCI thread handle | DCIThreadHandle | Not applicable | 否 |
DCI subscription handle | DCISubscription | DCI_HTYPE_SUBSCRIPTION | 否 |
DCI direct path context handle | DCIDirPathCtx | DCI_HTYPE_DIRPATH_CTX | 否 |
DCI direct path function context handle | DCIDirPathFuncCtx | DCI_HTYPE_DIRPATH_FN_CTX | 否 |
DCI direct path column array handle | DCIDirPathColArray | DCI_HTYPE_DIRPATH_COLUMN_ARRAY | 否 |
DCI direct path stream handle | DCIDirPathStream | DCI_HTYPE_DIRPATH_STREAM | 否 |
DCI process handle | DCIProcess | DCI_HTYPE_PROC | 否 |
DCI administration handle | DCIAdmin | DCI_HTYPE_ADMIN | 否 |
DCI HA event handle | DCIEvent | Not applicable | 否 |
DCI SODA collection handle | DCISodaColl | DCI_HTYPE_SODA_COLLECTION | 否 |
DCI SODA collection cursor handle | DCISodaCollCursor | DCI_HTYPE_SODA_CURSOR | 否 |
DCI SODA document cursor handle | DCISodaDocCursor | DCI_HTYPE_SODA_DOC_CURSOR | 否 |
DCI SODA document handle | DCISodaDoc | DCI_HTYPE_SODA_DOCUMENT | 否 |
DCI SODA output options handle | DCISodaOutputOptions | DCI_HTYPE_SODA_OUTPUT_OPTIONS | 否 |
DCI SODA operation options handle | DCISodaOperationOptions | DCI_HTYPE_SODA_OPER_OPTIONS | 否 |
属性
其中属性是根据句柄或描述符进行分类的,由于DCI的属性较多,在此我们只列出支持的属性如下:
句柄或描述符 | 属性 | 读写 | 类型 | 含义 |
---|---|---|---|---|
服务上下文句柄(Service Context Handle) | DCI_ATTR_SERVER | READ/WRITE | DCIServer ** / DCIServer * | 服务句柄 |
DCI_ATTR_SESSION | READ/WRITE | DCISession **/ DCISession * | 会话句柄 | |
语句句柄(Statement Handle) | DCI_ATTR_BIND_COUNT | READ | ub4 * | 绑定参数个数 |
DCI_ATTR_ENV | READ | DCIEnv ** | 环境句柄 | |
DCI_ATTR_FETCH_ROWID | READ/WRITE | boolean */boolean | ROWIDs | |
DCI_ATTR_PARAM_COUNT | READ | ub4 * | 结果集列数 | |
DCI_ATTR_PREFETCH_ROWS | WRITE | ub4 * | 需要预取行集数量 | |
DCI_ATTR_STMT_STATE | READ | ub4 * | 语句状态 | |
DCI_ATTR_STATEMENT | READ | oratext * | 返回sql语句 | |
DCI_ATTR_ROW_COUNT | READ | ub4 * | 实际返回的记录的行数 | |
绑定句柄(Bind Handle) | DCI_ATTR_MAXCHAR_SIZE | WRITE | sb4 * | 最大字符数 |
DCI_ATTR_MAXDATA_SIZE | READ/WRITE | sb4 * | 最大字节数 | |
定义句柄(Define Handle) | DCI_ATTR_MAXCHAR_SIZE | WRITE | sb4 * | 最大字符数 |
环境句柄(Environment Handle) | DCI_ATTR_LDAP_HOST | READ/WRITE | oratext **/oratext * | 数据源主机 |
DCI_ATTR_LDAP_PORT | READ/WRITE | ub2 */ub2 | 数据源端口 | |
服务句柄 | DCI_ATTR_ENV | READ | DCIEnv ** | 环境句柄 |
用户会话句柄(User Session Handle) | DCI_ATTR_USERNAME | READ/WRITE | oratext **/oratext * | 用户名 |
DCI_ATTR_PASSWORD | WRITE | oratext * | 用户密码 | |
参数描述符(Read-only parameter descriptor) | DCI_ATTR_DATA_TYPE | READ | ub2 */ub2 | 参数类型 |
DCI_ATTR_NAME | READ | OraText * | 参数名称 | |
DCI_ATTR_DATA_SIZE | READ | ub4 */ub4 | 参数大小 | |
DCI_ATTR_TYPE_NAME | READ | OraText * | 参数类型名 | |
DCI_ATTR_SCHEMA_NAME | READ | OraText * | 参数模式名 | |
DCI_ATTR_PRECISION | READ | sb2 | 数字精度 | |
DCI_ATTR_SCALE | READ | sb1 | 数字小数部分 |
DCIAttrSet
功能描述
设置句柄或描述符属性的值。
功能说明
在使用句柄或描述符时需要设置属性值,以便于设置DCI信息,或执行期望动作。
接口信息
函数/过程
DCIAttrSet的语法如下:
sword DCIAttrSet ( void *trgthndlp,
ub4 trghndltyp,
void *attributep,
ub4 size,
ub4 attrtype,
DCIError *errhp );
参数解释如下:
trgthndlp(IN/OUT):指向属性被修改的句柄的指针。
trghndltyp(IN/OUT):trgthndlp句柄的类型。
attributep(IN):指向属性值的指针。
size(IN):属性值的大小。大多数属性可以作为0传入。对于text*属性必须将ub4设置为字符串的长度(以字节为单位)。
attrtype(IN):正在设置的属性类型。
errhp(IN):当出现错误时,您可以传递给DCIErrorGet()以获取诊断信息的错误句柄。
外部接口
无。
其它说明
无。
DCIAttrGet
功能描述
获取句柄或描述符属性的值。
功能说明
在使用句柄或描述符时需要获取属性值,以便于了解DCI信息。
接口信息
函数/过程
sword DCIAttrGet ( const void *trgthndlp,
ub4 trghndltyp,
void *attributep,
ub4 *sizep,
ub4 attrtype,
DCIError *errhp );
参数解释如下:
trgthndlp(IN):指向要获取的属性的句柄的指针。
trghndltyp(IN):trgthndlp句柄的类型。
attributep(OUT):指向属性值的指针。
sizep(OUT):属性值的大小总是以字节为单位。对于大多数属性,这可以作为NULL传递。对于 text* 参数,必须传入指向 ub4 的指针以获取字符串的长度。
attrtype(IN):正在获取的属性类型。
errhp(IN/OUT):当出现错误时,您可以传递给DCIErrorGet()以获取诊断信息的错误句柄。
外部接口
其它说明
无。