ACILobIsOpen()

ACILobIsOpen()

作用:

返回是否打开了LOB或BFILE。

语法:

sword ACILobIsOpen ( ACISvcCtx        *svchp,
                     ACIError         *errhp,
                     ACILobLocator    *locp,
                     boolean          *flag );

参数:

  • svchp (IN)

服务上下文句柄

  • errhp (IN/OUT)

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

  • locp (IN)

指向需要判断的大对象描述符指针

  • flag (OUT)

如果内部LOB已打开或使用输入定位器打开了BFILE,则返回TRUE。 如果不是,则返回FALSE。flag为一个sb4类型的指针。

说明:

检查是否已打开内部LOB或是否使用输入定位器打开了BFILE。

  • 对于BFILE

如果输入的BFILE定位器从未传递到 ACILobOpenACILobFileOpen ,则认为该BFILE定位器未打开BFILE。 但是,其他的BFILE定位器可能已经打开了BFILE。 可以使用不同的定位符在同一BFILE上执行多次打开。 换句话说,开放性与BFILE的特定定位器相关联。

  • 对于LOB

开放性与LOB相关联,而不与定位器相关联。 如果locator1打开了LOB,则locator2也将LOB视为已打开。

对于内部LOB,此调用需要服务器往返,因为它检查服务器上的状态以查看LOB是否打开。 对于外部LOB(BFILE),此调用也需要往返,因为必须检查服务器端的操作系统文件以查看其是否打开。