ifx_lo_open() 函数打开智能大对象。
语法
ifx_lo_open(lofd, loptr, flags)
参数
该函数接受以下参数。
参数
类型
用于
描述
lofd
SQL_INTEGER
输出
智能大对象文件描述符。该文
件描述符只在当前数据库连接
中有效。
loptr
SQL_INFX_UDT_FIXED
输入
智能大对象指针结构
flags
SQL_INTEGER
输入
打开智能大对象的模式。
用法
ifx_lo_open() 函数执行以下步骤来打开智能大对象:
1. 以 flags 指定的访问模式打开 loptr 智能大对象。
2. 将查找位置设置为字节零。
3. 锁定智能大对象。
重要: 数据库服务器不会检查智能大对象的访问权限。您的应用程序必须确保用户或应用程序
可信。
如下表所述,访问模式确定锁的类型。
访问模式
锁的类型
脏读
没有锁
只读
共享锁
只写,
写/附加,或读/写
更新锁。当对智能大对象调用 ifx_lo_write() 或
ifx_lo_writewithseek() 时,数据库服务器会将锁升级为互斥锁。
当当前连接终止时,数据库服务器失去此锁。数据库服务器在下一次调用需要锁的函数时
再次获取该锁。
另外,可以使用 BEGIN WORK 事务块,将 COMMIT WORK 或 ROLLBACK WORK 语
句放到需要使用锁的最后一条语句之后。
1. 分配具有当前连接的智能大对象。
当关闭连接时,
数据库服务器将释放任何引用计数零的智能大对象。
引用数表示引用
智能大对象的数据库列数。
2. 返回标识智能大对象的文件描述符。
数据库服务器使用调用 ifx_lo_open() 建立的缺省参数来确定是否锁定或记录智能大对象
上后续的操作。
GBase 8s ODBC Driver 程序员指南
南大通用数据技术股份有限公司
- 164 -