看来你要写入的数据表中有LONG类型的字段而你在绑定变量的时候可能顺序写错了,导致绑定错位。不妨帖出你的表结构和SQL语句看看

解决方案 »

  1.   

    或者你声明了一个LONG类型的变量,但实际数据表中的相应字段并不是LONG,从而引发这个错误,总之,检查你的表结构和SQL语句
      

  2.   

    谢谢大家回答,我的程序在 oracle8下面 操作系统是aix下面没有问题,但是自从更换为
    linux ASA 数据库更换为 9.2 后就出现了问题。
    数据表结构如下:
    /*==============================================================*/
    /* Table: JSPZK                                                 */
    /*==============================================================*/
    create table JSPZK  (
       JSPZK_PZNM           VARCHAR2(10)                     not null,
       JSPZK_JGBH           VARCHAR2(10)                     not null,
       JSPZK_DWBH           VARCHAR2(30),
       JSPZK_DJBH           VARCHAR2(10),
       JSPZK_PZBH           VARCHAR2(10),
       JSPZK_PZRQ           VARCHAR2(8),
       JSPZK_PZSJ           VARCHAR2(8),
       JSPZK_PZLX           VARCHAR2(2),
       JSPZK_KJQJ           VARCHAR2(2),
       JSPZK_KJND           VARCHAR2(4),
       JSPZK_FJZS           INT,
       JSPZK_JZBZ           CHAR(1),
       JSPZK_PZBZ           CHAR(1),
       JSPZK_ZDR            VARCHAR2(20),
       JSPZK_JZR            VARCHAR2(20),
       JSPZK_DYCS           INT,
       JSPZK_BZ             VARCHAR2(200),
       JSPZK_DFZH           VARCHAR2(40),
       JSPZK_DFDW           VARCHAR2(80),
       JSPZK_DFKHH          VARCHAR2(80),
       constraint PK_JSPZK primary key (JSPZK_PZNM, JSPZK_JGBH)
    )
      

  3.   

    从表结构看根本就没有LONG类型的字段看来是你的代码中有某个变量在入库的时候,被解析为LONG了是不是语句有些问题,或者哪个输入值过长?