ACILobClose()

ACILobClose()

作用:

关闭当前已经打开大对象描述符

语法:

sword ACILobClose ( ACISvcCtx      *svchp,
                    ACIError       *errhp,
                    ACILobLocator  *locp );

参数:

  • svchp (IN)

服务上下文句柄

  • errhp (IN/OUT)

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

  • locp (IN)

指向大对象描述符指针

说明:

关闭先前打开的内部或外部LOB。如果BFILE存在但未打开,则不会返回任何错误。如果内部LOB未打开,则返回错误。

关闭LOB都往返于服务器。对于内部LOB,关闭会触发其他依赖于close调用的代码,而对于外部LOB(BFILE),关闭实际上会关闭服务器端操作系统文件。

您不必将此LOB操作包装在open或close调用中。 如果在执行此操作之前未打开LOB,此操作会隐式打开,完成操作后再关闭。但是,如果您确实在执行此操作之前打开了LOB,则必须在提交或回滚事务之前将其关闭。

如果未将LOB操作包装在打开或关闭API中,则每次写入LOB时都会自动打开和关闭。 这会对性能产生不利影响。建议您在open或close语句中包含对LOB的写操作。

返回错误后,LOB不再标记为已打开,但是事务已成功提交。因此,将提交对事务中的LOB和非LOB数据所做的所有更改。