lld_open_client() 函数

此函数用于打开客户机文件。

语法

API
LLD_IO* lld_open_client(conn, path, flags, error); 
      MI_CONNECTION*               conn
      mi_string*                   path;
      mi_integer                   flags;
      mi_integer*                  error;
ESQL/C
LLD_IO* lld_open_client(MI_CONNECTION* conn,mi_string* path,
mi_integer flags,mi_integer* error); 
conn
先前通过调用 mi_open()mi_server_connect() 函数建立的连接描述符。 此参数仅适用于 API 接口。在此函数的 ESQL/C 和 SQL 版本中,您必须已经连接到服务器。
path
指向客户机文件路径名的指针。
flags
一组可设置的标志,用于在将大对象打开之后指定其属性。标志如下所示:
LLD_RDONLY
以只读方式打开客户机文件。如果设置了此标志,那么不能使用 lld_write 函数写入指定的客户机文件。
LLD_WRONLY
以只写方式打开客户机文件。如果设置了此标志,那么不能使用 lld_read() 函数读取指定的客户机文件。
LLD_RDWR
以读写方式打开客户机文件。
LLD_TRUNC
将客户机文件打开之后清除其内容。
LLD_APPEND
寻道至大对象的末尾以进行写入。打开对象之后,将在其开始位置放置文件指针。如果已经打开对象以进行读取或读写,那么可以在文件中的任何位置寻道并读取。但是,每当调用 lld_write() 以写入对象时,指针都将移到对象的结束位置,以保证不会覆盖任何数据。
LLD_SEQ
打开客户机文件以仅用于进行顺序访问。如果设置了此标志,那么不能对指定的客户机文件使用 lld_seek() 函数。
error
函数在其中返回错误代码的输出参数。

用途

此函数用于打开现有客户机文件。打开文件之后,可以使用任何对已打开大对象执行操作的 Large Object Locator 函数,如 lld_read()lld_write() 等。

Large Object Locator 不直接支持两种基本的数据库功能:事务回滚和并行控制。因此,如果用于调用 lld_open_client() 的事务已终止,那么应调用 lld_close() 来关闭对象并回收所有已分配的资源。

应用程序还应提供一些锁定行之类的方法,以便保证不能同时有多个用户写入大对象。

请参阅大对象限制以获取有关事务回滚和并行控制的更多信息。

返回码

如果成功,此函数将返回指向其分配的 LLD_IO 结构的指针。LLD_IO 结构是私有结构,不应直接访问它或修改其内容。但是,应将其指针传递到访问已打开客户机文件的 Large Object Locator 例程,如 lld_write()lld_read() 等。

客户机文件将保持打开状态,直到您使用 lld_close() 函数明确地将其关闭。因此,如果在打开客户机文件之后遇到错误,那么您应负责通过将其关闭来回收资源。

如果失败,此函数将返回 NULL

上下文

lld_close() 函数

lld_read() 函数

lld_seek() 函数

lld_tell() 函数

lld_write() 函数

lld_create_client() 函数