This means you are probably joining this row size (3000+) with other data
with the resul that the resulting row is larger than 4026 chars.
Your default temporary tablespace has a page size of 4096 which leads to the
fact that the query result set row size cannot fit in yoyr twmp space page
size.
Create a new system temporary tablespace with a page size of 8k, or16k, or
32k as you think fit and it will solve your problem.
RTFM
1) SQL Reference Manual Appendix. Gives all max size of different objects.
2) Tempspaces are discussed in the Admin. Guide.
Very easy:
D:\SQLLIB\BIN>db2 ? SQL1585n
SQL1585N A system temporary table space with sufficient page
size does not exist.
Explanation:
One of the following conditions could have occurred:
1. The row length of the system temporary table exceeded the
limit that can be accommodated in the largest system
temporary table space in the database.
2. The number of columns required in a system temporary table
exceeded the limit that can be accommodated in the largest
system temporary table space in the database.
The system temporary table space limits depend on its page size.
These values are:
Max Max Page size of
Record Cols temporary
Length table space
----------- ---- ------------
1957 bytes 244 2K
4005 bytes 500 4K
8101 bytes 1012 8K
16293 bytes 1012 16K
32677 bytes 1012 32K
User Response:
Create a system temporary table space of a larger page size
supported, if one does not already exist. If such a table space
already exists, eliminate one or more columns from the system
temporary table. Create separate tables or views, as required,
to hold additional information beyond the limit.
sqlcode : -1585
sqlstate : 54048
Also easy:
Do a Google search on "DB2" and "Temporay tablespace"
or "DB2" and "maximium row size"
HTH, Pierre.
--
Pierre Saint-Jacques
SES Consultants Inc.
514-737-4515
"Bob Stearns" <rs**********@charter.net> a écrit dans le message de news:
Vm***********@fe04.lga...
I changed a varchar(255) to varchar(3000) an started receiving:
Warning: odbc_exec(): SQL error: [IBM][CLI Driver][DB2/LINUX] SQL1585N A
system temporary table space with sufficient page size does not exist.
SQLSTATE=54048 , SQL state 54048 in SQLExecDirect in
/var/www/html/GEM/animalEdit/animals_priv.php on line 207
Where do I find out more about the attributes of my temporary table space
and how to change them? Just RTFM is insufficient given the size of TFM.
As an aside why can't I alter a column downward in size, only upward?
Sure, a table pass might be required, but otherwise it's theoretically
simple, right? Just change the value of syscat.columns.length or rather
the real table sysibm.syscolumns.length under laying
syscat.columns.length.