#OCILobRead2

# 功能简介

OCILobRead2函数用于将LOB读入缓冲区。

# 函数声明

sword OCILobRead2 ( OCISvcCtx           *svchp,
                    OCIError            *errhp,
                    OCILobLocator       *locp,
                    oraub8              *byte_amtp,
                    oraub8              *char_amtp,
                    oraub8               offset,
                    void                *bufp,
                    oraub8               bufl,
                    ub1                  piece,
                    void                *ctxp, 
                    OCICallbackLobRead2 (cbfp)
                                        ( void          *ctxp,
                                          const void    *bufp,
                                          oraub8         lenp,
                                          ub1            piecep
                                          void         **changed_bufpp,
                                          oraub8        *changed_lenp
                                        )
                    ub2                  csid,
                    ub1                  csfrm );

# 参数说明

参数名 说明
svchp (IN/OUT) 服务上下文句柄。
errhp (IN/OUT) 一个错误句柄,当出现错误时可以获取诊断信息。
locp (IN) 唯一引用LOB的LOB定位器。
byte_amtp (IN/OUT) 作为入参,表示从数据库读取的字节数,始终用于BLOB,对于CLOB和NCLOB,只有char_amtp为零时才会使用。
作为出参:表示读入用户缓冲区的字节数。
char_amtp (IN/OUT) 作为入参,表示要读入用户缓冲区的最大字符数。
作为出参:表示读入用户缓冲区的字符数。
指向BLOB时,该参数始终不生效。
offset (IN) LOB值开始的绝对偏移量。
如果指向BLOB,表示字节数。
如果指向CLOB或NCLOB,表示字符数。
bufp (IN/OUT) 数据缓冲区,分配的内存的长度假定为bufl。
bufl (IN) 缓冲区的长度。
piece (IN) 不进行轮询,调用传递OCI_ONE_PIECE。
要进行轮询,请在第一次调用时传递OCI_FIRST_PIECE,并在随后的调用中传递OCI_NEXT_PIECE。
使用回调时应传递OCI_FIRST_PIECE。
ctxp (IN) 回调函数的上下文指针。
cbfp (IN) 回调函数。
ctxp (IN) 回调函数的上下文。
bufp (IN/OUT) 数据缓冲区。
lenp (IN) 缓冲区中当前片段的长度(单位:B)。
piecep (IN) 取值范围:OCI_FIRST_PIECE、OCI_NEXT_PIECE或OCI_LAST_PIECE。
changed_bufpp (OUT) 设置为输入新缓冲区的地址时,表示回调函数使用新缓冲区来读取下一块数据。
设置为NULL时,表示使用默认的旧缓冲区bufp。
changed_lenp (OUT) 新缓冲区的长度。
csid (IN) 缓冲区数据的字符集ID。
csfrm (IN) 缓冲区数据的字符集形式。
非0值取值范围:SQLCS_IMPLICIT表示数据库字符集ID,SQLCS_NCHAR表示NCHAR字符集ID。
如果未指定csfrm,则使用默认值SQLCS_IMPLICIT。

部分参数目前仅支持以下取值:

参数 有效值
offset 最小值1,最大值logLength+1
piece OCI_ONE_PIECE
OCI_FIRST_PIECE
csid 0
与当前客户端环境一致的字符集ID。
csfrm SQLCS_IMPLICIT
SQLCS_NCHAR
pdf-btn 下载文档
copy-btn 复制链接