呵呵,不是,VARCHAR2最大为4000啊,作为一个字符是可以的啊,我原来就插了快4000个都没有问题啊,可能是你的SQL哪里写得不对,

解决方案 »

  1.   

    1.检查是否有无效字符
    2.检查你的sql语法!
      

  2.   

    varchar2作为字段最大可以4000个字符.但是在插入的时候如果直接insert into table values('字符'),如果字符超过4000没办法插入,你上面的字符串没问题的.SQL> desc testa;
    Name Type           Nullable Default Comments 
    ---- -------------- -------- ------- -------- 
    ID   NUMBER(10)     Y                         
    NAME VARCHAR2(2000) Y                         SQL> insert into testa values(1,'00552nam0 2200193 i 450 00100130000000500180001301000280003110000410005910100080010010200150010820000290012321000690015221500160022161000250023769000110026280100350027390500100030895000400031801200300000120030423152805.00  a7-80108-247-8dCNY20.00  a20030423d1999    km y0chiy01201213ea0 achi  aCNb1100001 a不良父母9Bu Liang Fu Mu  a北京c西苑出版社d1999g高等教育出版社印刷厂h1999年7月第1次印刷  a374页d32开0 a纪实文学a中国a当代  aI25v4 0aCNb书生公司c200304232cnmarc  a00000  a/s1A/s2/bk200102/ifr/004z.ifrb004Z');1 row insertedSQL> select * from testa;         ID NAME
    ----------- ---------------------------------------
              1 00552nam0 2200193 i 450 000500180001301000280003110000410005910100080SQL> select length(a.name) from testa a where a.id=1;LENGTH(A.NAME)
    --------------
               468SQL>