SQL0670N 表的行長度超過 "4005" 位元組的限制。(表空間 "USERSPACE1"。)
今天建立表的時候,提示如標題所示的錯誤,原因如下:
資料庫管理器中表的行長度不能超過:
* 在具有 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