开发库采用 OTL
表结构为:
create table test{
int id,
clob content
}
语句为
insert into test values (1,一个大于4000的字符串)
然后报错: ORA-01704: 文字字符串过长。
出的问题是sql语句中字符串长度大于4000。解决方法:可以通过绑定变量的方法。现在的问题是通过绑定变量的方式会对项目产生较大的改动吗,请问有不通过绑定变量就可以解决的方法吗?
或者oracle有这样的配置选项可以接受长度大于4000的字符串。
谢谢

解决方案 »

  1.   

    直接SQL语句不行了,在PL/SQL或其它语言的程序中调用ORACLE提供的接口驱动处理了
      

  2.   

    这个涉及到大字段处理,可在pl/sql或语言中处理
      

  3.   

    我是这样做的
    declare
    hp nclob:='绝对大于4000字符的字符串';
    begin
    insert into harry values('06-0',hp);
    end;
    但还是会报错啊
      

  4.   

    用包dbms_lob   提供的功能可以增加,也可以接合utl_file来读文件的内容存到clob中
      

  5.   

    declare
    string clob;
    begin
    string:=rpad('ben',9999,'*');
    execute immediate 'insert into ben.clob values(:1)' using string;
    end;