字符集相关接口
OCINlsCharSetNameToId
功能描述
根据字符集名称输出字符集ID。
功能说明
根据字符集名称输出字符集,其中字符集名称的映射和内核保持一致(只有一个特例内核中的-1在驱动中映射为 7)。
接口信息
函数/过程
语法如下:
ub2 OCINlsCharSetNameToId(void *envhp, const oratext *name);
具体参数解释如下:
输入
envhp(IN): OCI 环境或用户会话句柄。如果句柄无效,则函数返回默认值 7(ORACLE 返回0)。
name(OUT): 指向以NULL 结尾的 Oracle 数据库宁符集名称的指针。如果了符集名称无效,则该函数返回默认值 7(ORACLE 返回0)。
输出
- ub2 (OUT) : 输出的字符集ID。
- ub2 (OUT) : 输出的字符集ID。
其他说明
无
OCINlsCharSetIdToName
功能描述
根据字符集ID输出字符集名称。
功能说明
根据字符集ID输出字符集名称。
接口信息
函数/过程
语法如下:
sword OCINlsCharSetIdToName(void *envhp, oratext *buf, size_t buflen, ub2 id);
具体参数解释如下:
输入
envhp(IN): OCI 环境或用户会话句柄。如果句柄无效,则函数返回OCI_INVALID_HANDLE。
buf(OUT): 指向目标缓冲区。如果函数返回 OCI_SUCCESS,则参数包含字符集名称的以NULI结尾的字符串。
buflen(IN): 目标缓冲区的大小。建议的大小 OCI_NLS_MAXBUFSZ,以保证Oracle 数据库字符集名称的存储。如果目标缓冲区的大小小于宁符集名称的长度,则该函数返回OCI_ERROR。
id(N): 数据库宁符集 ID。
输出
- sword (OUT) : 函数是否成功执行。
- sword (OUT) : 函数是否成功执行。
其他说明
无
OCINlsEnvironmentVariableGet
功能描述
返回环境变量中的字符集 ID。该函数不采用环境句柄。
功能说明
返回环境变量中的字符集ID。该函数不采用环境句柄,因此它返回的字符集ID 和国家/地区字符集ID 是 NLS_LANG 和NLS_NCHAR 中指定的值,而不是保存在 OCI 环境句柄中的值。要获取 OCI环境句柄使用的宁符集ID,请分别调用 OCIAttrGet () 进行 OCI_ATTR_ENV_CHARSET_ID 和OCI_ATTR_ENV_NCHARSET_ID。
接口信息
函数/过程
语法如下:
sword OCINlsEnvironmentVariableGet(void *valp, size_t size, ub2 item,
ub2 charset, size_t *rsize);
具体参数解释如下:
输入
valp(IN/OUT): 返回支持环境变量的值,例如NLS_LANG 宁符集ID 或NLS_NCHAR 字符集ID。
size(IN): 指定给定输出值的大小,该大小仅适用于字符串数据。每条信息的最大长度为OCI_NLS_MAXBUFSZ 字节。对于数值数据,将忽略此参数。
item(IN): 指定要从全局支持环境变量中获取的以下值之一:
OCI_NLS_CHARSET_ID: NLS_LANG ub2 数据类型中的宁符集ID;
如果未设置 NLS_LANG 或设置错误,则使用 LANG;
如果未设置LANG 或设置错误,则使用返回默认宁符集ID (7-UTF8) 。
OCI_NLS_NCHARSET_ID: NLS_NCHAR ub2 数据类型中的字符集ID;
- 如果未设置NLS_NCHAR或设置错误,则返回OCI_NLS_CHARSET_ID 的值。
charset(IN): 指定检索到的字符串数据的字符集ID。如果为0,则使用NLS_LANG 值。
输出
- rsize (OUT) : 返回值的长度(以字节为单位)。
- rsize (OUT) : 返回值的长度(以字节为单位)。
其他说明
无
OCINlsNumericInfoGet
功能描述
根据输入的获取信息类型获取环境句柄或会话句柄的编码信息。
功能说明
根据输入的获取信息类型获取环境句柄或会话句柄的编码信息。
接口信息
函数/过程
语法如下:
sword OCINlsNumericInfoGet(void *envhp, OCIError *errhp, sb4 *val, ub2 item);
具体参数解释如下:
输入
envhp(IN/OUT): OCI 环境或用户会话句柄。如果句柄无效,则函数返回OCI_INVALID_HANDLE。
errhp(IN/OUT): OCI 错误句柄。如果存在错误,则会将其记录在 errhp 中,并且该函数返回NULL 指针。可以通过调用 OCIErrorGet () 获取诊断信息。
val(OUT): 指向输出数字变量的指针。如果函数返回 OCI_SUCCESS,则参数包含请求的环境句柄字符集信息。
item(IN): 它指定要从 OCI 环境句柄获取的项目,可以是以下值之一:
OCI_NLS_CHARSET_MAXBYTESZ: OCI 环境或会话句柄宁符集的最大宁符字节大小;
OCI_NLS_CHARSET_FIXEDWIDTH: 固定宽度字符集的字符字节大小;0 表示可变宽度字符集。
输出
- sword (OUT) : 函数是否成功执行。
- sword (OUT) : 函数是否成功执行。
其他说明
无