db2字段长度问题

bbamm112 2011-08-18 11:05:09
今天遇到一种情况:
db2数据库中,一个表字段长度为4000,但我插入340多个汉字,就报字符超长错误,插入330汉字,正常。
后来,我把这个表重新建了下(老表改名),该字段长度仍为4000,我插入1000个汉字都正常,但是插入老表,仍旧是340以上报错。
大家知道这是什么原因造成的吗?数据库版本是9.1的吧

这个数据库里的表都是从其他库里导入的。
...全文
957 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
chusi 2011-08-30
  • 打赏
  • 举报
回复
describe这两个表看看
如果是在同一个库里面,两个表定义一模一样,没理由会这样啊
a307487821 2011-08-30
  • 打赏
  • 举报
回复
字段大小 改下
a307487821 2011-08-25
  • 打赏
  • 举报
回复
在 检查下 是 不是 4000
zhou123598521 2011-08-25
  • 打赏
  • 举报
回复
有可能是你两次建的表的表空间不一样吧
qilinzui 2011-08-22
  • 打赏
  • 举报
回复
关注中。。。。。。。
zhaojianmi1 2011-08-18
  • 打赏
  • 举报
回复
你确定字段长度已经是4000了吗
bbamm112 2011-08-18
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhaojianmi1 的回复:]
reorg一下表
[/Quote]
是对这个表重组吗?我执行了,但还是有错误
zhaojianmi1 2011-08-18
  • 打赏
  • 举报
回复
reorg一下表
bbamm112 2011-08-18
  • 打赏
  • 举报
回复
刚查了下 那个数据的字符集是utf-8
bbamm112 2011-08-18
  • 打赏
  • 举报
回复
上面的是错误提示,字符集怎么看?
bbamm112 2011-08-18
  • 打赏
  • 举报
回复
于列 "",在 UPDATE 或 INSERT 语句中的字符串太长。 SQLSTATE=22001

解释:

INSERT 或 UPDATE
语句指定了一个长于可存储在指示列中的最大长度字符串的值。

不能处理该语句。

注释: "<名称>" 可能在或可能不在 SQLCA 中返回,这取决于 INSERT 或
UPDATE 语句的语法。

用户响应:

检查对象列的长度,更正程序或 SQL
语句,以使插入或更新字符串不超出最大长度。

sqlcode : -404

sqlstate : 22001

WWWWA 2011-08-18
  • 打赏
  • 举报
回复
什么提示,此表什么字符集
bbamm112 2011-08-18
  • 打赏
  • 举报
回复
确定是4000,表结构上显示的都是4000

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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