java.sql.SQLException: ORA-01401: inserted value too large for column

a745248674 2011-12-28 10:11:05
java.sql.SQLException: ORA-01401: inserted value too large for column
插入值过大,可是在数据库中设置插入值varchar2(100),
而我在页面中插入的中文字的才18个。
我想请问下,到底要设置多大,或者是其他地方的错误?
...全文
565 39 打赏 收藏 转发到动态 举报
写回复
用AI写文章
39 条回复
切换为时间正序
请发表友善的回复…
发表回复
a745248674 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 25 楼 k010010001 的回复:]
1、你仔细对对看看数据是不是插到别的字段里去了;
2、你先检查下直接写道数据库那个字段里看看能放多少长度的数据。
[/Quote]字段是这个字段我确定的,直接在数据库里写,varchar2(100)的可以写50个中文字,我也试了,是正确的,就是在页面上不行
a745248674 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 xinlan1022 的回复:]
应该是字符集的问题,看看表的字符集和数据库的字符集
[/Quote]可以说的详细点吗?
k010010001 2011-12-28
  • 打赏
  • 举报
回复
1、你仔细对对看看数据是不是插到别的字段里去了;
2、你先检查下直接写道数据库那个字段里看看能放多少长度的数据。
a745248674 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mengjunquan 的回复:]
你确定你插入的值,对准你设置varchar2(100)的那个列吗?
[/Quote]确定,我在后台查看过了的,是对应的
a745248674 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 itzou 的回复:]
你可能是在发现了错误后在把数据库中该字段的长度修改了,但没有重新建表。只是表面上修改了,可能给实际上数据库并没有修改,建议你把表删了,重新再建一次。
[/Quote]表里的数据不能乱动的,我用的是pl/sql改字段长度是很简单的,我改好了也刷新了。
a745248674 2011-12-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 benluobobo 的回复:]
可以试试 直接在数据库中加入
[/Quote]
我在数据库中插入过,插入的字符长度超过16个是没问题的。可是不知道在页面中为忙什么就不行!
天天都在码字 2011-12-28
  • 打赏
  • 举报
回复
最好是把执行插入的那个语句以及参数打印出来
benluobo 2011-12-28
  • 打赏
  • 举报
回复
可以试试 直接在数据库中加入
ITzou 2011-12-28
  • 打赏
  • 举报
回复
你可能是在发现了错误后在把数据库中该字段的长度修改了,但没有重新建表。只是表面上修改了,可能给实际上数据库并没有修改,建议你把表删了,重新再建一次。
ITzou 2011-12-28
  • 打赏
  • 举报
回复
你可能是在发现了错误后在把数据库中该字段的长度修改了,但没有重新建表。只是表面上修改了,可能给实际上数据库并没有修改,建议你把表删了,重新再建一次。
a745248674 2011-12-28
  • 打赏
  • 举报
回复
刚才的问题我补充下,当传入16个中文字的时候就开始报:
java.sql.SQLException: ORA-01401: inserted value too large for column
如果传入的中文字小于16个一切正常,没有空格情况。我打印过字符串的长度。
这个字段在oracle数据库中类型是varchar2(100)。
a745248674 2011-12-28
  • 打赏
  • 举报
回复
刚才的问题我补充下~是当插入16个中文字的时候就开始报:
java.sql.SQLException: ORA-01401: inserted value too large for column
插入小于16个中文字的时候都没问题,这个字段在oracle数据库表中定义的类型是varchar2(100)的
a745248674 2011-12-28
  • 打赏
  • 举报
回复
我在后台看过了插入的值我也比对过了,就是那个字段,而且当我出人的值的长度不超过16个就没问题,一切正常,超过16个就报错
gukuitian 2011-12-28
  • 打赏
  • 举报
回复
看看异常的详细信息,它应该告诉你了:某某字段最大长度是??,你的实际插入值是??;
看看是你说的18 100吗?
是不是有空字符什么的
gukuitian 2011-12-28
  • 打赏
  • 举报
回复
看看异常的详细信息,它应该告诉你了:某某字段最大长度是??,你的实际插入值是??;
看看是你说的18 100吗?
是不是有空字符什么的
ollim 2011-12-28
  • 打赏
  • 举报
回复
jar bug 你工程中用的oracle jar 要和服务器版本一致

建议你从服务器上拷贝一份下来
xinlan1022 2011-12-28
  • 打赏
  • 举报
回复
应该是字符集的问题,看看表的字符集和数据库的字符集
entarovalen 2011-12-28
  • 打赏
  • 举报
回复
我也遇到过同样问题 后来仔细检查是sql语句的问题 LZ可以先确认一下sql语句是否有问题
a745248674 2011-12-28
  • 打赏
  • 举报
回复
是oracle数据库,数据类型是varchar2的,页面中传入的值是String类型的。
香蕉猪 2011-12-28
  • 打赏
  • 举报
回复
你是什么数据库???把类型改改试下...
加载更多回复(18)

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧