今天创建表的时候,提示如标题所示的错误,原因如下:
数据库管理器中表的行长度不能超过:
* 在具有 4K 页大小的表空间中,是 4005 字节
* 在具有 8K 页大小的表空间中,是 8101 字节。
* 在具有 16K 页大小的表空间中,是 16293 字节。
* 在具有 32K 页大小的表空间中,是 32677 字节。
而userspace1的默认表空间大小为4kb的。数据页在创建时就确定不能修改。
只能创建一个更大的表空间来存放表,如下 :
1:create tablespace tablespacename pagesize 32k managed by database using (FILE 'D:/tablespacename/cont1' 2000)
在使用上面的命令时,出现了表空间tablespacename的pagesize和与该空间相关联的缓冲池"IBMDEFAULTBP"
的pagesize不匹配。
这是由于在创建表空间时,默认使用的ibmdefaultbp的bufferpool的pagesize是4k,建一个非4k的表空间时就要建一个相对应大小的pagesize的缓冲池,然后使用这个缓冲池。
create bufferpool name size 1000 pagesize 16k
然后再使用
create tablespace tablespacename pagesize 32k managed by database using (FILE 'D:/tablespacename' 10000) bufferpool bp32k