我在ORACLE里建了一个表:
create table test(c1 varchar2(255),c2 varchar2(4000));
但我在程序里往里面插入字符串(分别为一个汉字),运行后提示如下错误:
can bind a LONG value only for insert into a LONG column这到底为什么啊

解决方案 »

  1.   

    SVRMGR> create table test
         2>
         3> (c1 varchar2(255),
         4>
         5> c2 varchar2(4000));
    Statement processed.
    SVRMGR> select * from test;
    C1
     C2-----------------------------------------------------------------------
     ----------------------------------------------------------------------
    -
    0 rows selected.
    SVRMGR> desc test
    Column Name                    Null?    Type
    ------------------------------ -------- ----
    C1                                      VARCHAR2(255)
    C2                                      VARCHAR2(4000)
    SVRMGR> insert into test values ('大汉','大桥')
         2> /
    1 row processed.
    可以的啊,没有问题啊,肯定是程序里面有问题,
      

  2.   

    是你程序处理的有问题,纯sql语句是可以通过的。
    SQL> create table test_long (a varchar2(4000));表被创建SQL> insert into test_long values('哈');1 行 已插入SQL> commit;提交完成SQL> select * from test_long;A
    --------------------------------------------------------------------------------
    哈SQL>