DB2 中 VARCHAR 类型的最大值
问:
我创建一个库后,create table,追加一列为varchar(8000),系统包错:
SQL0286N 找不到页大小至少为 "8192"、许可使用授权标识 "DB2ADMIN" 的缺省表空间。 SQLSTATE=42727
答
VARCHAR类型的最大值是65535
你的问题不是因为超过了类型限制,而是因为没有合适页面大小的表空间,判断表空间的页面大小是否合适只有一个原则就是
把一个表中所有的列的长度加起来的字节数计算出来,
在DB2表空间的页面有4,8,16,32k四种,只要表空间的页面尺寸大于上面算出来的数值就可以放置该表。
DB2在缺省的时候创建的表空间都是4k的,所以大于4000的表就不能被创建在这种表空间了,要解决你的问题,你需要创建合适页面大小的表空间,在创建其他页面尺寸的表空间之前,你必需还要创建相同页面尺寸的Bufferpool(缓冲池)......