ORA-01461: can bind a LONG value only for insert into a LONG column,不是中文长度问题,是ojdbc驱动
【DB server端】Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
解答:查看server极端在版本和字符集,请看这里。
【我的应用linux服务器,oci连接】从前端界面录入中文,插到库里就变了乱码。
解答:查看server端字符集,发现支持中文,而且用pl/sql执行sql,确实是能将中文正确插入的,那就一定是client端有问题喽。
发现,是前端进来的时候,就已经成了乱码。
$.post()如果包含中文参数,那么进行这样的编码,var hello1 = encodeURIComponent($("input[name='fromApps']").val());
后台进行,fromApps = URLDecoder.decode(fromApps, "UTF-8");这样就好了。
【我的本机pc,thin连接】压根儿插不进去中文,报ORA-01461: can bind a LONG value only for insert into a LONG column
解答:网上传说可能是由于字段爆了,但我的情况不属于,因为哪怕我只输入一个中文也有这个问题(字段varchar2(32)是够的),那么又会是什么问题呢?
网民们太强大了,怀疑这是驱动问题,果然的,我用的是ojdbc14.jar(在eclipse .classpath文件中搜ojdbc)!
然后个然后,换成ojdbc6.jar(在test bundle, pom.xml引入),重启就好啦!详情可看这里。