现在做的一个系统,存在一个正文字段,大小一般都是超2000B的,所以用clob字段,在jsp页面中可以正常录入。
现在有一批文本数据需要从后台里导入,用PL/SQL导入时,超过2000的数据还是无法导入,显示字段过长,所以请各位高手告诉一个方法,万分感谢

解决方案 »

  1.   

    --参考一下
    SQL> create or replace Directory dir1 as 'c:\oracle\;
    Directory created.
    SQL> 
    SQL> declare
      2          l_bfile bfile;
      3          l_clob  clob;
      4          l_str   varchar2(1000);
      5  begin
      6          insert into t (name,content)
      7          values ('b.txt',empty_clob())
      8          returning content into l_clob;
      9  
     10          l_bfile := bfilename('DIR1','b.txt');
     11  
     12          dbms_lob.fileopen(l_bfile);
     13          dbms_lob.loadfromfile(l_clob,l_bfile,dbms_lob.getlength(l_bfile));
     14          dbms_lob.fileclose(l_bfile);
     15          commit;
     16          exception when others then
     17          l_str:=sqlerrm(sqlcode);
     18          dbms_output.put_line(l_str);
     19  end;
     20  /
    PL/SQL procedure successfully completed.
    SQL> select * from t;  
      

  2.   

    create or replace Directory dir1 as 'c:\oracle\';--上面少个引号
      

  3.   

    导入还是录入
    PL/SQL导入文本吗
      

  4.   

    如果是测试长度是否真的超长,可以直接编辑该表一条数据,
    将该clob字段设置一个值超过2000的,看结果如何。