最近开发一个J2EE项目,使用的数据库是Oracle,测试过程中发现偶尔会有 ORA-01461 can bind a LONG value only for insert into a LONG column 的异常抛出,一开始以为是数据库字段长度不够引发异常,检查后发现只有当插入数据库的字段是中文时才抛出如上异常,如果是英文则完全正常。难道是数据库编码的问题?忙活了半天,最后发现结果还是如一。
当大家都一筹莫展的时候,突然想到项目开始的准备时期,项目组用了一个oracle驱动ojdbc14.jar,版本是10.1.0.2,而数据库的版本是10.2.0.1,难道因为driver的版本不匹配引起的?想到这一点,上网查了一下,果然发现ojdbc14的10.1.0.2版本存在这样的bug,在oracle的官方网站上都列出来了。于是马上下载10.2.0.1版本的ojdbc14,替换原来的jar包,服务重起,测试,OK啦!