现在在用plsql写这样一个函数,这个函数将查询得到的结果组装成一个特定格式的字符串进行返回,由C调用
现在的问题是,得到的结果集非常大,varchar根本不够用
现在想用clob进行存放,但是不知道clob能否作为变量来存放这个大字符串并进行组装操作,如果可以,应该如何操作
另如果成果返回clob,那么在C端能否获取并操作这个返回出来的clob变量
望给位指教,使用的数据库版本是10g的

解决方案 »

  1.   


    没有深入的研究过, 可以参考一下我的blog:ORACLE LOB 大对象处理
    http://blog.csdn.net/tianlesoftware/archive/2009/12/25/5070981.aspx------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716
      

  2.   

    首先在函数里varchar2可以达到32000多字节长的。一般都能满足拼字符串的需求。
    如果满足不了,在11G(9i不行,10g没试过)下面可以直接把变量定义成clob的。然后就和定义成varchar2一样用。怎么用C获取就没试过了。
      

  3.   

    回2楼,虽然说varchar可以达到32767字节,但是在pl sql中操作不能超过4000字节
      

  4.   

    已发现不可直接返回clob变量,求如何用C调用oci读取clob数据
      

  5.   

    问题已解决,11g中可以直接申明并操作返回clob。但最后还是返回cursor,oci端绑定statement进行操作
      

  6.   

    c没有弄过,不过如果你用java的话,是完全可以用clob的!