DB2 - Problem description
| Problem IT02754 | Status: Closed |
STORED PROCEDURE EXECUTION RETURNS ERROR SQL20440N WHEN ARGUMENTS ARE SPECIAL REGISTERS AND ARRAY | |
| product: | |
DB2 FOR LUW / DB2FORLUW / A50 - DB2 | |
| Problem description: | |
If you have a stored procedure for which you can pass as an
argument a special register and an array, the stored procedure
may fail with the following error :
SQL20440N Array value with cardinality "1" is too long. The
maximum cardinality allowed is "0".
more repro.sql
drop procedure sp1 @
drop type varray @
drop procedure test @
create type varray as char(12) array[5]@
create procedure sp1(
IN v1 char(50),
IN v2 varray,
OUT v3 BIGINT
)
LANGUAGE SQL
BEGIN
END
@
db2 call sp1(current
time,Array['1234','345','456','789','1021'],?)
SQL20440N Array value with cardinality "1" is too long. The
maximum
cardinality allowed is "0".
db2 call
sp1('18:10:06',Array['1234','345','456','789','1021'],?)
Value of output parameters
--------------------------
Parameter Name : V3
Parameter Value : -
Return Status = 0 | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 LUW * **************************************************************** * PROBLEM DESCRIPTION: * * See Error Description * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 10.5 FP5 or later * **************************************************************** | |
| Local Fix: | |
| Solution | |
The problem was first fixed in DB2 10.5 FP5 | |
| Workaround | |
not known / see Local fix | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 24.06.2014 13.03.2015 13.03.2015 |
| Problem solved at the following versions (IBM BugInfos) | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 10.5.0.5 |
|