PowerBuilder读取Oracle 的Clob字段内容发现直接使用SELECTBLOB读取的数据总是有数据不能完全读取问题最后我在网上进行了搜罗发现可以写一个FUNCTION来进行处理
Oracle读取Clob函数一次可以读取个字符
create or replace function getclob(
table_name in varchar 表名
field_name in varchar CLOB字段名
v_tj in varchar 表查询条件
v_pos in number –字符起始位置)
return varchar is
buffer varchar()
lobloc clob;
amount number := ;
query_str varchar()
begin
query_str :=select ||field_name|| from ||table_name|| where ||v_tj||;
initialize buffer with data to be found
EXECUTE IMMEDIATE query_str INTO lobloc ;
read varchar from the buffer
dbms_lobread(loblocamountv_pos+buffer)
return buffer;
exception
when no_data_found then
return buffer;
end;
PowerBuilder采用循环读取CLOB字段的所有内容
String ls_templs_datals_data
ls_temp = blbh=+String(ll_blbh)+ and blym= +String(li_blym)
SELECT dbms_lobgetlength(html) INTO :ll_len FROM ys_zy_bl_html Where blbh = :ll_blbh AND blym = :li_blym;
Long i
i =
DO
//调用ORACLE的函数GetClob
SELECT getclob(ys_zy_bl_htmlhtml:ls_temp:i ) INTO :ls_data FROM dual;
ls_data = ls_data + ls_data
ll_len = ll_len
i = i +
LOOP WHILE ll_len >=
注ll_blbh li_blym为PowerBuilder变量
简单吧ls_data就是需要读取的CLOB字段的全部内容
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程