首页 新闻 会员 周边 捐助

java jdbctemplate update PreparedStatementSetter

0
悬赏园豆:40 [已解决问题] 解决于 2014-11-14 14:12

数据库为oracle.

对数据库操作时用的spring的jdbctemplate.

设置PreparedStatementSetter()的value时,使用setString。

setString("english").运行正确。

当setString("中文")。就报如下错误:

ORA-01461: can bind a LONG value only for insert into a LONG column

ye_quiet的主页 ye_quiet | 初学一级 | 园豆:166
提问于:2014-11-11 16:23
< >
分享
最佳答案
0

原因大概如下:
1、插入到字符串长度大于字段字节。
2、插入到表中的记录的某个字段数据的实际长度大于字段个字节(如果是UTF-8,则是1333个字节);或者是插入的记录中有两个或两个以上长度大于字段字节的字符串。
3、数据库与客户端的JDBC驱动不匹配。

收获园豆:40
锐洋智能 | 初学一级 |园豆:197 | 2014-11-12 13:14

谢谢你呀,确实是JDBC的原因

ye_quiet | 园豆:166 (初学一级) | 2014-11-14 14:12
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册