#辅助功能函数

# OCIErrorGet()

该函数用于返回提供的缓冲区中的错误消息和 YashanDB 数据库错误代码。

# OCI函数原型

sword OCIErrorGet ( void       *hndlp, 
                    ub4         recordno,
                    OraText    *sqlstate,
                    sb4        *errcodep, 
                    OraText    *bufp,
                    ub4         bufsiz,
                    ub4         type );

# 参数说明

参数名 含义
hndlp (IN) 错误句柄
recordno (IN) 指示应用程序从中查找信息的状态记录
sqlstate (OUT) sql状态
errcodep (OUT) 返回的错误代码
bufp (OUT) 返回的错误消息文本
bufsiz (IN) 为错误消息提供的缓冲区大小,以字节为单位
type (IN) 句柄类型

# 规格

该函数支持如下的调用方式:

参数 有效值
type OCI_HTYPE_ERROR
recordno 1

# 其他说明

无特殊说明。

# OCINlsCharSetNameToId()

该函数用于返回字符集名称对应的ID。

# OCI函数原型

ub2 OCINlsCharSetNameToId ( void            *hndl, 
                            const OraText   *name );

# 参数说明

参数名 含义
hndlp (IN/OUT) OCI环境或用户会话句柄。如果句柄无效,函数将返回 0。
name(IN) 字符集名称

# 规格

该函数支持如下的调用方式:

参数 有效值
name GBK
UTF8
UTF16

# 其他说明

无特殊说明。

# OCINlsEnvironmentVariableGet()

该函数用于返回字符集ID。

# OCI函数原型

sword OCINlsEnvironmentVariableGet ( void       *val,
                                     size_t      size,
                                     ub2         item,
                                     ub2         charset, 
                                     size_t     *rsize );

# 参数说明

参数名 含义
val(IN/OUT) 字符集ID
size(IN) 字符集ID的长度
item(IN) 获取的字符集类型
OCI_NLS_CHARSET_ID:字符集
OCI_NLS_NCHARSET_ID:国家字符集
charset(IN) 配置名称的字符集
rsize(OUT) 字符集长度

# 规格

该函数支持如下的调用方式:

参数 有效值
item OCI_NLS_CHARSET_ID
OCI_NLS_NCHARSET_ID

# 其他说明

无特殊说明。

# OCIMemoryAlloc()

该函数用于申请内存。

# OCI函数原型

sword OCIMemoryAlloc( void         *hndl, 
                      OCIError     *err, 
                      void        **mem, 
                      OCIDuration   dur, 
                      ub4           size, 
                      ub4           flags );

# 参数说明

参数名 含义
hndl(IN) 环境句柄
err(IN) 错误句柄,当出现错误时可以获取诊断信息
mem(OUT) 申请到的内存首地址
dur(IN) 内存的生命周期
保留参数
size(IN) 申请的内存长度
flags(IN) 申请模式
保留参数

# 规格

无。

# 其他说明

无特殊说明。

# OCIMemoryFree()

该函数用于释放内存。

# OCI函数原型

sword OCIMemoryFree ( void     *hndl, 
                      OCIError *err, 
                      void     *mem );

# 参数说明

参数名 含义
hndl(IN) 环境句柄
err(IN) 错误句柄,当出现错误时可以获取诊断信息
mem(IN/OUT) 内存首地址

# 规格

无。

# 其他说明

无特殊说明。

# OCIPing()

该函数用于探测服务端是否异常。

# OCI函数原型

sword OCIPing ( OCISvcCtx     *svchp,
                OCIError      *errhp,
                ub4            mode );

# 参数说明

参数名 含义
svchp(IN) 初始化的服务器上下文的句柄
errhp(IN) 错误句柄,当出现错误时可以获取诊断信息
mode(IN) 模式
保留参数

# 规格

无。

# 其他说明

无特殊说明。

# OCIPasswordChange()

该函数用于更改用户密码。

# OCI函数原型

sword OCIPasswordChange ( OCISvcCtx     *svchp,
                          OCIError      *errhp,
                          const OraText *user_name,
                          ub4            usernm_len,
                          const OraText *opasswd,
                          ub4            opasswd_len,
                          const OraText *npasswd,
                          sb4            npasswd_len,
                          ub4            mode );

# 参数说明

参数名 含义
svchp(IN) 初始化的服务器上下文的句柄
errhp(IN) 错误句柄,当出现错误时可以获取诊断信息
user_name 用户名
usernm_len 用户名长度
opasswd 旧密码
opasswd_len 旧密码长度
npasswd 新密码
npasswd_len 新密码长度
mode(IN) 模式
保留参数

# 规格

无。

# 其他说明

无特殊说明。