此函数用于将客户机文件复制到大对象。
MI_ROW* lld_from_client(conn, src, dest, error); MI_CONNECTION* conn, mi_string* src, MI_ROW* dest, mi_integer* error
ifx_collection_t* lld_from_client (src, dest, error); char* src; EXEC SQL BEGIN DECLARE SECTION; PARAMETER ROW dest; EXEC SQL END DECLARE SECTION; int* error;
CREATE FUNCTION LLD_FromClient(src LVARCHAR, dest LLD_Locator) RETURNS LLD_Locator;
此函数用于复制现有大对象。
如果目标对象已存在,请将指针传递到其 lld_locator 行作为 dest 参数。
如果目标对象不存在,将使用以下值将 lld_locator 行作为 dest 参数传递到 lld_from_client()。
在 lo_protocol 字段中,指定要创建的大对象类型。
lld_from_client() 函数将创建您指定的大对象类型,将源文件复制到该大对象,并按照原样返回您所传递的行。
如果要复制到智能大对象,请为将作为 dest 参数传递的 lld_locator 行中的 lo_pointer 和 lo_location 字段指定 NULL。lld_from_client() 函数将返回 lld_locator 行,且带有指向 lo_pointer 字段中新智能大对象的指针。
如果新的智能大对象没有磁盘引用且已关闭,那么服务器将在事务结束时删除该新的智能大对象。因此,复制到新建的智能大对象之后,请将其打开或插入表中。
如果 lld_from_client() 创建了新的智能大对象,它会将系统缺省值用作必需的存储参数,如 sbspace。如果要覆盖这些参数,可以使用服务器的大对象接口来创建智能大对象,并在 MI_LO_SPEC 结构中指定所需的参数。然后可以调用 lld_from_client() 并将 lld_locator 行的 lo_pointer 字段设置为指向新的智能大对象。
同样,如果针对新的大对象类型向 Large Object Locator 中添加协议,这些对象可能需要某些 Large Object Locator 已经为其提供预定义缺省值的创建属性或参数。 对于智能大对象,可以使用 lld_from_client() 创建该对象并接受缺省值,也可以使用特定于新协议的创建例程并提供自己的属性和参数。创建对象之后,可以调用 lld_from_client() 并为其传递指向新对象的 lld_locator 行。
如果成功,将返回指向 lld_locator 行的指针,用于指定大对象副本的位置。如果目标对象已存在,lld_from_client() 将返回指向您在 dest 参数中创建并传递的原样 lld_locator 行的指针。如果目标对象不存在,lld_from_client() 将返回指向其所创建的新对象的 lld_locator 行。
如果失败,此函数将返回 NULL。