当前位置: 代码迷 >> Oracle管理 >> Windows 2008下 Oracle10g更新含有汉字的列出现错误
  详细解决方案

Windows 2008下 Oracle10g更新含有汉字的列出现错误

热度:33   发布时间:2016-04-24 05:43:46.0
Windows 2008下 Oracle10g更新含有汉字的列出现异常
原来的系统(数据库和Web服务器)在Windows XP下一切正常,后来迁移到一台操作系统为Windows 2008的机器上。出现了一个问题:当我保存或更新的某条数据含有汉字时它就会报出以下异常:
“java.sql.BatchUpdateException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值”。即便该字段为NVARCHAR2(50)只输入一个汉字就会报错。数据库连接切换回原来的数据库地址(XP下的那个),一切都正常。

本人对数据库不甚了解,希望各位大虾能帮我看看这个问题。

------解决方案--------------------
应该是你往一个字符串类型的字段里面传值,但是值的大小超过了4k,这样系统会自动将这个字符串转化为long来存储。于是就出现了往字符串类型的数据库列里面存long的情况,就会报错。你应当检查一下你要保存的数据的大小,以及存储字段是否能放下这么长的字符串
------解决方案--------------------
应该是数据插入的值太大。把你插入的值打印出来。把你的表结构粘贴出来。大家分析分析
  相关解决方案