ACILobCreateTemporary()

ACILobCreateTemporary()

作用:

创建临时大对象

语法:

sword ACILobCreateTemporary(ACISvcCtx          *svchp,
                            ACIError           *errhp,
                            ACILobLocator      *locp,
                            ub2                 csid,
                            ub1                 csfrm,
                            ub1                 lobtype,
                            boolean             cache,
                            ACIDuration         duration);

参数:

  • svchp (IN)

服务上下文句柄

  • err (IN/OUT)

错误句柄,该接口调用失败时,错误信息会存在该句柄上 ,调用 ACIErrorGet 获得错误信息。

  • locp (IN/OUT)

存贮大对象描述符指针

  • csid (IN)

设置大对象字符集ID,可传入ACI_DEFAULT

  • csfrm (IN)

缓冲区数据的LOB字符集形式。 csfrm参数具有两个可能的非零值:

SQLCS_IMPLICIT : 数据库字符集ID,用于创建CLOB。 ACI_DEFAULT也可以用于隐式创建CLOB;

SQLCS_NCHAR : NCHAR字符集ID,用于创建NCLOB。

默认值为SQLCS_IMPLICIT。

  • lobtype (IN)

创建大对象的类型。 ACI_TEMP_BLOB:创建临时BLOB ; ACI_TEMP_CLOB:创建临时CLOB

  • cache (IN)

该参数设置成TRUE临时lob会读到缓冲cache,设置成false则不会。

  • duration (IN)

临时LOB的持续时间(生命周期)。 以下是有效值:

  • ACI_DURATION_SESSION : session级,session退出后清除LOB。
  • ACI_DURATION_CALL : 调用即,当前调用有效,调用结束后清除LOB。

说明:

此函数在用户的临时表空间中创建一个临时LOB;完成此功能后,locp参数指向一个空的临时LOB,其长度为零;临时LOB的生存期由duration参数确定。 在其持续时间结束时,将释放临时LOB。 应用程序可以通过 ACILobFreeTemporary 调用更快地释放临时LOB。如果LOB是BLOB,则将忽略csid和csfrm参数。