VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

混合函数接口

用户在执行OCIPasswordChange时需要注意,只有当前用户具有了要修改用户密码的权限,才能操作,否则返回错误。

OCIPing

功能描述

确认连接和服务器是否处于活跃状态。

功能说明

该调用对服务器进行往返调用,以确认连接和服务器处于活动状态。调用成功返回表明连接和服务器处于活动状态。如果调用阻塞,则连接可能正在被其他线程使用。如果失败,则可能是连接或服务器有问题,可以从错误句柄中检索错误。

接口信息

函数/过程

OCIPing语法如下:

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

参数的解释如下:

  • svchp(IN):服务上下文句柄,必须被初始化并且有一个与之关联的服务上下文句柄。
  • errhp(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。
  • mode(IN):调用模式,使用OCI_DEFAULT。

其他说明

OCIClientVersion

功能描述

返回客户端版本信息。

功能说明

返回运行时客户端的数据库版本号。

接口信息

函数/过程

OCIClientVersion语法如下:

void OCIClientVersion (
sword        *featureRelease, 
                        sword        *releaseUpdate, 
                        sword        *releaseUpdateRevision,
                        sword        *increment,
                        sword        *ext 
)

参数的解释如下:

  • featureRelease(OUT):功能发布的年份。
  • releaseUpdate(OUT):版本更新号。
  • releaseUpdateRevision(OUT):版本更新修订号。
  • increment(OUT):版本更新增量号。
  • ext(OUT):扩展。

其他说明

OCIPasswordChange

功能描述

更改账户密码。

功能说明

允许更改账户的密码。

接口信息

函数/过程

OCIPasswordChange语法如下:

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):错误句柄,可以通过OCIErrorGet()诊断错误信息。
  • user_name(IN):指定用户名,可以是UTF-16编码。N如果服务上下文已使用身份验证句柄初始化,则NULL必须以字符作为结束符。
  • usernm_len(IN):指定的用户名字符串的长度,user_name以字节数为单位,与编码无关。该 usernm_len值必须为非零。
  • opasswd(IN):指定用户的旧密码,可以时UTF-16编码.在密码修改期间,该OCIPasswordChange函数可以用户接受旧密码和修改的密码。
  • opasswd_len(IN):指定的opasswd旧密码字符串的长度,以字节为单位。该opasswd_len值必须为非零。
  • npasswd(IN):指定用户的新密码,可以是 UTF-16 编码。如果在用户配置文件中指定密码复杂度验证程序来验证新密码的复杂度,则新密码必须满足验证功能的复杂度要求。
  • npasswd_len(IN):中指定的新密码字符串的字节长度 npasswd。对于有效的密码字符串,npasswd_len必须为非零。
  • mode(IN):有如下多种模式:

    • OCI_UTF16:无论环境句柄的设置如何,都使用 UTF-16 编码。对于 user_name、 opasswd和npasswd ,只允许使用一种编码,无论是 UTF-16 还是非 UTF-16 。
    • OCI_AUTH:如果未创建用户会话上下文,则使用此标志的调用会创建用户会话上下文并更改密码。通话结束时,不会清除用户会话上下文。因此,用户保持登录状态。如果创建了用户会话上下文,则使用此标志的调用只会更改密码并且对会话没有影响。因此,用户仍然保持登录状态。

      该OCI_AUTH模式可与 OCICPW*中列出的任何模式一起使用,以便在登录时为过期用户帐户建立相应的管理会话,然后再更改密码。

    • OCI_CPW_SYSDBA:在此模式下,将获得 SYSDBA访问身份验证。

    • OCI_CPW_SYSOPER:在此模式下,将获得 SYSOPER访问身份验证。

    • OCI_CPW_SYSASM:在此模式下,将获得 SYSASM访问身份验证。

    • OCI_CPW_SYSBKP:在此模式下,将获得 SYSBKP访问身份验证。

    • OCI_CPW_SYSDGD:在此模式下,将获得 SYSDGD访问身份验证。

    • OCI_CPW_SYSKMT:在此模式下,将获得 SYSKMT访问身份验证。

其他说明

OCIBreak

功能描述

立即执行异步中断。

功能说明

立即(异步)终止与服务器关联的任何当前正在执行的 OCI 函数。它通常用于停止服务器上正在处理的长时间运行的 OCI 调用。它可以由多线程应用程序中的用户线程调用,也可以由 Linux 或 UNIX 系统上的用户信号处理程序调用。OCIBreak()是用户信号处理程序中唯一允许的 OCI 调用。

目前只提供兼容性接口,功能效果暂未显现。

接口信息

函数/过程

OCITBreak 语法如下:

sword OCIBreak ( 
void         *hndlp, 
                         OCIError     *errhp,
)

参数的解释如下:

  • hndlp(IN):服务上下文句柄或服务器上下文句柄。
  • errhp(IN):错误句柄,可以通过OCIErrorGet()诊断错误信息。

其他说明

OCIServerVersion

功能描述

返回服务端版本信息。

功能说明

返回运行时服务端的数据库版本号。

接口信息

函数/过程

OCIServerVersion语法如下:

sword OCIServerVersion ( void          *hndlp, 
                         OCIError      *errhp, 
                         text          *bufp,
                         ub4           bufsz,
                         ub1           hndltype )

参数的解释如下:

  • hndlp:句柄指针。
  • errhp:错误句柄。
  • bufp:服务版本号缓冲区。
  • bufsz:服务版本号缓冲区大小。
  • hndltype:句柄类型。

其他说明

OCIRowidToChar

功能描述

把Rowid描述符转换为字符串。

功能说明

把Rowid描述符转换为字符串。

接口信息

函数/过程

语法如下:

sword OCIRowidToChar( OCIRowid   *rowidDesc, OraText   *outbfp,  ub2  *outbflp,
OCIError  *errhp )

参数的解释如下:

  • rowidDesc(IN): Rowid的描述符。

  • outbfp(IN/OUT):用于输出的缓存。

  • outbflp(IN):缓存的长度。

  • errhp(OUT):OCI错误句柄。若有借误就记录在err中,并且由该函数返回 OCI_ERROR,调用OCIErrorGet()获得错误的诊断信息。

注意:

  • OCIRowid描述符只能从内核获取,不能单独创建。

  • Rowid获取时只能通过select 查询语句显示获取不支持隐式获取。

  • Rowid获取后不能随着内核的改变而改变,所以当内核执行update、vacum后Rowid可能存在无效。

其他说明

OCIParamSet

功能描述

将复杂对象检索(COR)描述符设置为COR句柄。

功能说明

将复杂对象检索(COR)描述符设置为COR句柄。

接口信息

函数/过程

语法如下:

sword OCIParamSet(  void        *hndlp,
ub4           htype,
OCIError  *errhp,
const void *dscp,
ub4             dtyp,
ub4             pos );

参数的解释如下:

  • hndlp(输入输出):复杂对象句柄指针。COR句柄使用之前必须使用 OCITHandleAlloc ()进行分配。

  • htype(IN):句柄类型。

  • errhp(输入/输出):一个错误句柄,当出现错误时,可以将其传递给 OCIErrorGet ()以获取诊断信息。

  • dscp(IN):复杂对象描述符指针。描述符使用之前必须使用 OIDescriptorAlloc进行分配。

  • dty (IN):描述符类型。COR描述符的描述符类型为 OCI_DTYPE_COMPLEXOBJECTCOMP。

其他说明