返回首页

gbase数据、南大通用产品文档:GBase8sifx_lo_open() 函数

更新日期:2024年09月11日

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 -

函数说明
用字符串padstr 在str 的左边填补,直至它的长度达到len 个字符长度,然后返回
补齐后的str;如果str 的长度长于len,那么它将被截取到len 个字符。
示例
示例1:将“??”补到“hi”左侧,总长度为4 位。
gbase> SELECT LPAD ('hi',4,'??') FROM dual;
+-------------------+
| LPAD('hi',4,'??') |
+-------------------+
| ??hi
|
+-------------------+
1 row in set
示例2:“hi”的长度大于1,则“hi”将被截取到1 个字符。
gbase> SELECT LPAD('hi',1,'??') FROM dual;
+-------------------+
| LPAD('hi',1,'??') |
+-------------------+
| h
|
+-------------------+
1 row in set

函数说明
from_base64(str)
对数据实现base64 解码。
参数str 允许的最大长度16M,超长报错。
该函数执行结果长度受max_allowed_packet 限制,超长报错。
gbase> select from_base64('aGVsbG8=');
+-------------------------+
| from_base64('aGVsbG8=') |
+-------------------------+
| hello |
+-------------------------+
1 row in set (Elapsed: 00:00:00.00)


GBase UP 产品手册 5 数据库管理指南
文档版本04(2021-04-21) 南大通用数据技术股份有限公司 556
信息函数