各大老师好,请教一个问题.我设置了一个oracle字段,varchar(3000),然后插入一条数据长度才1000,就报错了.如:net.sf.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
Caused by: java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column如果长度改成500就没问题.如何解决这个问题?请给个简便的方法,已经这是已经上线的系统,不适合再做大的改动.
oracle的长度大小是不是几K的限制啊,可不可以通过调oracle参数来修改.紧急求助,感谢大家.
Caused by: java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column如果长度改成500就没问题.如何解决这个问题?请给个简便的方法,已经这是已经上线的系统,不适合再做大的改动.
oracle的长度大小是不是几K的限制啊,可不可以通过调oracle参数来修改.紧急求助,感谢大家.
VARCHAR2(size [BYTE | CHAR])
Variable-length character string having maximum length size bytes or characters. Maximum size is 4000 bytes or characters, and minimum is 1 byte or 1 character. You must specify size for VARCHAR2.BYTE indicates that the column will have byte length semantics; CHAR indicates that the column will have character semantics.
但你的情况应该不是字段问题,varchar2(4000)足够放1000字节的文本。问题应该在你的客户端。你的sql怎么提交的?同样的sql在服务器上执行结果如何?
Caused by: java.sql.BatchUpdateException: ORA-01461: can bind a LONG value only for insert into a LONG column
以前看见上面这句话,我就是这样解决的。