看看你的bde或者odbc,oracle的设置里有一个属性是blob size把它加大就可以了
试试吧

解决方案 »

  1.   

    使用TDatabase的话可以更改TDatabase的参数BLOB SIZE,该参数的大小缺省为32,表示BLOB字段的最到存取值为:32K,将其改大一些即可,存储更大的数据。
      

  2.   

    MEIJG:我找不到ODBC中ORACLE的BLOB SIZE,在什么地方。
    WINGSUN:我没有用Tdatabase,在帮我想想办法
      

  3.   

    救救我,设blob size后也不行呀!
      

  4.   

    你使用的是BDE中的数据源吧,打开BDE Administrator,选中你的数据源,然后在右边的属性栏修改BLOB SIZE就可以了,你将Blob Size改成多大了?
      

  5.   

    我用的是odbc,blob size 设为500
      

  6.   

    M_p:=TSTRINGSTREAM.Create(MEMO1.TEXT);
    LOADGSGG.ParamByName('PNEIRONG').LOADFROMSTREAM(M_P,FTMEMO);
    LOADGSGG.EXECPROC;
      

  7.   

    当MEMO1.TEXT的SIZE<32k时没有问题
      

  8.   

    改成:
    M_p:=TSTRINGSTREAM.Create(MEMO1.TEXT);
    LOADGSGG.ParamByName('PNEIRONG').LOADFROMSTREAM(M_P,ftOraBlob);
    LOADGSGG.EXECPROC;
      

  9.   

    WINGSUN: 现在ORACLE服务器被关掉了,我只有明天在试,但无论如何先谢谢你,对了明天你在吗?
      

  10.   

    改成:
    M_p:=TSTRINGSTREAM.Create(MEMO1.TEXT);
    LOADGSGG.ParamByName('PNEIRONG').LOADFROMSTREAM(M_P,ftOraClob);
    LOADGSGG.EXECPROC;
      

  11.   

    我对这个问题的理解是这样的:你所存取的字段是BLOB类型的字段,而Blob类型的字段存取大小受到Blob Size的限制。而且对于Blob字段的存取要通过特殊的方式来进行。
      

  12.   

    wingsun:    谢谢你,事情好像没有这样简单
      

  13.   

    wingsun:    谢谢你,事情好像没有这样简单
      

  14.   

    BDE中BLOB SIZE=-1,用Query的流录入