描述符管理接口
描述符的管理接口是指,描述符的获取和设置,而当前只实现描述符中的参数描述符的获取接口DCIParamGet。可以分为描述符和属性。
描述符
下表为DCI的全部描述符,但并不是所有的描述符我们都已实现,只是实现了部分,最后一列标出了是否已经实现:
描述 | C结构体 | 描述符标识 | 是否实现 |
---|---|---|---|
Snapshot descriptor | DCISnapshot | DCI_DTYPE_SNAP | 否 |
Result set descriptor | DCIResult | DCI_DTYPE_RSET(Deprecated) | 否 |
LOB data type locator | DCILobLocator | DCI_DTYPE_LOB | 否 |
JSON Descriptor | DCIJson | DCI_DTYPE_JSON | 否 |
BFILE data type locator | DCILobLocator | DCI_DTYPE_FILE | 否 |
Read-only parameter descriptor | DCIParam | DCI_DTYPE_PARAM | 是 |
ROWID descriptor | DCIRowid | DCI_DTYPE_ROWID | 否 |
ANSI DATE descriptor | DCIDateTime | DCI_DTYPE_DATE | 否 |
TIMESTAMP descriptor | DCIDateTime | DCI_DTYPE_TIMESTAMP | 否 |
TIMESTAMP WITH TIME ZONE descriptor | DCIDateTime | DCI_DTYPE_TIMESTAMP_TZ | 否 |
TIMESTAMP WITH LOCAL TIME ZONE descriptor | DCIDateTime | DCI_DTYPE_TIMESTAMP_LTZ | 否 |
INTERVAL YEAR TO MONTH descriptor | DCIInterval | DCI_DTYPE_INTERVAL_YM | 否 |
INTERVAL DAY TO SECOND descriptor | DCIInterval | DCI_DTYPE_INTERVAL_DS | 否 |
User callback descriptor | DCIUcb | DCI_DTYPE_UCB | 否 |
Distinguished names of the database servers in a registration request | DCIServerDNs | DCI_DTYPE_SRVDN | 否 |
Complex object descriptor | DCIComplexObjectComp | DCI_DTYPE_COMPLEXOBJECTCOMP | 否 |
Advanced queuing enqueue options | DCIAQEnqOptions | DCI_DTYPE_AQENQ_OPTIONS | 否 |
Advanced queuing dequeue options | DCIAQDeqOptions | DCI_DTYPE_AQDEQ_OPTIONS | 否 |
Advanced queuing message properties | DCIAQMsgProperties | DCI_DTYPE_AQMSG_PROPERTIES | 否 |
Advanced queuing agent | DCIAQAgent | DCI_DTYPE_AQAGENT | 否 |
Advanced queuing notification | DCIAQNotify | DCI_DTYPE_AQNFY | 否 |
Advanced queuing listen options | DCIAQListenOpts | DCI_DTYPE_AQLIS_OPTIONS | 否 |
Advanced queuing message properties | DCIAQLisMsgProps | DCI_DTYPE_AQLIS_MSG_PROPERTIES | 否 |
Change notification | None | DCI_DTYPE_CHDES | 否 |
Table change | None | DCI_DTYPE_TABLE_CHDES | 否 |
Row change | None | DCI_DTYPE_ROW_CHDES | 否 |
Shard key and shard group key descriptor | DCIShardkey | DCI_DTYPE_SHARD_KEY | 否 |
属性
属性是描述符的信息,由于我们只实现了参数描述符,在此我们只列出相关属性如下:
句柄或描述符 | 属性 | 读写 | 类型 | 含义 |
参数描述符(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 | 数字小数部分 |
DCIParamGet
功能描述
返回由描述句柄或语句句柄中的位置指定的参数的描述符。
功能说明
此调用返回由描述句柄或语句句柄中的位置指定的参数的描述符。参数描述符总是由DCI库在内部分配。可以使用DCIDescriptorFree()释放它们。
接口信息
函数/过程
DCIParamGet的语法如下:
sword DCIParamGet ( const void *hndlp,
ub4 htype,
DCIError *errhp,
void **parmdpp,
ub4 pos );
参数解释如下:
Hndlp(IN):语句句柄或描述句柄。
htype(IN):在 hndlp 参数中传递的句柄类型。 有效类型是:
DCI_DTYPE_PARAM,用于参数描述符。(暂不支持)
DCI_HTYPE_COMPLEXOBJECT,用于复杂对象检索句柄。(暂不支持)
DCI_HTYPE_STMT,用于语句句柄。
errhp(IN/OUT):当出现错误时,您可以传递给DCIErrorGet()以获取诊断信息的错误句柄。
parmdpp(OUT):pos 参数中给定位置的参数描述符,句柄类型为 DCI_DTYPE_PARAM。
pos (IN):语句句柄或描述句柄中的位置编号。 为这个位置返回一个参数描述符。
外部接口
无。
其它说明
无。
DCIParamSet
功能描述
设置由描述句柄或语句句柄中的位置指定的参数的描述符。
功能说明
此调用设置由描述句柄或语句句柄中的位置指定的参数的描述符。参数描述符总是由DCI库在内部分配。 可以使用DCIDescriptorFree()释放它们。
接口信息
函数/过程
DCIParamSet的语法如下:
sword DCIParamSet ( const void *hndlp,
ub4 htype,
DCIError *errhp,
const void *dscp,
ub4 dtyp
ub4 pos );
参数解释如下:
hndlp(IN):语句句柄或描述句柄。
htype(IN):在 hndlp 参数中传递的句柄类型。 有效类型是:
DCI_DTYPE_PARAM,用于参数描述符。(暂不支持)
DCI_HTYPE_COMPLEXOBJECT,用于复杂对象检索句柄。(暂不支持)
DCI_HTYPE_STMT,用于语句句柄。
errhp(IN/OUT):当出现错误时,您可以传递给DCIErrorGet()以获取诊断信息的错误句柄。
dscp (IN):复杂对象检索描述符指针。
dtyp (IN):COR 描述符的描述符类型是 OCI_DTYPE_COMPLEXObjecCTCOMP。
pos (IN):语句句柄或描述句柄中的位置编号。为这个位置返回一个参数描述符。
外部接口
无。
其它说明
无。