复杂类型接口
OCITypeByName
功能描述
通过名称获取复杂类型描述符。
功能说明
通过名称获取复杂类型描述符。
接口信息
函数/过程
获取现有 TDO 的最新版木。此调用不支持包级别的类型。模式的名称和类型的名称分别以单字符串输入。语法如下:
sword OCITypeByName ( OCIEnv *env,
OCIError *err,
const OCISvcCtx *svc,
const OraText *schema_name,
ub4 s_length,
const OraText *type_name,
ub4 t_length,
const OraText *version name,
ub4 v_length,
OCIDuration pin_duration,
OCITypeGetOpt get_option,
OCIType **tdo );
参数解释如下:
输入
env (IN/OUT): OCI环境句柄在对象模式下初始化。
err (IN/OUT): OCI错误句柄。如果出现错误,则记录在err中,此函数返回 OCI_error。 通过调用 OCIErrorGet ()获取诊断信息。
svc (IN) : OCI服务句柄。
schema_name (IN,可选): 与类型关联的架构的名称。默认情况下,将使用用户的模式名称。此处需全部大写,否则返回错误。
s_length (IN): schema_name 参数的长度,以字节为单位。
type_name(IN): 要获取的类型的名称。此处需全部大写,否则返回错误。
t_length (IN) : type_name参数的长度,以字节为单位。
version_name (IN): 版本名称。该参数在此次接口中并未使用,不做参数判断。
v_length (IN): 版本名称的长度(以字节为单位)。该参数在此次接口中并未使用,不做参数判断。
pin_duration (IN): 持续时间。该参数在此次接口中并未使用,不做参数判断。
get_option (IN): 用于加载类型的选项。它可以是两个值之一: OCI_TYPEGET_HEADER (仅加载标头) OCI_TYPEGET_ALL(加载 TDO 以及所有ADO和MDO)。该参数在此次接口中并未使用,不做参数判断。
tdo(OUT) :指向对象缓存中固定类型的指针。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCITypeByRef
功能描述
通过ref时获取TDO。
功能说明
通过ref时获取TDO。
接口信息
函数/过程
语法如下:
sword OCITypeByRef( OCIEnv *env,
OCIError *err,
const OCIRef *type_ref,
OCIDuration pin_duration,
OCITypeGetOpt get_option,
OCIType **tdo);
参数解释如下:
输入
env (IN/OUT): OCI环境句柄在对象模式下初始化。
err (IN/OUT): OCI错误句柄。如果出现错误,则记录在err中,此函数返回 OCI_error。 通过调用 OCIErrorGet ()获取诊断信息。
type_ref (IN): OCIRef*指向要获取的类型描述符对象的版本。
引脚持续时间(IN): 固定要检索的类型的当前事务结束之前的持续时间。
获取选项(IN): 用于加类型的选项。它可以是两个值之: OCI_TYPEGET_HEEADER(仅加载标头) OCI_TYPEGET_ALL (加载 TDO 以及所有ADO和MDO)。
tdo(OUT) : 指向对象缓存中固定类型的指针。
由于内核并不支持ref类型,本批次并未实现该接口。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollGetElem
功能描述
获取指向给定索引处元素的指针。
功能说明
获取指向给定索引处元素的指针。
接口信息
函数/过程
语法如下:
sword OCICollGetElem ( OCIEnv *env,
OCIError *err,
const OCIColl *coll,
sb4 index,
boolean *exists,
void **elem,
void **elemind);
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err(N/OUT): 错误句柄。
coll(IN): 指向此集合中要返回的元素的指针。
index(IN): 要返回其指针的元素的索引。
exists(OUT): 如果指定索引处的元素不存在,则设为FALSE;否则,设置为TRUE。
elem(OUT): 要返回的元素地址。
elemind(OUT)[optional]: 返回 NULL 指示符信息的地址。如果(elemind== NULL),则不返回NULL 指示符信息。(暂不支持)
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollAssignElem
功能描述
将给定的元素值 elem 赋给 coll[index] 处的元素。
功能说明
将给定的元素值 elem 赋给 coll[index] 处的元素。
接口信息
函数/过程
语法如下:
sword OCICollAssignElem( OCIEnv *env,
OCError *err,
sb4 index,
const void *elem,
const void *elemind
OCIColl *coll );
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err(N/OUT): 错误句柄。
index(IN): 要被赋值的元素的索引。
elem(OUT): 从其中分配元素的源元素。
elemind(OUT)[optional]: 指向元素的NULL 指示符信息的指针:if(elemind == NULL),则指定元素的NULL 指示符信息被设置为非NULL。 (暂不支持)
col1(IN): 要更新的集合。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollAssign
功能描述
将(深度拷贝)一个集合分配给另一个集合。
功能说明
将(深度拷贝)一个集合分配给另一个集合。
接口信息
函数/过程
语法如下:
sword OCICollAssign( OCIEnv *env,
OCIError *err,
const OCIColl *rhs,
OCIColl *lhs ):
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err(IN/OUT): 错误句柄。
rhs (IN): 要从中分配的右侧(源)集合。
Ihs(OUT): 要分配给的左侧(目标)集合。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollAppend
功能描述
将元素追加到集合的末尾。
功能说明
将元素追加到集合的末尾。
接口信息
函数/过程
语法如下:
sword OCICollAppend ( OCIEnv *env,
OCIError *err,
const void *elem,
const void *elemind,
OCIColl *coll );
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err(IN/OUT): 错误句柄。
elem(OUT): 指向要附加到给定集合末尾的元素的指针。(因为传入参数为void*,且此接口为深拷贝,所以只支持append 与 col1l相对应类型的元素)
elemind(OUT)[optional]: 指向元素的NULL 指示符信息的指针;if(elemind==NULL),则指定元素的NULL 指示符信息被设置为非NULL。 (暂不支持)
coll(IN): 要更新的集合。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollMax
功能描述
获取给定集合中元素数量的最大大小。
功能说明
获取给定集合中元素数量的最大大小。(目前都会返回 0,表示最大大小无限制)
接口信息
函数/过程
语法如下:
sb4 OCICollMax( OCIEnv *env,
const OCIColl *coll );
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的OCI环境句柄。
col1(IN): 返回其元素个数的集合。coll参数必须指向有效的集合描述符。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollSize
功能描述
获取给定集合中元素数量的当前大小。
功能说明
获取给定集合中元素数量的当前大小。
接口信息
函数/过程
语法如下:
sword OCICollSize( OCIEnv *env,
OCIError *err,
const OCIColl *coll
sb4 *size);
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err (IN/OUT): 错误句柄。
coll(IN): 返回其元素个数的集合。
size(OUT): 集合中元素的当前数目。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCICollTrim
功能描述
从集合的末尾裁剪给定数量的元素。
功能说明
从集合的末尾裁剪给定数量的元素。
接口信息
函数/过程
语法如下:
sword OCICollTrim( OCIEnv *env,
OCIError *err,
sb4 trim_num,
OCIColl *coll );
参数解释如下:
输入
env(IN/OUT): 在对象模式下初始化的 OCI环境句柄。
err (IN/OUT): 错误句柄。
trim_num(IN): 要修剪的元素数量。
coll (IN): 从集合 coll的末尾移除(释放)trim_num 的元素。
输出
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCITypeArrayByRef
功能描述
当给定引用数组时,获取tdo数组。
功能说明
当给定引用数组时,获取tdo数组。
接口信息
函数/过程
语法如下:
Sword OCITypeArrayByRef( OCIEnv *env, OCIError *err,
ub4 array_len, const OCIRef **type_ref,
OCIDuratin pin_duration,
OCITypeGetOpt get_option, OCIType **tdo );
参数解释如下:
env(IN/OUT):OCI环境句柄在对象模式下初始化。
err (IN/0UT):OCI错误句柄。如果出现错误,则记录在 err 中,此函数返回OCI_error。通过周用OCIErrorGet ()获取诊断信息。
array_len(IN):数组大小。
type_ref(IN):OCIRef**指向要获取的类型描述符对象的版本。
引脚持续时间(IN):固定要检索的类型的当前事务结束之前的持续时间。
获取选项(IN):用于加载类型的选项。它可以是两个值之一:OCI_TYPEGET_HEADER(仅加载标头)OCI_TYPEGET_ALL (加载TDO以及所有 ADO 和MDO)。
tdo(OUT):指向对象缓存中固定类型的指针。
其他说明
无
OCITypeArrayByName
功能描述
当给定名称数组时,获取tdo数组。
功能说明
当给定名称数组时,获取tdo数组。
接口信息
函数/过程
语法如下:
OClTypeArrayByName( OCIEnv *env, OCIError *err, const OCISvcCtx *svc,
ub4 aray_len,
const oratext *schema_name[], ub4 s_length[],
const oratext *type_name[], ub4 t_length[],
const oratext *version_name[], ub4 v_length[],
OCIDuration pin_duration,
OCITypeGetOpt get_option, OCIType **tdo )
参数解释如下:
env(IN/OUT):OCI环境句柄在对象模式下初始化。
err(IN/0UT):OCI 错误句柄。如果出现错误,则记录在err 中,此函数返回OCI_error。通过调用 OCIErrorGet ()获取诊断信息。
svc (IN):OCI服务句柄。
array_len (IN):数组的大小。
schema_name (IN,可选):与类型关联的架构的名称。默认情况下,将使用用户的模式名称。此处需全部大写,否则返回错误。
s_length (IN):schema_name参数的长度,以字节为单位。
type_name (IN) :要获取的类型的名称。此处需全部大写,否则返回错误。
t_length (IN):type_name 参数的长度,以字节为单位。
version_name (IN):版本名称。该参数在此次接口中并未使用,不做参数判断。
v_length (IN):版本名称的长度(以字节为单位)。该参数在此次接口中并未使用,不做参数判断。
pin_duration(IN):持续时间。该参数在此次接口中并未使用,不做参数判断。
get_option(IN):用于加载类型的选项。它可以是两个值之一:OCI_TYPEGET_HEADER (仅加载标头)OCI_TYPEGET_ALL(加载TDO 以及所有 ADO和MDO)。该参数在此次接口中并未使用,不做参数判断。
tdo(OUT):指向对象缓存中固定类型的指针。
其他说明
无
OCIBindObject
功能描述
设置指定数据类型(对象)绑定所需的附加属性。
功能说明
设置指定数据类型(对象)绑定所需的附加属性。
接口信息
函数/过程
语法如下:
sword OCIBindObject( OCIBind *bindp,
OCIError *errhp,
const OCIType *type,
void **pgvpp,
ub4 *pvszsp,
void **indpp,
ub4 *indszp);
参数解释如下:
bindp(IN/OUT):调用OCIBindByName()、OCIBindByPos()返回的绑定句柄。
errhp(IN/OUT):错误句柄,当出现错误时,可以将其传递给OCIErrorGet ()以获取诊断信息。
type(IN):指向描述要定的程序变量类型的TDO。通过调用 OCITypeByName ()获取。
pgvpp(IN/OUT):程序变量缓冲区的地址。此处暂时不支持pgvpp为 NULL的情况,虽然不会在OCIBindObject 中出现异常,但是在OCIStmtexecute会出现异常。
pvszsp(OUT):[可选]指向程序变量的大小。输入时不需要指定数据类型的大小。该参数在此次接口中并未使用,不做参数判断。
indpp(IN/OUT):[可选]包含并行指示符结构的程序变量缓冲区的地址。该参数在此次接口中并未使用,不做参数判断。
indszp (IN/OUT):指向IN指示器结构程序变量的大小。该参数在此次接口中并未使用,不做参数判断。
其他说明
无