OCI编程高级篇(十一) 其他一些LOB操作函数

针对LOB的操作除了写和读函数之外,还有其他一些常用的函数,我们来介绍一下。

1. LOB擦除函数,对一段LOB数据进行擦除,CLOB填充为空格,BLOB填充为0。函数原型和参数如下。

sword OCILobErase2 ( OCISvcCtx *svchp,
    OCIError           *errhp,
    OCILobLocator *locp,
    oraub8              *amount,
    oraub8              offset );

svchp是一个输入参数,OCI服务上下文句柄。

errhp是一个输入/输出参数,错误句柄,返回错误码和错误信息文本。

locp是一个输入/输出参数,LOB定位符,与要擦除的LOB关联。

amount是一个输入/输出参数,要擦除LOB数据的数量,CLOB以字符计算,BLOB以字节计算。

offset是一个输入参数,要擦除数据的起始位置,从1开始计算,CLOB以字符为单位,BLOB以字节为单位。

2. 得到LOB的长度函数,原型和参数如下。

sword OCILobGetLength2 ( OCISvcCtx *svchp,
    OCIError           *errhp,
    OCILobLocator *locp,
    oraub8              *lenp );

svchp是一个输入参数,OCI服务上下文句柄。

errhp是一个输入/输出参数,错误句柄,返回错误码和错误信息文本。

locp是一个输入参数,要获取长度的LOB定位符。

lenp是一个输出参数,返回LOB的长度,CLOB以字符计算,BLOB以字节计算。

3. 判断一个LOB是否打开了,注意这里是判断LOB是否打开,不是定位符是否打开,如果一个定位符先与一个LOB1关联,然后打开,再与一个LOB2关联,也打开,如果后面把定位符关闭了,那么只是关闭了LOB2,LOB1仍然是打开的,还是需要把定位符与LOB1关联,然后可以关闭LOB1。

sword OCILobIsOpen ( OCISvcCtx *svchp,
    OCIError           *errhp,
    OCILobLocator *locp,
    boolean             *flag );

svchp是一个输入参数,OCI服务上下文句柄。

errhp是一个输入/输出参数,错误句柄,返回错误码和错误信息文本。

locp是一个输入参数,要测试是否打开的LOB定位符。

flag是一个输出参数,如果返回TRUE表示LOB已打开,返回FALSE表示LOB未打开。

4. 截断LOB函数,把LOB数据截断为一个新的长度,只能往短了截。

sword OCILobTrim2 ( OCISvcCtx *svchp,
OCIError           *errhp,
OCILobLocator *locp,
oraub8              newlen );

svchp是一个输入参数,OCI服务上下文句柄。

errhp是一个输入/输出参数,错误句柄,返回错误码和错误信息文本。

locp是一个输入/输出参数,要截断的LOB定位符。

newlen是一个输入参数,LOB的新长度,CLOB以字符计算,BLOB以字节计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值