SQL Error Code
SQL Error Code
iSeries
ERserver
iSeries
Copyright International Business Machines Corporation 1998, 2002. All rights reserved. US Government Users Restricted Rights Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Chapter 1. DB2 Universal DatabaseTM for iSeries SQL Messages and Codes . . . 1
SQLCODEs and SQLSTATEs SQLCODEs . . . . . SQLSTATEs. . . . . SQL State Class Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 2 SQLSTATE Classes and Codes . . . . . . . . 5
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes . . . 23
SQL Messages Reference . . . . . . . . . . 23 Using Display Message Description (DSPMSGD) to display a message description . . . . . . 23 Using the online reference to display message descriptions . . . . . . . . . . . . . 23
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes . . . 5
iii
iv
Chapter 1. DB2 Universal DatabaseTM for iSeries SQL Messages and Codes
SQLCODEs and SQLSTATEs
SQL returns error codes to the application program when an error occurs. This reference lists SQLCODEs and their associated SQLSTATEs. To find a specific Message ID, SQLCODE, or SQLSTATE, use the SQL message finder. SQLCODEs and SQLSTATEs are returned in the SQLCA structure. SQLSTATE is an additional return code that provides application programs with common return codes for common error conditions found among the IBMTM relational database systems. SQLSTATEs are particularly useful when handling errors in distributed SQL applications. If SQL encounters an error while processing the statement, the first characters of the SQLSTATE are not 00, 01, or 02, and the SQLCODE is a negative number. If SQL encounters a warning but valid condition while processing your statement, the SQLCODE is a positive number and bytes one and two of the SQLSTATE are 01. If your SQL statement is processed without encountering an error or warning condition, the SQLCODE returned is 0 and the SQLSTATE is 00000.
SQLCODEs
Each SQLCODE that is recognized on IBM iSeries has a corresponding message in the message file QSQLMSG. Directions for finding a SQLCODE in the message file along with the text for these messages are available at Chapter 3, DB2 Universal Database for iSeries SQL Messages and Codes, on page 23. The message identifier for any SQLCODE is constructed by appending the absolute value (5 digits) of the SQLCODE to SQ and changing the third character to L if the third character is 0. For example, if the SQLCODE is 30070, the message identifier is SQ30070. If the SQLCODE is -0204, the message identifier is SQL0204. When running in debug mode, SQL places a message corresponding to the SQLCODE in the job log for each SQL statement run. If you are not running in debug mode and get a negative SQLCODE, you will get a message in the job log also. An application can also send the SQL message corresponding to any SQLCODE to the job log by specifying the message ID and the replacement text on the CL commands Retrieve Message (RTVMSG), Send Program Message (SNDPGMMSG), and Send User Message (SNDUSRMSG).
SQLSTATEs
For a list of SQLSTATEs that are used by the DB2 family of products, see DB2 Product Family. When an SQLSTATE other than 00000 is returned from a non-DB2 UDB for iSeries application server, DB2 UDB for iSeries attempts to map the SQLSTATE to a DB2 UDB for iSeries SQLCODE and message:
v If the SQLSTATE is not recognized by DB2 UDB for iSeries, the common message for the class is issued. v If the SQLSTATE and SQLCODE correspond to a single DB2 UDB for iSeries SQLCODE, DB2 UDB attempts to convert the tokens returned in SQLERRM to the replacement data expected by the SQL message. If an error occurs while converting the tokens: The SQLCA is not changed. A common message for the class code of the SQLSTATE is issued.
For subcodes, refer to... Table 30 (See Table 31 on page 19) Table 31 (See Table 32 on page 19) Table 32 (See Table 33 on page 20) Table 33 (See Table 34 on page 20) Table 34 (See Table 35 on page 21) Table 35 (See Table 36 on page 21) Table 36 (See Table 37 on page 21)
Errors
Invalid Application State SQL or Product Limit Exceeded Object Not in Prerequisite State Miscellaneous SQL or Product Error Resource Not Available or Operator Intervention System Error
Chapter 1. DB2 Universal DatabaseTM for iSeries SQL Messages and Codes
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
SQLSTATE Classes and Codes
DB2 UDB for iSeries returns SQLSTATE codes to the applications that access it through SQL. SQLSTATE codes indicate whether the database operation was successfully performed or whether DB2 returned warnings or errors to the application. SQLSTATEs can be associated with one or more SQLCODEs. The tables below provide descriptions of SQLSTATE codes that could be returned to applications by DB2 UDB for iSeries.
Table 2. Class Code 00: Unqualified Successful Completion SQLSTATE Value 00000 Meaning Execution of the SQL statement was successful and did not result in any type of warning or exception condition. SQLCODE Values +000
Table 3. Class Code 01: Warning SQLSTATE Value 01002 01003 01004 01005 01006 01007 0100A 0100C 0100D 0100E 01503 01504 01505 01506 01515 Meaning A DISCONNECT error occurred. SQLCODE Values +596
Null values were eliminated from the argument of a column function. +000 The value of a string was truncated when assigned to a host variable. +000, +445, -20141 Insufficient number of entries in an SQLDA. A privilege was not revoked. A privilege was not granted. The query expression of the view is too long for the information schema. One or more ad hoc result sets were returned from the procedure. The cursor that was closed has been re-opened on the next result set within the chain. The procedure returned too many result sets. The number of result columns is larger than the number of host variables provided. The UPDATE or DELETE statement does not include a WHERE clause. The statement was not executed because it is unacceptable in this environment. +239 +569 +570 +178 +466 +467 +464, +20206 +000, +030 +000, +088 +084
An adjustment was made to a DATE or TIMESTAMP value to correct +000 an invalid date resulting from an arithmetic operation. The null value has been assigned to a host variable, because the non-null value of the column is not within the range of the host variable. +304
Table 3. Class Code 01: Warning (continued) SQLSTATE Value 01517 01519 01520 01522 01526 01528 01532 01534 01535 01536 01539 01542 01544 Meaning A character that could not be converted was replaced with a substitute character. The null value has been assigned to a host variable, because a numeric value is out of range. The null value has been assigned to a host variable, because the characters cannot be converted. The local table or view name used in the CREATE ALIAS statement is undefined. Isolation level has been escalated. SQLCODE Values +335 +802 +331 +403 +595
WHERE NOT NULL is ignored, because the index key cannot contain +645 null values. An undefined object name was detected. The string representation of a datetime value is invalid. An arithmetic operation on a date or timestamp has a result that is not within the valid range of dates. During remote bind where existence checking is deferred, the server-name specified does not match the current server. Connection is successful but only SBCS characters should be used. Authorization ID does not have the privilege to perform the operation as specified. The null value has been assigned to a host variable, because a substring error occurred; for example, an argument of SUBSTR is out of range. An unqualified column name has been interpreted as a correlated reference. A mixed data value is improperly formed. The authorization ID does not have the privilege to perform the specified operation on the identified object. Too many host variables have been specified on SELECT INTO or FETCH. The null value has been assigned to a host variable, because division by zero occurred. The null value has been assigned to a host variable, because a miscellaneous data exception occurred; for example, the character value for the CAST, DECIMAL, FLOAT, or INTEGER scalar function is invalid; a floating-point NAN (not a number) or invalid data in a packed decimal field was detected. The table was created but not journaled. The unit of work was committed or rolled back, but the outcome is not fully known at all sites. An ALTER TABLE may cause data truncation. Insufficient number of entries in an SQLDA for ALL information (i.e. not enough descriptors to return the distinct name). The DATALINK value may not be valid because the table is in reconcile pending or reconcile is not a possible state. +204 +180, +181 +183 +114 +863 +552 +138
+012 +191, +304, +802 +551 +326 +802 +304, +420, +802
Table 3. Class Code 01: Warning (continued) SQLSTATE Value 01631 01634 01643 01646 01647 01Hxx Meaning The external program could not be updated with the associated procedure or function attributes. SQLCODE Values +7035
The distinct data type name is too long and cannot be returned in the +7036 SQLDA. The short name is returned instead. of queries. Assignment to SQLCODE or SQLSTATE variable does not signal a warning or error. A result sets could not be returned because the cursor was closed. A DB2SQL BEFORE trigger changed to DB2ROW. Valid warning SQLSTATEs returned by a user-defined function or external procedure CALL. +385 +7050 +7051 +462
Table 4. Class Code 02: No Data SQLSTATE Value 02000 Meaning One of the following exceptions occurred: v The result of the SELECT INTO statement or the subselect of the INSERT statement was an empty table. v The number of rows identified in the searched UPDATE or DELETE statement was zero. v The position of the cursor referenced in the FETCH statement was after the last row of the result table. v The fetch orientation is invalid. 02001 No additional result sets returned. +387 SQLCODE Values +100
Table 5. Class Code 07: Dynamic SQL Error SQLSTATE Value 07001 07002 07003 07004 07005 07006 Meaning The number of host variables is not the same as the number of parameter markers. The call parameter list or control block is invalid. The statement identified in the EXECUTE statement is a select-statement, or is not in a prepared state. The USING clause is required for dynamic parameters. The statement name of the cursor identifies a prepared statement that cannot be associated with a cursor. An input host variable, transition variable, or parameter marker cannot be used, because of its data type. SQLCODE Values -313 -804 -518 -313 -517 -301
Table 6. Class Code 08: Connection Exception SQLSTATE Value 08001 08002 08003 Meaning The application requester is unable to establish the connection. The connection already exists. The connection does not exist. SQLCODE Values -30080, -30082, -30089 -842 -843, -900
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
Table 6. Class Code 08: Connection Exception (continued) SQLSTATE Value 08004 08501 Meaning The application server rejected establishment of the connection. A DISCONNECT is not allowed when the connection uses an LU6.2 protected conversation. SQLCODE Values -30060, -30061 -858
Table 7. Class Code 09: Triggered Action Exception SQLSTATE Value 09000 Meaning A triggered SQL statement failed. SQLCODE Values -723
Table 8. Class Code 0A: Feature Not Supported SQLSTATE Value 0A001 Meaning The CONNECT statement is invalid, because the process is not in the connectable state. SQLCODE Values -752
Table 9. Class Code 0E: Invalid Schema Name List Specification SQLSTATE Value 0E000 Meaning The schema name list in a SET PATH statement is not valid. SQLCODE Values -329
Table 10. Class Code 0F: Invalid Token SQLSTATE Value 0F001 Meaning The locator value does not currently represent any value. SQLCODE Values -423
Table 11. Class Code 0K: Resignal When Handler Not Active SQLSTATE Value 0K000 Meaning A RESIGNAL was issued but a handler is not active. SQLCODE Values -787
Table 12. Class Code 20: Case Not Found for Case Statement SQLSTATE Value 20000 Meaning The case was not found for the CASE statement. SQLCODE Values -773
Table 13. Class Code 21: Cardinality Violation SQLSTATE Value 21000 Meaning The result of a SELECT INTO is a result table of more than one row, or the result of the subquery of a basic predicate is more than one value. SQLCODE Values -811
Table 14. Class Code 22: Data Exception SQLSTATE Value 22001 Meaning Character data, right truncation occurred; for example, an update or insert value is a string that is too long for the column, or a datetime value cannot be assigned to a host variable, because it is too small. A null value, or the absence of an indicator parameter was detected; for example, the null value cannot be assigned to a host variable, because no indicator variable is specified. A numeric value is out of range. SQLCODE Values -302, -303, -404, -433 -305
22002
22003 22004
A null value cannot returned from a procedure that is defined as PARAMETER -305 STYLE GENERAL or a type-preserving method that is invoked with a non-null argument. The fetch orientation is invalid. An invalid datetime format was detected; that is, an invalid string representation or value was specified. Datetime field overflow occurred; for example, an arithmetic operation on a date or timestamp has a result that is not within the valid range of dates. A substring error occurred; for example, an argument of SUBSTR is out of range. Division by zero is invalid. The character value for the CAST, DECIMAL, FLOAT, or INTEGER scalar function is invalid. The LIKE predicate has an invalid escape character. A character is not in the coded character set. A parameter or host variable value is invalid. A NUL-terminated input host variable or parameter did not contain a NUL. The LIKE predicate string pattern contains an invalid occurrence of an escape character. The length control field of a variable length string is negative or greater than the maximum. The string representation of a name is invalid. A mixed data value is invalid. The value for a ROWID or reference column is not valid. -231 -180, -181 -183 -138 -802 -420 -130 -330, -331 -302, -304, -406, -802 -302 -130 -311 -188 -191, -304, -406, -802 -399
22006 22007 22008 22011 22012 22018 22019 22021 22023 22024 22025 22501 22503 22504 22511 22522 22524
A CCSID value is not valid at all, not valid for the data type or subtype, or not -189 valid for the encoding scheme. Character conversion resulted in truncation -334
Table 15. Class Code 23: Constraint Violation SQLSTATE Value 23001 23502 23503 Meaning The update or delete of a parent key is prevented by a RESTRICT update or delete rule. An insert or update value is null, but the column cannot contain null values. The insert or update value of a foreign key is invalid. SQLCODE Values -531, -532 -407 -530
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
Table 15. Class Code 23: Constraint Violation (continued) SQLSTATE Value 23504 23505 23511 23512 23513 23515 23522 23520 Meaning SQLCODE Values
The update or delete of a parent key is prevented by a NO ACTION update or -531, -532 delete rule. A violation of the constraint imposed by a unique index or a unique constraint -803 occurred. A parent row cannot be deleted, because the check constraint restricts the deletion. The check constraint cannot be added, because the table contains rows that do not satisfy the constraint definition. The resulting row of the INSERT or UPDATE does not conform to the check constraint definition. -543 -544 -545
The unique index could not be created or unique constraint added, because the -603 table contains duplicate values of the specified key. The range of values for the identity column or sequence is exhausted. The foreign key cannot be defined, because all of its values are not equal to a parent key of the parent table. -359 -667
Table 16. Class Code 24: Invalid Cursor State SQLSTATE Value 24501 24502 24504 24506 24507 24513 24514 Meaning The identified cursor is not open. The cursor identified in an OPEN statement is already open. The cursor identified in the UPDATE, DELETE, SET, or GET statement is not positioned on a row. The statement identified in the PREPARE is the statement of an open cursor. FETCH CURRENT was specified, but the current row is deleted, or a value of an ORDER BY column of the current row has changed. FETCH NEXT, PRIOR, CURRENT, or RELATIVE is not allowed, because the cursor position is not known. A previous error has disabled this cursor. SQLCODE Values -501, -507 -502 -508 -519 -226 -227 -906
Table 17. Class Code 25: Invalid Transaction State SQLSTATE Value 25000 25006 25501 Meaning An update operation is invalid for the application execution environment. Update operation not allowed. The statement is only allowed as the first statement in a unit of work. SQLCODE Values -30090 -817 -428
Table 18. Class Code 26: Invalid SQL Statement Identifier SQLSTATE Value 26501 26510 Meaning The statement identified does not exist. The statement name specified in a DECLARE CURSOR already has a cursor allocated to it. SQLCODE Values -514, -516 -5023
10
Table 19. Class Code 27: Triggered Data Change Violation SQLSTATE Value 27000 Meaning An attempt was made to change the same row in the same table more than once in the same SQL statement. SQLCODE Values -907
Table 20. Class Code 28: Invalid Authorization Specification SQLSTATE Value 28000 Meaning Authorization name is invalid. SQLCODE Values -113, -188
Table 21. Class Code 2D: Invalid Transaction Termination SQLSTATE Value 2D522 2D528 2D529 Meaning COMMIT and ROLLBACK are not allowed in an ATOMIC Compound statement. Dynamic COMMIT or COMMIT ON RETURN procedure is invalid for the application execution environment Dynamic ROLLBACK is invalid for the application execution environment. SQLCODE Values -774 -30090, -426 -30090, -427
Table 22. Class Code 2E: Invalid Connection Name SQLSTATE Value 2E000 Meaning Connection name is invalid. SQLCODE Values -113, -188, -251
Table 23. Class Code 2F: SQL Function Exception SQLSTATE Value 2F002 2F003 2F004 2F005 Meaning The external function attempted to modify data, but the function was not defined as MODIFIES SQL DATA. The statement is not allowed in a function or procedure. SQLCODE Values -577 -751
The external function attempted to read data, but the function was not defined -579 as READS SQL DATA. The function did not execute a RETURN statement. -578
Table 24. Class Code 34: Invalid Cursor Name SQLSTATE Value 34000 Meaning Cursor name is invalid. SQLCODE Values -504
Table 25. Class Code 38: External Function Exception SQLSTATE Value 38xxx 38001 Meaning Valid error SQLSTATEs returned by a user-defined function, external procedure, or trigger. The external routine is not allowed to execute SQL statements. SQLCODE Values -443 -487
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
11
Table 25. Class Code 38: External Function Exception (continued) SQLSTATE Value 38002 38003 38004 38501 Meaning SQLCODE Values
The external routine attempted to modify data, but the routine was not defined -577 as MODIFIES SQL DATA. The statement is not allowed in a routine. -751
The external routine attempted to read data, but the routine was not defined as -579 READS SQL DATA. Error occurred while calling a user-defined function, external procedure, or trigger (using the SIMPLE CALL or SIMPLE CALL WITH NULLS calling convention). -443, -4302
Table 26. Class Code 39: External Function Call Exception SQLSTATE Value 39001 39004 Meaning A user-defined function has returned an invalid SQLSTATE. A null value is not allowed for an IN or INOUT argument when using PARAMETER STYLE GENERAL. SQLCODE Values -463 -470, -20205
Table 27. Class Code 3B: Savepoint Exception SQLSTATE Value 3B001 3B002 3B501 3B502 Meaning The savepoint is not valid. The maximum number of savepoints has been reached. A duplicate savepoint name was detected. A RELEASE or ROLLBACK TO SAVEPOINT was specified, but a savepoint does not exist. SQLCODE Values -880 -20112 -881 -882
Table 28. Class Code 3C: Ambiguous Cursor Name SQLSTATE Value 3C000 Meaning The cursor name is ambiguous. SQLCODE Values -051
Table 29. Class Code 42: Syntax Error or Access Rule Violation SQLSTATE Value 42501 42502 42506 42601 Meaning SQLCODE Values
The authorization ID does not have the privilege to perform the specified -551 operation on the identified object. The authorization ID does not have the privilege to perform the operation as specified. Owner authorization failure occurred. A character, token, or clause is invalid or missing. -552 -30053 -007, -029, -097, -104, -109, -115, -128, -199, -441, -491 -113, -251 -010 -103, -105
A character that is invalid in a name has been detected. An unterminated string constant has been detected. An invalid numeric or string constant has been detected.
12
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42605 42606 42607 42609 42610 42611 42612 42613 42614 42616 42617 42618 42620 42621 42622 42623 42625 42629 42631 42701 42702 42703 42704 42705 42707 42709 42710 42711 42712 42718 42723 42724 Meaning The number of arguments specified for a scalar function is invalid. An invalid hexadecimal constant has been detected. An operand of a column function is invalid. All operands of an operator or predicate are parameter markers. A parameter marker is not allowed. The column or argument definition is invalid. The statement string is an SQL statement that is not acceptable in the context in which it is presented. Clauses are mutually exclusive. A duplicate keyword is invalid. Invalid options are specified. The statement string is blank or empty. A host variable is not allowed. Read-only SCROLL was specified with the UPDATE clause. The check constraint or generated column expression is invalid. A name or label is too long. A DEFAULT clause cannot be specified. A CASE expression is invalid. Parameter names must be specified for SQL routines. An expression must be specified on a RETURN statement in an SQL function. A duplicate column name in an INSERT or UPDATE statement was detected. A column reference is ambiguous, because of duplicate names. An undefined column or parameter name was detected. An undefined object or constraint name was detected. An undefined server-name was detected. A column name in ORDER BY does not identify a column of the result table. A duplicate column name in a PRIMARY, UNIQUE, or FOREIGN KEY clause was detected. A duplicate object or constraint name was detected. SQLCODE Values -170 -110 -112 -417 -184, -418 -106, -604 -084 -628 -637 -5047 -198 -090, -312, -5012, -5024 -228 -546 -107 -373 -580 -078 -057 -121 -203 -205, -206, -213, -378, -379, -5001 -204 -950 -208 -537 -456, -601
A duplicate column name was detected in the object definition or ALTER -612 TABLE statement. A duplicate table designator was detected in the FROM clause. or REFERENCING clause of a CREATE TRIGGER statement. The local server name is not defined. A function with the same signature already exists in the schema. -212 -250 -454
Unable to access an external program used for a user-defined function or -444, -4300, -4303, -4304, a procedure. -4306
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
13
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42725 Meaning A routine was referenced directly (not by either signature or by specific instance name), but there is more than one specific instance of that routine. Duplicate names for common table expressions were detected. A duplicate schema name in the SET CURRENT PATH statement was detected. A procedure with the specified name cannot be added to the schema because the procedure overloading is not allowed in this database and there is already a procedure with the same name in the schema. A duplicate parameter-name was detected. The label specified on the GOTO, ITERATE, or LEAVE statement is not found or not valid. The condition specified in the handler is not defined. A duplicate column name or unanmed column was specified in a DECLARE CURSOR statement of a FOR statement. The number of insert or update values is not the same as the number of columns. SQLCODE Values -476
A column reference in the SELECT or HAVING clause is invalid, because -119, -122 it is not a grouping column; or a column reference in the GROUP BY clause is invalid. The result expressions in a CASE expression are not compatible. An integer in the ORDER BY clause does not identify a column of the result table. -581 -125
42804 42805 42806 42807 42808 42809 42810 42811 42812 42813 42814 42815 42816 42817 42818
A value cannot be assigned to a host variable, because the data types are -303 not compatible. The INSERT, UPDATE, or DELETE is not permitted on this object. A column identified in the INSERT or UPDATE statement is not updateable. The identified object is not the type of object to which the statement applies. A view is identified in a FOREIGN KEY clause. The number of columns specified is not the same as the number of columns in the SELECT clause. A library name is required in CREATE TABLE in the system naming mode. WITH CHECK OPTION cannot be used for the specified view. The column cannot be dropped, because it is the only column in the table. The data type, length, scale, value, or CCSID is invalid. A datetime value or duration in an expression is invalid. The column cannot be dropped, because RESTRICT was specified and a view or constraint is dependent on the column. The operands of an operator or function are not compatible. -150, -155 -151 -152, -156, -159 -157 -158 -5002 -160 -195 -060, -171, -451, -713, -5005, -846 -182, -187 -196 -131, -401
14
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42819 42820 42821 42822 42823 42824 42825 42826 42827 42828 42829 42830 42832 42833 42834 42835 42836 42837 42841 42842 42845 42846 42847 42848 42850 42851 42852 Meaning An operand of an arithmetic operation or an operand of a function that requires a number is not a number. A numeric constant is too long, or it has a value that is not within the range of its data type. A data type for an assignment to a column is not compatible with the column data type. An expression in the ORDER BY clause or GROUP BY clause is not valid. Multiple columns are returned from a subquery that only allows one column. An operand of LIKE is not a string, or the first operand is not a column. The rows of UNION, INTERSECT, EXCEPT, or VALUES do not have compatible columns. The rows of UNION, INTERSECT, EXCEPT, or VALUES do not have the same number of columns. The table identified in the UPDATE or DELETE is not the same table designated by the cursor. SQLCODE Values -402 -405, -410 -408 -214 -412 -132, -414 -415 -421 -509
The table designated by the cursor of the UPDATE or DELETE statement -510, -520 cannot be modified, or the cursor is read-only. FOR UPDATE OF is invalid, because the result table designated by the cursor cannot be modified. The foreign key does not conform to the description of the parent key. The operation is not allowed on system objects. The qualified object name is inconsistent with the naming option. SET NULL cannot be specified, because the foreign key does not allow null values. Cyclic references cannot be specified between named derived tables. The specification of a recursive, named derived table is invalid. The column cannot be altered, because its attributes are not compatible with the current column attributes. A parameter marker can not be a user-defined type or reference type. A column definition is invalid, because a specified option is inconsistent with the column description. An invalid use of a NOT DETERMINISTIC or EXTERNAL ACTION function was detected. Cast from source type to target type is not supported. An OVRDBF command was issued for one of the referenced files, but one of the parameters is not valid for SQL. Isolation level CS WITH KEEP LOCKS is not allowed. A logical file is invalid in CREATE VIEW. A referenced file is not a table, view, or physical file. The privileges specified in GRANT or REVOKE are invalid or inconsistent. (For example, GRANT ALTER on a view.) -511 -538 -607 -5016 -629 -341 -346 -190 -432 -683 -583 -461 -7002 -194 -7010 -7011 -557
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
15
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42855 Meaning The assignment of the LOB to this host variable is not allowed. The target host variable for all fetches of this LOB value for this cursor must be a locator or LOB variable. A referenced file has more than one format. Operation cannot be applied to the specified object. The CHECK constraint cannot be dropped because it is enforcing a primary key to be not null. An extended dynamic statement cannot be executed against a non-extended dynamic package. An undefined host variable in REXX has been detected. The data type in either the RETURNS clause or the CAST FROM clause in the CREATE FUNCTION statement is not appropriate for the data type returned from the sourced function or RETURN statement in the function body. FETCH statement clauses are incompatible with the cursor definition. An invalid number of rows was specified in a multiple-row FETCH. ALWCPYDTA(*NO) was specified, but a copy is necessary to implement the select-statement. SQLCODE Values -392
The schema-name portion of a qualified name must be the same name as -5051 the schema name. Different CCSIDs for keys in CREATE INDEX are only allowed with a *HEX sort sequence. The column name cannot be qualified. An invalid function or procedure name was used with the EXTERNAL keyword. -7024 -197 -449
-492 The data type of one or more input parameters in the CREATE FUNCTION statement is not appropriate for the corresponding data type in the source function. The CAST TO and CAST FROM data types are incompatible, or would always result in truncation of a fixed string. Invalid use of a function. The specific instance name qualifier is not equal to the function name qualifier. No function was found with a matching signature. No function or procedure was found with the specified name and compatible arguments. The number of input parameters specified on a CREATE FUNCTION statement does not match the number provided by the function named in the SOURCE clause. The IN, OUT, or INOUT parameter attributes do not match. The function is not valid in the context where it occurs. The table does not have a primary key. The table already has a primary key. -453 -391 -455 -458 -440 -483
16
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42890 Meaning SQLCODE Values
A column list was specified in the references clause, but the identified -573 parent table does not have a unique constraint with the specified column names. A duplicate UNIQUE constraint already exists. The referential constraint and trigger are not allowed, because the DELETE rule and trigger event are not compatible. The object or constraint cannot be dropped or authoritites cannot be revoked from the object, because other objects are dependent on it. The DEFAULT value is invalid. -541 -675 -478, -616 -574
For static SQL, an input host variable cannot be used, because its data -301 type is not compatible with the parameter of a procedure or user-defined function. The ASP number is invalid. An invalid correlated reference or transition table was detected in a trigger. Correlated references and column names are not allowed for triggered actions with the FOR EACH STATEMENT clause. Unable to access a file referenced by a file reference variable. The number specified in an SQL statement is out of the valid range. The name specified on a rename is not valid. Only one ROWID or IDENTITY column can be specified for a table. A ROWID or reference column specification is not valid. -7026 -696 -697 -452 -490 -7029 -372 -771
42896 42898 42899 428A1 428B7 428B8 428C1 428C7 428C9 428D1 428D2 428D4 428D5 428D6 428D7 428D8 428EK 428F1 428F2 42903 42904 42906 42907
A ROWID or IDENTITY column cannot be specified as the target column -798 of an INSERT or UPDATE. Unable to access a file referenced by a DATALINK value. AS LOCATOR cannot be specified for a non-LOB parameter. A cursor specified in a FOR statement cannot be referenced in an OPEN, CLOSE, or FETCH statement. The ending label does not match the beginning label. UNDO is not allowed for NOT ATOMIC compound statements. The condition value is not allowed. The sqlcode or sqlstate variable declaration is not valid. The qualifier for a declared global temporary table name or an index on a declared global temporary table must be SESSION An SQL TABLE function must return a table result. An integer expression must be specified on a RETURN statement in an SQL procedure. A WHERE, VALUES, GROUP BY, HAVING, or SET clause includes an invalid reference, such as a column or OLAP function. The SQL procedure was not created because of a compile error. A column function in a subquery of a HAVING clause includes an expression that applies an operator to a correlated reference. The string is too long. -358 -398 -776 -778 -780 -782 -785 -079 -20120 -058 -120 -7032 -133 -134
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
17
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42908 42909 42910 42911 42912 42914 42917 42918 42919 42922 42923 42924 42926 42930 42932 42937 42939 42944 42961 42962 42968 42969 42970 42971 42972 42977 42978 42981 Meaning The statement does not include a required column list. CREATE VIEW includes an operator or operand that is not valid for views. For example, UNION or UNION ALL. The statement is not allowed in an ATOMIC Compound statement. A decimal divide operation is invalid, because the result would have a negative scale. SQLCODE Values -153 -154 -775 -419
A column cannot be updated, because it is not identified in the UPDATE -503 clause of the select-statement of the cursor. The DELETE is invalid, because a table referenced in a subquery can be affected by the operation. The object cannot be explicitly dropped. A user-defined data type cannot be created with a system-defined data type name (for example, INTEGER). Nested compound statements are not allowed. DROP SCHEMA cannot be executed under commitment control. Program or package must be recreated to reference an alias-name. An alias resolved to another alias rather than a table or view at the remote location. Locators are not allowed with COMMIT(*NONE). The same column was identified in FOR UPDATE OF and ORDER BY. The program preparation assumptions are incorrect. The parameter must not have a subtype of mixed. The object cannot be created, because the specified identifier is reserved for system use. The authorization ID cannot be both an owner and primary group owner. The server name specified does not match the current server. -536 -658 -473 -777 -5003 -7033 -513 -7034 -5021 -30052 -192 -457, -707 -7028 -114
A long column, LOB column, structured type column or datalink column -350 cannot be used in an index, a key, or a constraint. The connection failed, because there is no current software license. The package was not created and the current unit of work was rolled back, because of internal limitations or an invalid section number. COMMIT HOLD or ROLLBACK HOLD is not allowed to a non-sql400. application server. SQL statements cannot be executed under commitment control, because DFM is already active under commitment control to another system. -9012 -917 -7018 -7017
An expression in a join-condition references columns in more than one of -338 the operand tables. The authorization ID cannot be changed when connecting to the local server. An indicator variable is not a small integer. CREATE SCHEMA is not allowed if changes are pending in the unit of work. -7022 -080 -7941
18
Table 29. Class Code 42: Syntax Error or Access Rule Violation (continued) SQLSTATE Value 42984 Meaning SQLCODE Values
The privilege cannot be granted to the view, because *OBJOPR or -7027 *OBJMGT authority exists on a dependent view or table, and the grantee does not have *ALLOBJ or the specified privilege on the dependent table or view. The statement is not allowed in a routine. The statement is not allowed in a trigger. A unique index or unique constraint is not allowed because the key columns are not a superset of the partitioned key columns. The requested function does not apply to global temporary tables. The partition key cannot be a datatime or floating-point column. A referential constraint is not allowed because the foreign key columns are not a superset of the partitioned key columns or the node group is not the same as the parent table. Rows from a distributed table cannot be redistributed because the table contains a datalink column with FILE LINK CONTROL. -577, -579, -751 -751 -270 -526 -328 -256
-7037
A referential constraint with a delete rule of CASCADE is not allowed on -7038 a table with a DataLink column with FILE LINK CONTROL. RETURN must be the last SQL statement of the atomic compound statement within an SQL row or table function. -20148
Table 30. Class Code 44: WITH CHECK OPTION Violation SQLSTATE Value 44000 Meaning The INSERT or UPDATE is not allowed, because a resulting row does not satisfy the view definition. SQLCODE Values -161
Table 31. Class Code 46: Java Errors SQLSTATE Value 46001 46002 46003 46007 46008 46501 Meaning The URL specified on an install or replace of a jar procedure did not identify a valid jar file. The jar name specified on the install, replace, or remove of a java procedure is not valid. The jar file cannot be removed, a class is in use by a procedure. A Java function has a Java method with an invalid signature. A Java function could not map to a single Java method. The install or remove jar procedure for <jar-id> specified the use of a deployment descriptor. SQLCODE Values -20200 -20201 -20202 -20203 -20204 -20207
Table 32. Class Code 51: Invalid Application State SQLSTATE Value 51002 51003 Meaning The package corresponding to an SQL statement execution request was not found. Consistency tokens do not match. SQLCODE Values -805 -818
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
19
Table 32. Class Code 51: Invalid Application State (continued) SQLSTATE Value 51004 51009 51015 51021 51036 51037 Meaning An address in the SQLDA is invalid. COMMIT or ROLLBACK is not allowed, because commitment control has not been started. An attempt was made to execute a section that was found to be in error at bind time. SQL statements cannot be executed until the application process executes a rollback operation. An implicit connect to a remote server is not allowed because a savepoint is outstanding. The operation is not allowed because a trigger has been marked inoperative. SQLCODE Values -822 -7007 -525 -918 -20110 -7048
Table 33. Class Code 54: SQL or Product Limit Exceeded SQLSTATE Value 54001 54002 54004 54005 54006 54008 54009 54010 54011 54018 54019 54021 54023 54028 54035 54038 54044 Meaning The statement is too long or too complex. A string constant is too long. The statement has too many table names or too many items in a SELECT or INSERT list. The sort key is too long, or has too many columns. The result of concatenation is too long. SQLCODE Values -101 -102 -129, -840 -136 -137
The key is too long, a column of the key is too long, or the key many columns. -602, -613, -614, -631 Too many users were specified in GRANT or REVOKE. The record length of the table is too long. Too many columns were specified for a table or view. The row is too long. -5017 -101 -101, -680 -809
The maximum number of late descriptors has been exceeded, probably because -871 too many different CCSIDs were used. Too many constraints, or the size of the constraint is too large. The limit for the number of parameters or arguments for a function or a procedure has been exceeded. The maximum number of concurrent LOB handles has been reached. An internal object limit exceeded. Maximum depth of nested functions, procedures, or triggers was exceeded. A multiple-byte (UCS-2) sort sequence table cannot be supprted in DRDA because it is too large.
TM
Table 34. Class Code 55: Object Not in Prerequisite State SQLSTATE Value 55005 55006 Meaning Recursion is not supported to a non-sql400. application server. The object cannot be dropped, because it is currently in use by the same application process. SQLCODE Values -145 -615, -950
20
Table 34. Class Code 55: Object Not in Prerequisite State (continued) SQLSTATE Value 55007 55018 55019 55029 55042 55050 Meaning The object cannot be altered, because it is currently in use by the same application process. The schema cannot be dropped, because it is in the library list. The table is in an invalid state for the operation. Local program attempted to connect to a remote database. The alias is not allowed because it identifies a single member of a multiple member file. An object cannot be created into a protected schema. SQLCODE Values -951 -7006 -7008 -862 -7030 -7052
Table 35. Class Code 56: Miscellaneous SQL or Product Error SQLSTATE Value 56084 56095 Meaning An unsupported SQLTYPE was encountered in a select-list or input-list. A bind option is invalid. SQLCODE Values -351, -352 -30104
Table 36. Class Code 57: Resource Not Available or Operator Intervention SQLSTATE Value 57005 57006 57007 57011 57012 57013 57014 57017 57033 57042 57043 57050 Meaning The statement cannot be executed, because a utility or a governor time limit was exceeded. The object cannot be created, because a DROP or CREATE is pending. The object cannot be used, because a DROP or ALTER is pending. Virtual storage or database resource is not available. A non-database resource is not available. This will not affect the successful execution of subsequent statements. A non-database resource is not available. This will affect the successful execution of subsequent statements. Processing was canceled as requested. Character conversion is not defined. Deadlock or timeout occurred without automatic rollback. DDM recursion has occurred. A local SQL application program cannot be executed on an application server. The file server is not currently available. SQLCODE Values -666 -679 -910 -904, -971, -7053 -30040 -30041 -952 -332 -913 -30001 -7021 -357
Table 37. Class Code 58: System Error SQLSTATE Value 58003 58004 Meaning An invalid section number was detected. SQLCODE Values -144
A system error (that does not necessarily preclude the successful execution of -901, -4301 subsequent SQL statements) occurred. SQLSTATE 58004, when combined with SQLCODE -4301, indicates this meaning for the failure: Java interpreter startup or communication failed.
Chapter 2. DB2 Universal Database for iSeries SQL Messages and Codes
21
Table 37. Class Code 58: System Error (continued) SQLSTATE Value 58008 58009 58010 58011 58012 58014 58015 58016 58017 58018 58028 58033 Meaning Execution failed due to a distribution protocol error that will not affect the successful execution of subsequent DDM commands or SQL statements. SQLCODE Values -30000
Execution failed due to a distribution protocol error that caused deallocation of -30020 the conversation. Execution failed due to a distribution protocol error that will affect the successful execution of subsequent DDM commands or SQL statements. The DDM command is invalid while the bind process in progress. -30021 -30050
The bind process with the specified package name and consistency token is not -30051 active. The DDM command is not supported. The DDM object is not supported. The DDM parameter is not supported. The DDM parameter value is not supported. The DDM reply message is not supported. The commit operation failed, because a resource in the unit of work was not able to commit its resources. An unexpected error occurred while attempting to access a client driver. -30070 -30071 -30072 -30073 -30074 -175 -969
22
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
SQL Messages Reference
SQL Messages are displayed when a DB2 UDB for iSeries returns an error or warning code to the application that uses it. The base message text is displayed or logged at runtime. To find a specific message, SQLCODE, or SQLSTATE, try the SQL Message Finder.
Recovery Text:
23
Table 39. SQL0010 (continued) SQL0010 Cause Text: The string delimiter is missing in the constant beginning with &1. The string is treated as if it were delimited by the end of the source file. Delimit the string constant. Check for any missing or extra quotation marks and apostrophes. These errors are likely to cause other errors. Some statements may not have been processed as the result of either missing or extra string delimiters. Precompile the program again. -010 42603
Recovery Text:
SQL0012 Message Text: Cause Text: Correlation without qualification occurred for column &1 to table &2. Column &1 which occurs in a subselect, is not explicitly qualified, and occurs in table &2 in library &3 specified in the FROM clause of an outer subselect or as the target of an update or delete operation. Consequently, the reference to the column in the subselect is an outer reference, and correlation will occur. Ensure you intended to use the correlation. If you did not intend to use the correlation, the column does not exist in any of the tables or views identified in the FROM clause of the same level of the subselect that column &1 was referenced. Since it is a good practice to explicitly qualify any intended correlated references, it is recommended that the statement be changed so that the column &1 is qualified with a table designator. +012 01545
Recovery Text:
SQL0029 Message Text: Cause Text: INTO clause missing from embedded statement. SELECT and VALUES INTO statements embedded in a program must have an INTO clause to specify where the results of the statement are to be placed. A dynamic VALUES INTO statement must have an INTO clause. Add the INTO clause to the statement, and precompile the program again. -029 42601
SQL0030 Message Text: Number of host variables less than result values.
24
Table 42. SQL0030 (continued) SQL0030 Cause Text: The number of host variables specified in the INTO clause is less than the number of result values. If the program is run, only the variables specified will have values assigned to them. If all values should be received, specify the proper number of host variables. Precompile the program again. +030 01503
SQL0051 Message Text: Cause Text: Cursor or procedure &1 previously declared. One of the following has occurred: v Cursor &1 has already been specified in a previous DECLARE CURSOR statement. A cursor name must be unique within the program. v Procedure &1 specified on a CALL statement is ambiguous. Recovery Text: Make certain that the cursor names on all DECLARE CURSOR statements and the procedure names on all DECLARE PROCEDURE statements are unique in the program. Precompile the program again. -051 3C000
SQL0057 Message Text: Cause Text: RETURN statement in an SQL function must return a value. A RETURN statement is specified in an SQL function without a return value. The return value must be specified. Add a value to return. Try the request again. -057 42631
SQL0058 Message Text: Cause Text: Value specified on RETURN statement must be an integer. A RETURN statement is specified in an SQL procedure but the value specified is not integer. The return value for an SQL procedure must be integer. Specify an integer value on the RETURN statement. Try the request again. -058
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
25
Table 45. SQL0058 (continued) SQL0058 SQLSTATE or SQLSTATEs: Table 46. SQL0060 SQL0060 Message Text: Cause Text: Value &3 for argument &1 of &2 function not valid. The length or scale specified as &3 for argument &1 of the &2 function is not valid. The length specified for numeric values must be an unsigned integer from 1 through 31. The scale specified for numeric values must be an unsigned integer between 0 and the specified length. Correct the length or scale specified for the function. Try the request again. -060 42815 428F2
SQL0078 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 48. SQL0079 SQL0079 Message Text: Cause Text: Schema &2 for object &1 not valid. Object &1 cannot be qualified with schema &2. A temporary table must be qualified with SESSION or QTEMP. Indexes and views over a temporary table must be created in the schema SESSION or QTEMP. Specify session as the schema name. Try the request again. -079 428EK Parameter name required for routine &1 in &2. Parameter name must be specified when creating SQL routines. Specify a parameter name. Try the request again. -078 42629
SQL0080 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: Indicator variable &1 not SMALLINT type. The definition of indicator variable &1 must be a 2-byte binary with a zero scale. Specify an indicator variable that is defined as a 2-byte binary with a zero scale. Try the request again. -080
26
Table 49. SQL0080 (continued) SQL0080 SQLSTATE or SQLSTATEs: Table 50. SQL0084 SQL0084 Message Text: Cause Text: SQL statement not allowed. The SQL statement is not allowed for one of the following reasons: v DECLARE CURSOR, DECLARE STATEMENT, FETCH, OPEN, CLOSE, WHENEVER, PREPARE, EXECUTE, EXECUTE IMMEDIATE, INCLUDE, DECLARE TABLE, DECLARE VARIABLE, DECLARE PROCEDURE, and DESCRIBE are not allowed in interactive SQL, dynamic SQL, or using the RUNSQLSTM command. v BEGIN DECLARE SECTION and END DECLARE SECTION are not allowed in interactive SQL, in dynamic SQL, in RPG, or in REXX. v A blocked INSERT statement is not allowed in interactive SQL or dynamic SQL. v The CONNECT, SET CONNECTION, RELEASE, and DISCONNECT statements are not allowed in dynamic SQL. CONNECT with constants specified for user ID and password is not allowed in a precompiled program. v SELECT cannot be issued from an EXECUTE IMMEDIATE statement or the RUNSQLSTM command. v The SET OPTION statement is only allowed in REXX, in a precompiled program, or in SQL routines. In a precompiled program, it must be the first SQL statement in the program. v DECLARE STATEMENT, DECLARE VARIABLE, DECLARE PROCEDURE, INCLUDE, SELECT INTO, WHENEVER, blocked INSERT, and blocked FETCH statements are not allowed in REXX. v The SET TRANSACTION statement is not allowed when the current connection is to a remote database. v The SQL statement specified is not a valid statement on the current release of DB2 UDB for iSeries. The statement may be valid on a future release of DB2 UDB for iSeries or on a system other than an iSeries. Recovery Text: The statement cannot be run in this mode. For a CONNECT statement in a precompiled program, specify the user ID and password as host variables. If in interactive SQL, you may syntax check a statement by setting the statement processing value to *SYN. +084 -084 01505 42612 42978
SQL0088 Message Text: Cause Text: &1 applies to entire table. The UPDATE or DELETE statement does not have a WHERE clause and will delete or update all the rows in the specified table.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
27
Table 51. SQL0088 (continued) SQL0088 Recovery Text: Do one of the following: v Verify that all the rows in the specified table need to be deleted or updated and try the statement again. v If the rows in the specified table do not need to be deleted or updated, add a WHERE clause and precompile the program again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 52. SQL0090 SQL0090 Message Text: Cause Text: Host variable not permitted here. Host variable &1 is not allowed as used in this statement. Host variables are not allowed: v In a CREATE VIEW, CREATE TABLE, or ALTER TABLE statement. v In any interactive SQL statement when the Statement processing value is *RUN or *VLD. v In an SQL statement processed by the RUNSQLSTM command. v In an INSERT, UPDATE, DELETE, or DECLARE CURSOR statement in REXX. Recovery Text: Do one of the following and try the request again. v Specify either a constant or a column name to replace the host variable. The colon indicates that the name that follows is a host variable. Remove the colon to specify a column name. v If in interactive SQL, set the statement processing value to *SYN to syntax check a statement that contains a host variable. v If in REXX, change the host variables to parameter markers and prepare the INSERT, UPDATE, DELETE, or DECLARE CURSOR statement. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 53. SQL0097 SQL0097 Message Text: Cause Text: Use of data type not valid. The data type specified in the statement can not be specified for a procedure or function. Data types such as LONG VARCHAR can only be specified for columns, and cannot be specified for parameters. Correct the data type specified for the procedure or function. Try the request again. -097 42601 -090 42618 +088 01504
28
Table 54. SQL0100 SQL0100 Message Text: Cause Text: Row not found for &1. One of the following conditions has occurred: v If this is a FETCH statement, no more rows satisfy the selection values (end of file). The name of the cursor is &1. v If this is a FETCH statement for a scrollable cursor, a record was not found. If NEXT was specified, end of file was reached. If PRIOR was specified, the beginning of the file was reached. If RELATIVE was specified, either the beginning of file or the end of file was reached, depending on the value specified. If FIRST or LAST was specified, then no records satisfy the selection criteria. The name of the cursor is &1. v If this is an embedded SELECT statement, no rows satisfy the selection values. v If this is an UPDATE, INSERT, or DELETE statement, no rows satisfy the subselect or WHERE clause. No rows were updated, inserted, or deleted. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 55. SQL0101 SQL0101 Message Text: Cause Text: SQL statement too long or complex. The SQL statement is longer than the limit allowed for length or complexity. The reason code is &1. One of the following reason codes indicates the error: v 1 - The total number of subselects in a fullselect (UNION or UNION ALL clause) is greater than 32. v 2 - The total number of columns, constants, and operators is greater than the SQL limits. v 3 - The sum of the lengths of the non-LOB columns in a select list, table, view definition, or user defined table function is greater than 32766 or the definition contains a LOB and the sum of the lengths specified on the ALLOCATE clause for varying-length fields and the non-varying field lengths is greater than 32740. The maximum length is reduced if any of the columns are varying-length or allow null values. v 4 - The total number of nested subselects is greater than 31. v 5 - The total length of the statement text is greater than 65535. v 6 - The relative position value specified on the FETCH statement is outside the range of valid values. v 7 - A system name could not be generated. Recovery Text: Simplify the statement or divide the statement up into more than one statement and try the request again. For reason code 7, specify a different name for the table, view, index or alias. -101
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
SQLCODE or SQLCODEs:
29
Table 55. SQL0101 (continued) SQL0101 SQLSTATE or SQLSTATEs: Table 56. SQL0102 SQL0102 Message Text: Cause Text: String constant beginning with &1 too long. The string constant beginning with &1 is larger than 32740 bytes. If this is a graphic string constant, the string cannot be longer than 16370 DBCS characters. Reduce the length of the string. Try the request again. -102 54002 54001 54010 54011
SQL0103 Message Text: Cause Text: Numeric constant &1 not valid. The token &1 begins with a digit, but the token is not a valid integer, decimal, or floating point constant. Identifiers cannot begin with a digit except in a COBOL program or for the WHENEVER statement in a FORTRAN program. Do one of the following and precompile the program again: v Verify that token &1 is valid. Use apostrophes or quotation marks if a character constant is required. v Remove the character or characters that are not valid if a number is required. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 58. SQL0104 SQL0104 Message Text: Cause Text: Token &1 was not valid. Valid tokens: &2. A syntax error was detected at token &1. Token &1 is not a valid token. A partial list of valid tokens is &2. This list assumes that the statement is correct up to the token. The error may be earlier in the statement, but the syntax of the statement appears to be valid up to this point. Do one or more of the following and try the request again: v Verify the SQL statement in the area of the token &1. Correct the statement. The error could be a missing comma or quotation mark, it could be a misspelled word, or it could be related to the order of clauses. v If the error token is <END-OF-STATEMENT>, correct the SQL statement because it does not end with a valid clause. SQLCODE or SQLCODEs: -104 -103 42604
Recovery Text:
Recovery Text:
30
Table 58. SQL0104 (continued) SQL0104 SQLSTATE or SQLSTATEs: Table 59. SQL0105 SQL0105 Message Text: Cause Text: Mixed or graphic string constant not valid. Mixed or graphic constants that are not valid were found in the value beginning &1. One of the following occurred: v An odd number of bytes were found between the shift-out and shift-in characters. v Multiple shift-out characters were found before a shift-in character was found. v A shift-out and shift-in were not found in the first and last byte, respectively, or were found in a position other than the first and last byte of a graphic string constant. v The PL/I form of the graphic string was used but the program is not PL/I. v A shift-out was found indicating a PL/I graphic string. The shift-out was not followed by a DBCS apostrophe, an even number of DBCS characters, another DBCS apostrophe, a DBCS G, and a shift-in. v If this is a LABEL ON statement for a column, and the string is longer than 20 bytes, then one of the 20-byte segments has a DBCS constant that is not valid. Recovery Text: Specify the correct format for the constant. If this is a LABEL ON statement for a column, ensure each 20-byte segment is in the correct format. Check for a quotation mark, an apostrophe, shift-out or shift-in character, or an odd number of characters between the shift-out and shift-in characters. Ensure graphic string constants are specified in the correct form for the language. Try the request again. -105 42604 42601
SQL0106 Message Text: Cause Text: Precision specified for FLOAT not valid. The precision specified for the FLOAT column or parameter is not valid for floating point data. The precision allowed is from 1-53. If 1-23 is specified, the column or parameter is defined as single-precision floating point. If 24-53 is specified, the column or parameter is defined as double-precision floating point. Change the precision specified. Try the request again. -106 42611
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
31
Table 61. SQL0107 SQL0107 Message Text: Cause Text: &1 too long. Maximum &2 characters. The name or string beginning with &1 is too long. The maximum length allowed is &2. The maximum length for names depends on the type of the name: v System names for a schema, library, package, program, and other system objects cannot exceed 10 characters. v SQL names for a table, view, index, alias, constraint, correlation, parameter, user-defined type, trigger, or savepoint cannot exceed 128 characters. v SQL names for a column cannot exceed 30 characters. System-column names cannot exceed 10 characters. v Cursor names, statement names, or relational database names cannot exceed 18 characters. v Procedure or function names cannot exceed 128 characters. If the external program name is not specified, the name cannot exceed 10 characters because it is used for the program name. v Host variable names in C and C++ cannot exceed 128 characters. Host variable names in all other languages cannot exceed 64 characters. v Names for SQL variables, parameters, labels, or conditions in the routine body of an SQL routine cannot exceed 128 characters. v The maximum length of the string for a password is 128. v The maximum length of the string for a COMMENT ON statement is 2000. v The maximum length of the string for a LABEL ON statement is 50. If the label is specified as a column heading, the maximum is 60. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 62. SQL0109 SQL0109 Message Text: &1 clause not allowed. Change the name or string to a length of &2 or less. Try the request again. -107 42622
32
Table 62. SQL0109 (continued) SQL0109 Cause Text: One of the following conditions was not allowed: v Embedded SELECT statements cannot include the FOR UPDATE clause, the FOR READ ONLY clause, the FOR FETCH ONLY clause, the OPTIMIZE clause, or the UNION or UNION ALL operator. v SELECT statement used in cursor declarations or subselects cannot have an INTO clause. v CREATE VIEW statements may not have an INTO, ORDER BY, FOR UPDATE, FOR READ ONLY, FOR FETCH ONLY, or OPTIMIZE clause. v INSERT statements may not have an INTO clause in a subselect, a FOR UPDATE, FOR READ ONLY, FOR FETCH ONLY, or an OPTIMIZE clause. v WHERE CURRENT OF cursor clause is not allowed in statements processed in interactive SQL or statements processed by the RUNSQLSTM command. v The NOT NULL clause is not allowed in the definition of a column being added to a table unless a default value is specified. v OVERRIDING USER VALUE and OVERRIDING SYSTEM VALUE are only valid if the statement is changing a column that is defined with GENERATED ALWAYS. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 63. SQL0110 SQL0110 Message Text: Cause Text: Hexadecimal constant beginning with &1 not valid. Either the hexadecimal constant &1 contains one or more characters that are not valid or the number of characters between the string delimiters is not valid. Hexadecimal constants must contain an even number of characters. The length of a hexadecimal graphic string must be a multiple of 4 to ensure that it contains a valid number of DBCS characters. Hexadecimal constants representing MIXED data must have an even number of bytes between the shift-out (X0E) and shift-in (X0F) characters and must have paired shift characters. Hexadecimal graphic constants cannot contain a shift-out or a shift-in. Correct the constant. Ensure that the constant contains an even number of digits and that the length for a hexadecimal graphic constant is a multiple of 4. The valid characters for hexadecimal digits are characters 0 through 9 and uppercase or lowercase A through F. Ensure MIXED data is in the correct format. Remove shift-out or shift-in characters from a hexadecimal graphic constant. Try the request again. -110 Remove the clause. Try the request again. -109 42601
Recovery Text:
SQLCODE or SQLCODEs:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
33
Table 63. SQL0110 (continued) SQL0110 SQLSTATE or SQLSTATEs: Table 64. SQL0112 SQL0112 Message Text: Cause Text: Argument of function &1 contains another function. The argument of column function &1 contains another column function. Only expressions without column functions are allowed as arguments of a column function. Correct the function specification. Try the request again. -112 42607 42606
SQL0113 Message Text: Cause Text: Name &1 not allowed. &1 contains a character that is not allowed or does not contain any characters. v An ordinary identifier must begin with (A-Z, $, #, or @) and be followed by zero or more (A-Z, 0-9, $, #, @, or _). v A delimited identifier is a string of characters within SQL escape characters. The characters allowed in delimited names depends on the type of name. v The characters between the escape characters for system table names, collection names, package names and other system object names can be any characters except Hex 00-3F, Hex 40 (space), Hex 5C (*), Hex 6F (?), Hex 7D (), Hex 7F (), and Hex FF. v The characters between the escape characters for SQL table names, cursor names, statement names, correlation names, column names, procedure names, function names, parameter names, constraint names, user-defined type names, or trigger names can be any characters except Hex 00-3F and Hex FF. v Delimited system column names must begin with (A-Z, $, #, or @) and be followed by zero or more (A-Z, 0-9, $, #, @, or an _). v A relational database name must begin with A-Z and be followed by 0 or more letters, numbers 0-9, or an _. v Ordinary identifiers that are contained within host variables must not include lowercase letters because they are not converted to uppercase. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Correct the name. Try the request again. -113 28000 2E000 42602
34
Table 66. SQL0114 SQL0114 Message Text: Cause Text: Relational database &1 not the same as current server &2. Relational database &1 was specified in a 3 part name in the statement. However, either the name is not the same as the current server &2, or the name is not the same as a relational database name specified previously in the statement. Change the statement so the relational database name specified is the same as the current server or so that all relational database names in the statement match. +114 -114 01536 42961
Recovery Text:
SQL0115 Message Text: Cause Text: Comparison operator &1 not valid. Simple comparisons like &1 cannot be followed by a list of items. ANY, ALL, and SOME comparison operators must be followed by a subselect, rather than an expression or a list of items, and cannot be specified in an ON clause or in a CASE expression. Change either the comparison or the operand. The comparison operators IN and NOT IN can be used with a list of items, or the comparison can be separated into several comparisons separated with an AND boolean operator. Specify a subselect with ANY, ALL, or SOME. Try the request again. -115 42601
Recovery Text:
SQL0117 Message Text: Cause Text: Statement contains wrong number of values. The following conditions may exist: v The number of values is not the same as the number of object columns in this INSERT or UPDATE statement. v The number of values is not the same as the number of target host variables in this SET or VALUES INTO statement. v The number of SELECT list items in the subselect is not the same as the number of object columns in this INSERT statement. v The number of SELECT list items in the subselect in a SET clause is not the same as the number of object columns for the SET clause in this UPDATE statement. v One or more of the object columns not specified in the INSERT statement were created as NOT NULL. v One or more of the object columns specified in the INSERT statement were created as NOT NULL, and the statement specified DEFAULT as the value to be inserted.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
35
Table 68. SQL0117 (continued) SQL0117 Recovery Text: Correct the statement to specify a single value for each of the object columns. Ensure that the character designated as the decimal point is used correctly in any numeric literals. If the object columns not specified in the INSERT statement were created as NOT NULL, specify valid values for those columns. Try the request again. -117 42802
SQL0119 Message Text: Message Text: Cause Text: Column &1 or expression in HAVING clause not valid. Column &1 or expression in HAVING clause not valid. One of the following has occurred: v Column &1 specified in a HAVING clause is not within a column function and is not in the GROUP BY clause. v An expression specified in a HAVING clause is not within a column function and is not in the GROUP BY clause. v The RRN function is specified in the HAVING clause and is not Within a column function. Recovery Text: Remove the column, expression, or the RRN function from the HAVING clause or add the column or expression to the GROUP BY clause. Try the request again. -119 42803
SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 70. SQL0120 Message Text: Cause Text:
Use of column function &2 not valid. A column function cannot be specified in a WHERE clause, a SET clause, a GROUP BY clause, or in a JOIN condition. Remove the column function. Try the request again. -120 42903
36
Table 71. SQL0121 (continued) SQL0121 Cause Text: Name &1 is specified more than once in either the list of object columns of an INSERT statement, in the SET clause of an UPDATE statement, or in the list of target host variables in the SET or VALUES INTO statement. If the specified names are not the same then one of the following has occurred: v If the object is a view, the column they identify in the base table may be the same column. v The names may correspond to the same system column name. Recovery Text: Do one of the following and try the request again: v Remove the duplicate column. v Specify a column list on the INSERT statement to remove the duplicate column. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 72. SQL0122 SQL0122 Message Text: Cause Text: Column &1 or expression in SELECT list not valid. One of the following has occurred: v The statement contains column name &1 and a column function in the SELECT clause and no GROUP BY clause is specified, v Column name &1 is specified in the SELECT clause but not in the GROUP BY clause. v An expression is specified in the SELECT clause but not in the GROUP BY clause. v The RRN, PARTITION, NODENAME, or NODENUMBER function is specified in the SELECT clause with a column function or a GROUP BY clause. v A column or expression that is specified in the ORDER BY clause, but not in the SELECT clause, does not conform to the grouping rules listed above. Recovery Text: Do one of the following and try the request again: v If a GROUP BY clause is required, make certain that all columns or expressions in the SELECT list and ORDER BY clause are also in the GROUP BY clause. Do not specify the RRN, PARTITION, NODENAME, or NODENUMBER function. v If a GROUP BY clause is not needed, the SELECT list and ORDER BY clause should not contain column functions with column names or the RRN, PARTITION, NODENAME, or NODENUMBER function. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: -122 42803 -121 42701
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
37
Table 73. SQL0125 SQL0125 Message Text: Cause Text: ORDER BY column number &1 not valid. The ORDER BY clause in the statement contains a column number that is either greater than the maximum number of values that can be selected (8000), or is greater than the number of columns in the result table select list. Correct the column number in the ORDER BY clause to specify a column in the result table. Try the request again. -125 42805
Recovery Text:
SQL0128 Message Text: Cause Text: Use of NULL is not valid. The keyword NULL is not valid with the operator specified. NULL is only allowed in a predicate following IS or IS NOT. NULL is a reserved keyword and can only be used as the name of a column if the name is delimited when used in an SQL statement. Either change the operator to IS or IS NOT or, if the word NULL was meant to be a column name, specify the name within delimiters. -128 42601
Recovery Text:
SQL0129 Message Text: Cause Text: Too many tables in SQL statement. The SQL statement contains too many tables or view. A single SQL statement can refer to a maximum of 256 tables or views. This number includes the base tables of a view. Do one of the following and try the request again: v Split the SQL statement into two or more simpler statements with a maximum of 256 tables in each. v If this is a CREATE VIEW statement, reduce the number of tables to a maximum of 32. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 76. SQL0130 SQL0130 Message Text: ESCAPE character &1 or LIKE pattern is not valid. -129 54004
Recovery Text:
38
Table 76. SQL0130 (continued) SQL0130 Cause Text: Either ESCAPE character &1 is not valid or the use of the ESCAPE character in the LIKE pattern is not valid. v The ESCAPE character is not valid if: v The length is not 1 SBCS character or 1 graphic character. v The shift-in (X0E) and the shift-out (X0F) characters are specified. v The LIKE pattern is not valid if: v The character string expression forming the pattern contains an ESCAPE character that is not followed by a percent sign, an underscore, or another ESCAPE character. v The graphic string expression forming the pattern contains an ESCAPE character that is not followed by a DBCS percent sign, a DBCS underscore, or another ESCAPE character. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 77. SQL0131 SQL0131 Message Text: Cause Text: Operands of LIKE not compatible or not valid. The operands of LIKE and the ESCAPE character must be character or graphic. One of the following errors has occurred: v The operand to the right of a LIKE operator is not character or graphic. v The operands of a LIKE operator are not compatible. v The ESCAPE character is not compatible with the operands. Recovery Text: Ensure the operands and the ESCAPE character specified with the LIKE operator are character or graphic. Try the request again. -131 42818 Specify a valid LIKE pattern and ESCAPE character. Try the request again. -130 22019 22025
SQL0132 Message Text: Cause Text: LIKE predicate not valid. Either the second operand or the ESCAPE character specified in a LIKE predicate is not valid. The second operand must be a string expression. The ESCAPE character must be a string expression but cannot be a special register. Change the incorrect operand or the operator. Try the request again.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
Recovery Text:
39
Table 78. SQL0132 (continued) SQL0132 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 79. SQL0133 SQL0133 Message Text: Cause Text: Operator on correlated column in SQL function not valid. An SQL column function appearing in a subquery of a HAVING clause is not valid if the argument of the function is an expression that contains an operator (+, -, *, /, **), a concatenation operator, or a scalar function that is applied to a correlated reference. An operation cannot be performed on a correlated reference since the computed value of the group cannot be determined in the outer (correlated) subselect without a possible value from the inner subselect. If the operator is a scalar function, make the column function the argument of the scalar function. Otherwise, remove the operator on the correlated reference or move the operator so it is not in the argument of the column function. For example, specifying the expression of the form: AVG( outertable.column1 + innertable.column2 ) is not valid, while the expression AVG( outertable.column1 ) + innertable.column2 is valid. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 80. SQL0134 SQL0134 Message Text: Cause Text: String, argument, or path too long. One of the following errors has occurred: v The argument of a COUNT function is too long. The argument of a COUNT function cannot be longer than 2000 bytes if DISTINCT is specified. If the argument is graphic, then the argument cannot be longer than 1000 DBCS characters. v More than 268 libraries were specified on the SET PATH statement or on the SET OPTION SQLPATH statement. v A LOB column was used in a ORDER BY expression, GROUP BY expression, join specification, SELECT clause with DISTINCT, or in a UNION in which the ALL keyword was omitted. Recovery Text: Change the argument of the function or the number of libraries in the path so that the length does not exceed the maximum. Remove the LOB column from the clause where it is not allowed. Try the request again. -133 42906 -132 42824
Recovery Text:
40
Table 80. SQL0134 (continued) SQL0134 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 81. SQL0136 SQL0136 Message Text: Cause Text: ORDER BY, GROUP BY, or join columns too long. The maximum number of elements in an ORDER BY list is 10000. The total length of all the ORDER BY elements cannot exceed 10000 bytes. The maximum number of columns in a GROUP BY list is 120. The total length of all the GROUP BY columns cannot exceed 2000 bytes. The total length of all the join columns in an exception join or outer join cannot exceed 2000 bytes. If the ORDER BY or GROUP BY list contains null capable columns, then an additional byte is required for each null capable column. If the ORDER BY or GROUP BY list contains varying-length character columns, then the 2 byte length is included in the total length. Recovery Text: The statement must be changed so that the length of the ORDER BY, GROUP BY, or join values does not exceed their limits. One or more column names must be removed from the clause. Try the request again. -136 54005 -134 42907
SQL0137 Message Text: Cause Text: Result too long. A concatenation operator or a HEX scalar function was specified, but the resulting length of the operation exceeds the maximum allowed. The maximum length is: v 32766 bytes if the result is fixed-length character. v 32740 bytes if the result is varying-length character. v 16383 DBCS characters if the result is fixed-length graphic. v 16370 DBCS characters if the result is varying-length graphic. v 2147483647 bytes if the result is a binary or character LOB. v 1073741823 DBCS characters if the result is a double-byte character LOB. Recovery Text: Change the expression to decrease the resulting length to less than or equal to the maximum allowed. If converting from graphic to character data, the result length specified on the scalar function must be less than 8191. The SUBSTR scalar function can be used to decrease the length of an operand. Try the request again. -137
SQLCODE or SQLCODEs:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
41
Table 82. SQL0137 (continued) SQL0137 SQLSTATE or SQLSTATEs: Table 83. SQL0138 SQL0138 Message Text: Cause Text: Argument &1 of substringing function not valid. Argument 2 or 3 of the SUBSTRING function or argument 2 of the LEFT function is either out of range or is an expression that does not evaluate to an integer. v For the SUBSTRING function, argument 2 specifies the position of the first character of the result and argument 3 specifies the length of the result. Argument 2 must be a valid position of the first argument. Argument 3 must not exceed the length of argument 1 between argument 2 and the end of the string. v For the LEFT function, argument 2 specifies the length of the result. Argument 2 must not exceed the length of argument 1. v If argument 1 is a character string, a character is a byte, and and if argument 1 is graphic string, a character is a DBCS character. v If the argument is *N, then one of the arguments is not valid but the argument number is not known. Recovery Text: If the argument is *N, display the previously listed messages in the job log (DSPJOBLOG command) or press F10 (Display messages in job log) from this display to determine which argument is in error. Change one or more of the arguments specified in the SUBSTR function. The INTEGER scalar function may be used to convert the argument into an integer result. Try the request again. +138 -138 01544 22011 54006
SQL0144 Message Text: Cause Text: Section number &1 not valid. Current high section number is &3. Reason &2. Reason code is &2. v Reason code 1, section number &1 has already been assigned. v Reason code 2, section number &1 is smaller than next possible number. v Reason code 3, section number on ENDBND is smaller than highest one assigned. v Reason code 4, section number is not in the SQL package. v Reason code 5, section number of zero is not valid. Recovery Text: SQLCODE or SQLCODEs: Contact your IBM representative to report the problem. -144
42
Table 84. SQL0144 (continued) SQL0144 SQLSTATE or SQLSTATEs: Table 85. SQL0145 SQL0145 Message Text: Cause Text: Recursion not supported for application server other than iSeries. Program &1 in &2 was called recursively when connected to an application server that is not an iSeries. The program was connected to application server &3 with product identification of &4. If the application server is an IBM product, the identification is in the form pppvvrrm, where: v ppp identifies the product as follows: DSN for DB2 UDB for OS/390 and z/OSTM ARI for VM and VSE QSQ for DB2 UDB for iSeries SQL for all other DB2 products v vv is a two-digit version identifier such as 06 v rr is a two-digit release identifier such as 01 v m is a one-digit modification level such as 0 . For example, if the application server is Version 6 Release 1 of DB2 UDB for OS/390 and z/OS, the value of the product identification is DSN06010 . Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 86. SQL0150 SQL0150 Message Text: View or logical file &1 in &2 read-only. Change your application so that it is not recursively called when connected to a server other than an iSeries. -145 55005 58003
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
43
Table 86. SQL0150 (continued) SQL0150 Cause Text: Update, delete, or insert is not allowed. &1 in library &2 can be used only for read operations. A view or logical file can be used only for read operations if one or more of the following conditions are true: v The view contains a DISTINCT keyword, GROUP BY clause, HAVING clause, or a column function in the outer-most subselect. v The view or logical file contains a join function. v The view contains a subquery that refers to the same table as the table of the outer-most subselect. A view of this type may be used for inserting rows. v All the columns of the view are expressions, scalar functions, constants, or special registers. v All the columns of the logical file are input only. v The select list of the view omits a column of the based on table that does not allow null values or default values. Inserting into the view is not allowed. Recovery Text: Change the statement to insert, delete, or update data into the base table of view &1. All columns of the table that do not allow null values or default values must be assigned a value when inserting a row into a table or view. Try the request again. -150 42807
SQL0151 Message Text: Cause Text: Column &1 in table &2 in &3 read-only. &1 is a column of an implicit or explicit column list for an INSERT statement or a SET clause on an UPDATE statement. &1 is read only because it is: v Derived from an expression, a constant, or a special register. v Defined on a column of an underlying view that cannot be updated. v In a column of a logical file that is defined as input only. Recovery Text: Remove column &1 from the column list or the SET clause. If this is an INSERT and a column list was not specified, then specify a column list to remove column &1. Try the request again. -151 42808
SQL0152 Message Text: Constraint type not valid for constraint &1 in &2.
44
Table 88. SQL0152 (continued) SQL0152 Cause Text: An attempt was made to drop constraint &1 in &2 using an ALTER TABLE statement. The constraint was specified as CHECK, UNIQUE, PRIMARY, or FOREIGN KEY and is not the same as the constraint found. Verify the name and type of the constraint you want to drop. Try the request again. -152 42809
SQL0153 Message Text: Cause Text: Column list required. A column list must be specified because the result columns are unnamed. Result columns are unnamed for one of the following reasons: v An element of the SELECT list is not a column and the AS clause is not specified. v Corresponding columns of the subselects in a UNION do not have the same name. v Two result columns have the same column name. Every column name and system-column name must be unique in a table or view definition. If two column names are the same, the column name is &1. Recovery Text: Do one of the following and try the request again: v Provide a list of names for the columns in the table, view, or derived table. v Specify an AS clause to assign a unique name to the unnamed elements or to rename the duplicate columns in the SELECT list. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 90. SQL0154 SQL0154 Message Text: Cause Text: UNION and UNION ALL for CREATE VIEW not valid. The view defined in the CREATE VIEW statement cannot be created because the definition contains a UNION or UNION ALL clause. Do not attempt to create views having definitions that contain a UNION clause. Correct the statement and try the request again. -154 42909 -153 42908
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
45
Table 91. SQL0155 SQL0155 Message Text: Cause Text: Recovery Text: Transition table &1 read-only. Statement is not allowed. Transition table &1 in an SQL trigger can be used only for read operations. Change the statement to specify a table other than the transition table or remove the statement. Transition tables can be specified on SELECT statements. Qualify table names in an SQL trigger that may have the same name as transition tables. Try the request again. -155 42807
SQL0156 Message Text: Cause Text: &1 in &2 not a table. A DROP TABLE, CREATE INDEX, LOCK TABLE, ALTER TABLE, or CREATE TRIGGER statement referred to &1 in &2, but &1 is not a table. These statements must refer to a table. Do one of the following and try the request again. v Change the statement to a DROP statement of the correct type. v Change the table name. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 93. SQL0157 SQL0157 Message Text: Cause Text: &1 in &2 not valid in FOREIGN KEY clause. View or logical file &1 in &2 was specified in the REFERENCES clause in the definition of a FOREIGN KEY referential constraint on a CREATE TABLE or an ALTER TABLE statement. Views and logical files cannot be specified in a FOREIGN KEY clause. Specify the base table that contains the parent key in the FOREIGN KEY clause. Try the request again. -157 42810 -156 42809
Recovery Text:
46
Table 94. SQL0158 (continued) SQL0158 Cause Text: One of the following has occurred: v The number of column names specified for a view in a CREATE VIEW statement is not the same as the number of elements specified in the following SELECT clause. v The number of column names specified in a correlation clause is not the same as the number of elements in the table, derived table, or table function. v The number of column names specified in a column list of a common table expression is not the same as the number of elements specified in the subselect. v The number of columns specified in the RETURNS TABLE clause of a user defined table function is not the same as the number of elements specified in the subselect in the RETURN statement. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 95. SQL0159 SQL0159 Message Text: Cause Text: &1 in &2 not correct type. A DROP INDEX, DROP VIEW, DROP ALIAS, COMMENT ON INDEX, COMMENT ON ALIAS or RENAME INDEX statement was specified but &1 in &2 is not the correct type. DROP INDEX can only be used to drop an index. DROP VIEW can only be used to drop a view. DROP ALIAS can only be used to drop an alias. COMMENT ON INDEX can only be used to comment on an index. COMMENT ON ALIAS can only be used to comment on an alias. RENAME INDEX can only be used to rename an index. Do one of the following to correct the problem and try the request again: v If this is a DROP statement: If &1 is an index, use a DROP INDEX statement. If &1 is a view, use a DROP VIEW statement. If &1 is a table, use a DROP TABLE statement. If &1 is an alias, use a DROP ALIAS statement. v If this is a COMMENT ON INDEX or COMMENT ON ALIAS statement and &1 is a table or view, use a COMMENT ON TABLE statement. v If this is a RENAME INDEX statement and &1 is a table or view, use a RENAME TABLE statement. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: -159 42809 Specify a column name for each column in the view, table, or table function. Try the request again. -158 42811
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
47
Table 96. SQL0160 SQL0160 Message Text: Cause Text: WITH CHECK OPTION not allowed for view &1 in &2. The WITH CHECK OPTION clause is not allowed in the CREATE VIEW statement for view &1 in &2 because the select-statement contains at least one of the following: v The first FROM clause identifies more than 1 table or view. v The first SELECT clause contains the DISTINCT keyword. v The outer subselect contains a GROUP BY clause. v The outer subselect contains a HAVING clause. v The outer subselect contains a column function. v All the select items in the outer subselect are expressions. v The SELECT statement contains a subselect. v The WITH CASCADED CHECK OPTION clause was specified and a view in the FROM clause contains a subselect. v A user-defined function that is not deterministic is in the select list of a subselect that is not the outer subselect. v A built-in function that is not deterministic (such as RAND) is in the select list of a subselect that is not the outer subselect. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 97. SQL0161 SQL0161 Message Text: Cause Text: INSERT or UPDATE not allowed because a resulting row does not satisfy view definition &1 in &2. The INSERT or UPDATE could not be done because a resulting row did not satisfy the view definition for &1 in &2. Either the view or an underlying view contains a WITH CHECK OPTION clause. Change the data being inserted or updated so that it conforms to the view definition. -161 44000 Remove the WITH CHECK OPTION clause. -160 42813
SQL0170 Message Text: Number of arguments for function &1 not valid.
48
Table 98. SQL0170 (continued) SQL0170 Cause Text: A scalar or column function has been specified with an incorrect number of arguments. v The SUBSTRING function may have two or three arguments. v The ZONED, STRIP, TRIM, VARCHAR, VARGRAPHIC, CLOB, DBCLOB and DLVALUE functions may have between one and three arguments. v The DECIMAL function may have between one and four arguments. v The CHAR, TIMESTAMP, and BLOB functions may have one or two arguments. v The VALUE, COALESCE, MAX, MIN, LAND, LOR, and XOR functions must have at least two arguments. v The MOD, POWER, CONCAT, IFNULL, and LEFT functions must have two arguments. v The CURDATE, CURTIME, and NOW functions must be specified without any arguments. v The TRANSLATE function may have between one and four arguments. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 99. SQL0171 SQL0171 Message Text: Argument &1 of function &2 not valid. Correct the number of arguments specified for the function. Try the request again. -170 42605
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
49
Table 99. SQL0171 (continued) SQL0171 Cause Text: The data type, length, or value of argument &1 of function &2 specified is not valid. A list of conditions for some of the functions follows. For: v CONCAT, all operands must be either character or graphic. v SUBSTRING, argument 1 must be a string and argument 2 and 3 must be integer. v DATE, argument 1 must be a date, a timestamp, or a valid numeric value. v TIME, argument 1 must be a time or a timestamp. v TIMESTAMP, the argument can be a timestamp if only one argument is specified. If two arguments are specified, argument 1 must be a date and argument 2 must be a time. v DAY, MONTH, or YEAR, the argument must be a date, timestamp, or a date or timestamp duration. v HOUR, MINUTE, or SECOND, the argument must be a time, timestamp, or a time or timestamp duration. v DAYS, the argument must be a date or a timestamp. v MICROSECOND, the argument must be a timestamp or a timestamp duration. v VALUE, COALESCE, IFNULL, MIN, or MAX scalar functions, all arguments must be compatible. v STRIP, argument 1 must be a string and argument 3 must be compatible. Argument 2 must be LEADING, TRAILING, or BOTH. v TRIM, the last argument must be a string and the strip character must be compatible. v TRANSLATE, UPPER, UCASE, LCASE, or LOWER, the first argument must be character or UCS-2 graphic. For TRANSLATE when the first argument is character, the three optional arguments must be strings. v VARCHAR, VARGRAPHIC, CLOB, DBCLOB, or BLOB, argument 1 must be a string. Argument 2 must be an valid integer. Argument 3, if allowed, must be a valid CCSID. v HASH, arguments cannot be date, time, timestamp, or floating point. It cannot have a column function in any argument. v DLVALUE, the arguments must be character strings. v If the function or argument is *N, an argument of a function contained in the statement is not valid. Recovery Text: Refer to the &3612. book for more information on the scalar functions. Correct the arguments specified for the function. Try the request again. -171 42815
50
Table 100. SQL0175 SQL0175 Message Text: Cause Text: COMMIT or ROLLBACK failed. A commit or rollback failed due to reason code &2. The logical unit of work identifier is &1. Reason codes and their meanings are: v 1 A transaction program error occurred. v 2 A commit resulted in a rollback. v 3 The requested transaction operation failed. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 101. SQL0178 SQL0178 Message Text: Cause Text: Query expression text for view &1 in &2 too long. The query expression text for view &1 in &2 is longer than 10000 bytes and does not fit in the SYSVIEWS catalog view. The statement text cannot be stored in the system catalog views. The VIEW_DEFINITION column of the SYSVIEWS catalog view will contain the null value for this view. No recovery is necessary. If the complete text is required in the system catalog views, recreate the view with the length of the query expression less than or equal to 10000 bytes. +178 0100A Display the previous messages in the joblog and take the appropriate action. -175 58028
Recovery Text:
SQL0180 Message Text: Cause Text: Syntax of date, time, or timestamp value not valid. The string representation of a date, time, or timestamp value does not conform to the syntax for the specified or implied data type and format. &2 is either the character string constant that is not valid or the column or host variable that contained the string. If the name is *N, then the value is an expression specified in the statement. If the string was found in a host variable, the host variable number is &1. Ensure that the date, time, or timestamp value conforms to the syntax for the data type it represents. Try the request again. +180 -180 01534 22007
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
51
Table 103. SQL0181 SQL0181 Message Text: Cause Text: Value in date, time, or timestamp string not valid. The string representation of a date, time or timestamp value is not in the acceptable range. &2 is either the character string constant that is not valid or the column or host variable that contained the string. If the name is *N, then the value was found in an expression specified in the statement. If the value was found in a host variable, then the host variable number is &1. The proper ranges for date, time, or timestamp values are as follows: v The range for years is from 0001 to 9999. v The range for months is from 1 to 12. v The range for days is from 1 - 30 for April, June, September, and November, from 1 - 28 for February and from 1 to 31 for all other months. In a leap year, the range for February can be from 1 to 29. v The range for days in a Julian date is from 001 to 366 for a leap year or 001 to 365 days for all other years. v The range for hours is from 0 to 24. If the hour is 24, then the other parts of the time values must be zeros. If the time format is USA, then the hour cannot be greater than 12. v The range for minutes is from 0 to 59. v The range for seconds is from 0 to 59. v The range for microseconds is from 0 to 999999. Recovery Text: Ensure that the date, time, or timestamp value conforms to the ranges for the data type it represents. Try the request again. +181 -181 01534 22007
SQL0182 Message Text: Cause Text: A date, time, or timestamp expression not valid. One of the following has occurred: v An operand of addition is a date and the other is not a date duration. v An operand of addition is a time and the other is not a time duration. v An operand of addition is a timestamp and the other is not a duration. v An operand of subtraction is a date and the other is not a date, character, or date duration. v An operand of subtraction is a time and the other is not a time, character, or time duration. v An operand of subtraction is a timestamp and the other is not a timestamp, character, or duration. Recovery Text: Correct the arithmetic expression so that it contains a valid date, time, or timestamp expression. Try the request again.
52
Table 104. SQL0182 (continued) SQL0182 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 105. SQL0183 SQL0183 Message Text: Cause Text: Result of date or timestamp expression not valid. The result of an arithmetic operation is a date or timestamp that is not within the valid range of dates which are between 0001-01-01 and 9999-12-31. If the result is a date in the format YMD, MDY, DMY, or JUL then the year must be between 1940 and 2039. If this is a FETCH, embedded SELECT, SET or VALUES INTO, then the relative position of the host variable in the INTO clause is &1 and the host variable name is &2. Correct the arithmetic expression or the data that was being processed at the time the error occurred. If the date format is YMD, MDY, DMY or JUL and the result is not between 1940 and 2039, then specify USA, ISO, EUR, or JIS for the date format. The date format can be specified on the STRSQL or CRTSQLxxx commands or can be changed for the job by using the CHGJOB command. Try the request again. +183 -183 01535 22008 -182 42816
Recovery Text:
SQL0184 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 107. SQL0187 SQL0187 Message Text: Use of labeled duration not valid. Parameter marker not valid in expression. A parameter marker cannot be used as an operand in a date/time arithmetic expression. Correct the arithmetic expression. Try the request again. -184 42610
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
53
Table 107. SQL0187 (continued) SQL0187 Cause Text: One of the following has occurred: v A labeled duration is specified but is not the operand of the operators plus or minus. v A labeled duration of years, months, or days is specified as the operand of addition or subtraction and the other operand is not date or timestamp. v A labeled duration of hours, minutes, or seconds is specified as the operand of addition or subtraction and the other operand is not time or timestamp. v A labeled duration of microseconds is specified as the operand of addition or subtraction and the other operand is not timestamp. v A labeled duration is specified as the left operand of subtraction. v The value specified for the labeled duration is not a numeric type. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 108. SQL0188 SQL0188 Message Text: Cause Text: &1 not a valid string representation of a name. The host variable contains a string representation of a name that is not valid for one of the following reasons: v The host variable is empty. v The first character is a period, a slash, or a blank. v The number of identifiers is greater than the maximum allowed for the name of the object. For example, the host variable identifies a table name but the host variable contains 4 or more identifiers. A table name can contain a maximum of 3 identifiers. A relational database name can contain a maximum of 1 identifier. v An identifier is too long. v A period not contained in a delimited identifier is followed by a period or a blank. v A slash not contained in a delimited identifier is followed by a slash or a blank. v A blank is followed by characters other than blanks. v A delimited identifier contains no characters. v A delimited identifier is followed by a character other than a period, a slash or a blank. v The ending delimiter is missing from a delimited identifier. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Change the name. Try the request again. -188 22503 28000 2E000 Correct the use of the labeled duration. Try the request again. -187 42816
54
Table 109. SQL0189 SQL0189 Message Text: Cause Text: Coded Character Set Identifier &1 not valid. Coded Character Set Identifier (CCSID) &1 is not valid for one of the following reasons: v The CCSID is not EBCDIC. v The CCSID is not supported by the system. v The CCSID is not valid for the data type. v If the CCSID is specified for graphic or DBCLOB data, then the CCSID must be a DBCS CCSID. v If the CCSID is specified for UCS-2 data, then the CCSID must be a UCS-2 CCSID. v If the CCSID is specified for CLOB, DBCLOB or DATALINK data, then the CCSID must not be 65535. v If there are multiple DATALINK columns with FILE LINK CONTROL, they must all have the same CCSID. v A UTF-8 CCSID cannot be specified for the DECLARE VARIABLE statement. Recovery Text: Ensure that all CCSID values in the statement are supported by the system and are valid for the data type. For a list of valid CCSID values, refer to the Work Management guide. -189 22522
SQL0190 Message Text: Attributes of column &3 in &1 in &2 not compatible.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
55
Table 110. SQL0190 (continued) SQL0190 Cause Text: The attributes specified for column &3 in &1 in &2 are not compatible with the attributes of the existing column. Either the data type, the length, or the clause is not valid. v A numeric column cannot be changed to a type that is not numeric. v A character column cannot be changed to a DATE, TIME, TIMESTAMP, or a numeric column. v A DATE, TIME, or TIMESTAMP column cannot be changed to a character or a numeric column. v A character column cannot be changed to DBCS-only column. v A character, graphic, DataLink, or UCS2 column cannot be changed to a column with an incompatible CCSID. v A DataLink column cannot be changed to a column with a shorter length. v A column can be changed to a user-defined type if the type is promotable to the new type. A column that is a user-defined type cannot be changed to a different type. v Columns cannot be changed to or from a DataLink. v The length of a column that allows null values cannot be greater than 32765 for fixed-length character, 32739 for varying-length character, 16382 for fixed-length graphic, and 16369 for varying-length graphic. The length of a DataLink column cannot be greater than 32717. The length of a binary or character LOB column cannot be greater than 2147483647. The length of a double-byte LOB column cannot be greater than 1073741823. The length of a DBCS-open column cannot be less than 4. v Identity attributes can only be specified for a column defined as an identity column. DROP NOT NULL cannot be specified for an identity column. v DROP DEFAULT can only be specified if a default value is defined for the existing column and the column does not have NOT NULL as the null attribute. v Columns cannot be changed to or from the ROWID data type. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 111. SQL0191 SQL0191 Message Text: Mixed data or UTF-8 data not properly formed. Specify attributes that are compatible with column &3. Try the request again. -190 42837
56
Table 111. SQL0191 (continued) SQL0191 Cause Text: A mixed data string or UTF-8 data string does not have the proper format. For mixed data, every shift-out character (0EX) must have a corresponding shift-in character (0FX). If these characters are not paired, the data is not valid. The conversion was from column or host variable &2 to column or host variable &4. Ensure that all mixed character data has paired shift characters and that all UTF-8 data is valid. For more information about UTF-8, refer to the Programming support topic. +191 -191 01547 22504
Recovery Text:
SQL0192 Message Text: Cause Text: Argument of translation function not valid. The argument of the TRANSLATE, UCASE, UPPER, LCASE, or LOWER scalar function is a DBCS-only string. The argument must be SBCS, DBCS-open, or DBCS-either. Change the argument of the function to one that is valid. Try the request again. -192 42937
SQL0194 Message Text: Cause Text: KEEP LOCKS not allowed. KEEP LOCKS was specified for cursor &1 but is not allowed because the cursor is not opened for read only. The cursor must be opened for read only to allow locks to be kept. For an explanation of read only cursors, see the &4611. Do not specify KEEP LOCKS, or specify a cursor that is read only. -194 42848
SQL0195 Message Text: Cause Text: Last column of &1 in &2 cannot be dropped. An attempt was made to drop one or more columns using an ALTER TABLE statement. The columns cannot be dropped from table &1 in &2 because at least one of the existing columns must be preserved when altering a table.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
57
Table 114. SQL0195 (continued) SQL0195 Recovery Text: Ensure table &1 in &2 will have at least one column once the ALTER statement is complete. Either remove the DROP of one of the columns and try the request again, or, if all of the columns should be removed, drop the table and create it again. -195 42814
SQL0196 Message Text: Cause Text: Column &3 in &1 in &2 cannot be dropped. An attempt was made to drop column &3. The column cannot be dropped because a view, a constraint, or an index is dependent on the column and RESTRICT was specified, or the column is part of the partition key of a distributed table. Specify CASCADE on the ALTER TABLE statement to drop the column and the views, constraints, or indexes that are dependent on it. If the column is part of the partition key of a distributed table, remove the column from the partition key. Try the request again. -196 42817
Recovery Text:
SQL0197 Message Text: Cause Text: Column &1 cannot be qualified. Column names in an ORDER BY clause of a SELECT statement cannot be qualified if a UNION or UNION ALL operator is specified. Remove the qualifier from the column name. Ensure the name specified in the ORDER BY clause is a named column of the result table. Try the request again. -197 42877
Recovery Text:
58
Table 117. SQL0198 (continued) SQL0198 Cause Text: The SQL statement is empty or blank. One of the following has occurred: v During precompiling, the SQL statement referred to has no text between the EXEC SQL and the ending delimiter. The statement is ignored. v While running a program containing SQL statements, the operand of a PREPARE or EXECUTE IMMEDIATE statement is blank or empty. The operand, host variable, or literal string that was the object of either the PREPARE or EXECUTE IMMEDIATE statement contained all blanks or was an empty string. Recovery Text: If precompiling, correct the statement or remove it and precompile the program again. If running a program containing SQL statements, correct the logic of the program to make certain that a valid SQL statement is provided before issuing a PREPARE or EXECUTE IMMEDIATE statement. -198 42617
SQL0199 Message Text: Cause Text: Keyword &1 not expected. Valid tokens: &2. The keyword &1 was not expected here. A syntax error was detected at keyword &1. The partial list of valid tokens is &2. This list assumes that the statement is correct up to the unexpected keyword. The error may be earlier in the statement but the syntax of the statement seems to be valid up to this point. Examine the SQL statement in the area of the specified keyword. A colon or SQL delimiter may be missing. SQL requires reserved words to be delimited when they are used as a name. Correct the SQL statement and try the request again. -199 42601
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
59
Table 119. SQL0203 (continued) SQL0203 Cause Text: The name &1 is ambiguous for one of the following reasons: v Two or more of the tables specified in a FROM clause contain columns with the name &1. The name specified can refer to a column name or a system column name in the table. v The name is specified in an ORDER BY clause and is the same as more than 1 result column name. v OLD_ROW and NEW_ROW are specified for an SQL trigger and a transition variable specified in the routine body is not qualified. Recovery Text: Qualify the column name with a table name or correlation name or use the AS clause to provide a unique result column name that can be specified in the ORDER BY clause. Qualify the transition variable in the trigger with the name specified for OLD_ROW or NEW_ROW. Try the request again. -203 42702
SQL0204 Message Text: Cause Text: &1 in &2 type *&3 not found. &1 in &2 type *&3 was not found. If this is an ALTER TABLE statement and the type is *N, a constraint was not found. If this is not an ALTER TABLE statement and the type is *N, a function, procedure, or trigger was not found. Change the name and try the request again. If the object is a node group, ensure that the DB2 Multisystem product is installed on your system and create a nodegroup with the CRTNODGRP CL command. +204 -204 01532 42704
Recovery Text:
SQL0205 Message Text: Cause Text: Column &1 not in table &2 in &3. A column with the name &1 does not exist in table or view &2 in library &3.
60
Table 121. SQL0205 (continued) SQL0205 Recovery Text: Do one of the following and try the request again: v Make certain that the column names, table names, and any qualifiers are specified correctly. v If the column is not qualified, the column &1 is no longer in table &2. It was originally found in table &2, but it no longer exists. If the column is now available in a different table and is referenced by this statement, a precompile may be necessary. v If more than one table is referenced in a SQL statement, the column name should be qualified. v If this is a CREATE TABLE statement and column &1 is specified in a partitioning key or constraint for the table being created, add a column definition for column &1 or remove it from the constraint or partitioning key. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 122. SQL0206 SQL0206 Message Text: Cause Text: Column &1 not in specified tables. &1 is not a column of table &2 in library &3. If the table is *N, &1 is not a column of any table or view that can be referenced. Do one of the following and try the request again: v Ensure that the column and table names are specified correctly in the statement. v If this is a SELECT statement, ensure that all the required tables were named in the FROM clause. v If the column was intended to be a correlated reference, qualify the column with the correct table designator. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 123. SQL0208 SQL0208 Message Text: &ORDER BY column 1 or expression not in result table. -206 42703 -205 42703
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
61
Table 123. SQL0208 (continued) SQL0208 Cause Text: &Column 1 or an expression is specified in the ORDER BY clause and is not valid because: v The column or expression is not in the result table (is not specified in the SELECT list). v The column or expression is in the SELECT list but the result column is renamed using an AS clause. If the AS clause is used to name a column in the result table, the name specified on the AS clause must be the name specified on the ORDER BY clause. v A qualified name in the ORDER BY clause refers to a name specified in an AS clause. A name specified in an AS clause cannot be qualified. v The name does not refer to a named column of the result table when a UNION or UNION ALL operator is specified. The result column is named if the corresponding columns in each SELECT list have the same name. Recovery Text: Do one of the following and try the request again: v &Add column 1 or the expression to the result table. v &Remove column 1 or the expression from the ORDER BY clause. v &Ensure 1 is a named result column if UNION or UNION ALL is specified. v &Specify a numeric column identifier in place of 1 in the ORDER BY clause. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 124. SQL0212 SQL0212 Message Text: Cause Text: Duplicate table designator &1 not valid. One of the following has occurred: v More than one table in a FROM clause of a subselect has a table designator with the name &1. If a correlation name is specified, the correlation name is the table designator. If one is not specified, the table name or view name is the table designator. If SQL naming is specified, the table name consists of the implicit or explicit collection name followed by the actual table name. If system naming is specified, the table name itself is used without a qualifier as the table designator. The table designator must be unique on each level of a subselect. v Names specified in the REFERENCING clause of a CREATE TRIGGER statement are not unique. The names specified for the NEW and OLD correlation name and the NEW_TABLE and OLD_TABLE names must be unique and must not be the same as the table on which the trigger is being defined. -208 42707
62
Table 124. SQL0212 (continued) SQL0212 Recovery Text: Make certain there is a unique table designator for every table in a FROM clause for the same level of a subselect. Since collection-name/table-name cannot be used to qualify a column, the table name must be unique or a correlation name must be specified. Specify unique names in the REFERENCING clause of the CREATE TRIGGER statement. Correct any errors and try the request again. -212 42712
SQL0213 Message Text: Cause Text: Recovery Text: Parameter &1 not in routine &2 in &3. A parameter with a name &1 does not exist in routine &2 in library &3. Make certain that the parameter name, routine name, and any qualifiers are specified correctly. Try the request again. -213 42703
SQL0214 Message Text: Cause Text: ORDER BY expression is not valid. The expression in the ORDER BY clause in position &1 is not valid for reason code &3. v 1 - The SELECT statement contains a UNION. v 2 - DISTINCT is specified in the SELECT clause and the expression cannot be matched exactly with an expression in the select list. v 3 - The select list uses a column function or there is a GROUP BY clause and the expression is not a column function or does not match exactly with an expression in the select list. v 4 - A column function in the ORDER BY clause requires grouping. Recovery Text: Make the change listed for reason &3 and try the request again: v 1 - Remove the expression from the ORDER BY clause. v 2 - Remove DISTINCT from the select clause or change the ORDER BY expression to refer to a select list item by using a numeric column identifier or a column name. v 3 - Change the expression in the ORDER BY clause to a column function or change to use a numeric column identifier or a column name. v 4 - Add a GROUP BY clause or remove the column function from the ORDER BY clause.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
63
Table 126. SQL0214 (continued) SQL0214 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 127. SQL0221 SQL0221 Message Text: Cause Text: Number of rows &2 not valid. A blocked FETCH, a blocked INSERT, or a SET RESULT SETS statement is not valid. The number of rows specified is not between 0 and 32767 or is greater than the dimension of the host structure array. The number of rows specified is &2 and the dimension of the array is &3. If this is a FETCH statement, the cursor name is &1. Either ensure the number of rows is from 0 through 32767 and less than or equal to the dimension of the array, or increase the size of the array. -221 42873 -214 42822
Recovery Text:
SQL0225 Message Text: Cause Text: FETCH not valid; cursor &1 not declared with SCROLL. A FETCH statement was specified with PRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT, or RELATIVE for cursor &1. Cursor &1 was not declared with SCROLL. Only NEXT may be used for cursors that have not been declared SCROLL. In order to specify PRIOR, FIRST, LAST, BEFORE, AFTER, CURRENT or RELATIVE on the FETCH statement, the cursor must be declared scrollable. To create a scrollable, read-only cursor, add the SCROLL keyword to the DECLARE CURSOR statement for cursor &1. To create a scrollable cursor that can be updated, add the DYNAMIC SCROLL keywords to the DECLARE CURSOR statement for cursor &1. -225 42872
Recovery Text:
SQL0226 Message Text: Current row deleted or moved for cursor &1.
64
Table 129. SQL0226 (continued) SQL0226 Cause Text: A FETCH CURRENT was specified for scrollable cursor &1. The current row was either deleted or updated. If the row was updated, one of the following could have occurred: v A value of an ORDER BY column of the current row has changed. v A value of a column in the index has changed. v A column has been changed so it no longer meets the record selection criteria. Recovery Text: Specify NEXT, PRIOR, FIRST, LAST, BEFORE, AFTER, or RELATIVE on the FETCH statement to position the cursor and fetch another row. -226 24507
SQL0227 Message Text: Cause Text: FETCH not valid, cursor &1 in unknown position. A previous blocked FETCH for cursor &1 resulted in an error (SQLCODE &2, SQLSTATE &3) in the middle of processing a block of rows retrieved from the database manager. One or more rows left in the block could not be returned to the program following the error, leaving the position of the cursor unknown. If the SQLSTATE is *N, the error is unknown. Close and reopen the cursor to set the position. For scrollable cursors, FIRST, LAST, BEFORE, or AFTER may also be used to position the cursor. -227 24513
Recovery Text:
SQL0228 Message Text: Cause Text: FOR UPDATE clause not valid with SCROLL for cursor &1. The FOR UPDATE clause and SCROLL keyword are specified for cursor &1. The FOR UPDATE clause is not valid with the SCROLL keyword unless the DYNAMIC keyword is also specified. If SCROLL is specified and DYNAMIC is not specified, the cursor is read-only. If DYNAMIC SCROLL is specified, the cursor can be updated. To declare a scrollable cursor that is read-only, specify the SCROLL keyword but do not specify the FOR UPDATE clause. To declare a scrollable cursor that can be updated, specify DYNAMIC SCROLL. Precompile the program again. -228 42620
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
Recovery Text:
65
Table 132. SQL0231 SQL0231 Message Text: Cause Text: Position of cursor &1 not valid for FETCH of current row. A FETCH CURRENT or a FETCH RELATIVE 0 was specified for scrollable cursor &1. The operation is not valid because the cursor is not positioned on a record. A FETCH of the current row is not allowed following a FETCH BEFORE, a FETCH AFTER, or a FETCH that resulted in an SQLCODE of +100. Ensure the cursor is positioned on a record before attempting to fetch the current row. -231 22006
SQL0237 Message Text: Cause Text: Not enough SQLVAR entries were provided in the SQLDA. The SQLDA only provided &2 SQLVAR entries. Since at least one of the columns being described is a distinct type or a LOB, &3 SQLVAR entries should have been specified. None of the secondary SQLVAR entries have been set. Since at least one of the columns is a distinct type or a LOB, space should be provided for twice as many SQLVAR entries as the number of columns. Only the base SQLVAR entries have been set. If there is no need for the additional information about the distinct type(s) or LOB(s), then no action is required. If this information is needed, the value of the SQLN field in the SQLDA should be increased to the value indicated in the message, and the statement should be resubmitted. +237 01594
Recovery Text:
SQL0239 Message Text: Cause Text: Not enough SQLVAR entries were provided in the SQLDA. The SQLDA only provided &1 SQLVAR entries. Since at least one of the columns being described is a distinct type or a LOB, &2 SQLVAR entries should have been specified. No SQLVAR entries have been set. If any of the columns is a distinct type or a LOB, then space should be provided for twice as many SQLVAR entries as the number of columns. None of the SQLVAR entries have been set.
66
Table 134. SQL0239 (continued) SQL0239 Recovery Text: If the distinct type or LOB information is needed, the value of the SQLN field should be increased to the value indicated in the message, and the statement should be resubmitted. If there is no need for the additional information about the distinct type(s) or LOB(s), then it is possible to resubmit the statement only providing enough SQLVAR entries to accommodate the number of columns. +239 01005
SQL0250 Message Text: Cause Text: Local relational database not defined in the directory. One of the following has occurred: v Three part names were used and the relational database name is not defined in the relational database directory. v A connect was attempted and the relational database name is not defined in the relational database directory. v The SQL statement uses the CURRENT SERVER special register and the local relational database name is not defined in the relational database directory. v The SQL statement referred to a view which used the CURRENT SERVER special register and the the local relational database name is not defined in the relational database directory. Recovery Text: Define the local relational database name using the Add Relational Database Directory Entry (ADDRDBDIRE) command. -250 42718
SQL0251 Message Text: Cause Text: Character in relational database name &1 not valid. &1 contains either a #, @, ., or a $, which are not valid character for a relational database name. Valid characters include A-Z, 0-9, and underscore. Correct the name. Try the request again. -251 2E000 42602
SQL0256 Message Text: Constraint &1 in &2 not allowed on distributed file.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
67
Table 137. SQL0256 (continued) SQL0256 Cause Text: Constraint &1 in &2 not allowed for one of the following reasons: v The columns that make up the partitioning key must be a subset of the columns that make up the foreign key. The columns may appear in any order. v The node group of the dependent table in a foreign key constraint must match the node group of the parent table. Recovery Text: Ensure that every column that is in the partitioning key is also in the foreign key for the table. Also ensure that the dependent table and the parent table are built over the same nodegroup. -256 42998
SQL0270 Message Text: Cause Text: Function not allowed for distributed table &1 in &2. Table &1 in &2 is a distributed table. The function is not allowed for one of the following reasons: v The unique index or unique constraint is not allowed, because all unique indexes or unique constraints of a distributed table must be a superset of the columns that make up the partitioning key. If this is a CREATE TABLE statement and the PARTITIONING KEY clause was not specified, then the default partitioning key is the first column of the primary key, or the first valid column of the table. v Data in one of the partitioning key columns was changed via an UPDATE statement, which would have forced the row to a different node. v The table contains a LOB field. LOB fields are not allowed in a distributed table. Recovery Text: Ensure that all unique indexes or unique constraints contain all the columns of the partitioning key. Ensure that data in the partitioning key columns is not changed, or is changed to a value that would reside on the same node. Ensure the table does not contain any LOB fields. -270 42990
SQL0301 Message Text: Input host variable &2 or argument &1 not valid.
68
Table 139. SQL0301 (continued) SQL0301 Cause Text: The value in relative position &1 in the statement is a type that is not compatible with the requested operation. The value is host variable &2, entry &1 in an SQLDA, or argument &2 in a CALL statement. A name *N indicates that a users SQLDA was used or that a constant or special register was specified on the CALL statement. Do one of the following and try the request again: v Use a host variable that is the correct type. v Specify an argument in the CALL that is the correct type. v Change the type specified for parameter &1 in the DECLARE PROCEDURE statement. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 140. SQL0302 SQL0302 Message Text: Cause Text: Conversion error on input host variable or parameter &2. Host variable or parameter &2 or entry &1 in an SQLDA contains a value that can not be converted to the attributes required by the statement. Error type &3 occurred. Error types and their meanings are: v 1 Overflow. v 2 Floating point overflow. v 3 Floating point underflow. v 4 Floating point conversion error. v 5 Not an exact result. v 6 Numeric data that is not valid. v 7 Double-byte character set (DBCS) data that is not valid. v 8 C NUL-terminator is missing for character host variables or double NUL-terminator is missing for graphic host variables and the program was compiled with the *CNULRQD option. v 9 Character truncation when mapping a host variable or constant to a character parameter on a CALL statement. v 10 Incompatible conversion from the input SQLDATA value to the specified SQLTYPE in a REXX application. v 11 Overflow on translation of UTF-8 character data. v If the host variable name is *N and the statement is FETCH, an SQLDA was specified. If the parameter name is *N and the statement is CALL, an SQLDA, a constant, or a special register was specified. Recovery Text: Change the value of the host variable or parameter or entry in the SQLDA so that it can be converted and is valid. Try the request again. -302 22001 22003 22023 22024 -301 07006 42895
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
69
Table 141. SQL0303 SQL0303 Message Text: Cause Text: Host variable &2 not compatible. A FETCH, SELECT, CALL, SET, or VALUES INTO cannot be performed because the data type of host variable &2 is not compatible with the data type of the corresponding list item. v When selecting a date value, a character host variable must be at least 6 bytes for a Julian date, at least 8 bytes for a date in the MDY, YMD, DMY formats, or at least 10 bytes for all other formats. v When selecting a time value, a character host variable must be at least 8 bytes for a time in the USA format and at least 5 bytes for all other formats. v When selecting a timestamp value, a character host variable must be at least 19 bytes. v If the host variable is C NUL-terminated and the program was compiled with *CNULRQD option, then an additional byte is required for the NUL-terminator for date/time values. v The relative position of the host variable in the INTO clause, the SQLDA, or the CALL statement is &1. If the host variable name is *N, an SQLDA was specified on a FETCH statement. Recovery Text: Ensure that the data types are compatible for each of the corresponding list items. Ensure the host variables are defined correctly for date, time, and timestamp values. -303 22001 42806
SQL0304 Message Text: Cause Text: Conversion error in assignment to host variable &2. During an attempt to return a value to host variable &2 on a FETCH, an embedded SELECT statement, a CALL statement, a SET statement, or a VALUES INTO statement. error type &3 occurred. A list of the error types follows: v Error type 1 is overflow. v Error type 2 is floating point overflow. v Error type 3 is floating point underflow. v Error type 4 is a floating point conversion error. v Error type 5 is not an exact result. v Error type 6 is numeric data that is not valid. v Error type 7 is double-byte character set (DBCS) data that is not valid. The relative position of the host variable is &1. If the host variable name is *N, an SQLDA was specified on the FETCH or CALL statement.
70
Table 142. SQL0304 (continued) SQL0304 Recovery Text: Change the size and, if necessary, the type of the host variable or entry in the SQLDA so that it can contain the result value or correct the data that is not valid. Precompile the program again. +304 -304 01515 01547 01565 22003 22023 22504
SQL0305 Message Text: Cause Text: Indicator variable required. A FETCH, an embedded SELECT, a CALL or a SET or VALUES INTO statement has resulted in a null value, but an indicator variable was not specified for host variable &2. The relative position of the host variable in the INTO clause or parameter list is &1. If the host variable name is *N, an SQLDA was specified. Specify an indicator variable, and precompile the program again. -305 22002 22004
SQL0306 Message Text: Cause Text: REXX input host variable &1 not defined. The REXX input host variable &1 appears in an SQL statement, but it is not defined because a value has not been assigned to the variable. Verify that &1 is spelled correctly in the SQL statement and that a value is assigned to the host variable before the SQL statement is run. -306 42863
Recovery Text:
SQL0311 Message Text: Cause Text: Length in a varying-length or LOB host variable not valid. Host variable &2 was specified. The value in the length portion of the variable length or LOB host variable is either negative or greater than the declared length. If the host variable is graphic the length should be the number of DBCS characters. The host variable number is &1. The specified length is &4. The variable is declared to have length &3. Change the length portion of the varying-length or LOB host variable to a valid positive number or zero. Try the request again.
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
71
Table 145. SQL0311 (continued) SQL0311 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 146. SQL0312 SQL0312 Message Text: Cause Text: Variable &1 not defined or not usable. The variable &1 appears in the SQL statement, but one of the following conditions exists: v No declaration for the variable exists. v The attributes are not correct for the use specified. v The host variable was specified in dynamic SQL. Host variables are not valid in dynamic SQL. v In REXX, host variable names cannot contain embedded blanks. v The variable name is used in the routine body of an SQL procedure or function, but the variable is not declared as an SQL variable or parameter. The scope of an SQL variable is the compound statement that contains the declaration. v The variable is used in the routine body of an SQL trigger, but the variable is not declared as an SQL variable or the variable is an OLD transition variable and cannot be modified. Recovery Text: Do one of the following and try the request again. v Verify that &1 is spelled correctly in the SQL statement. v Verify that the program contains a declaration for that variable. v Verify that the attributes of the variable are compatible with its use in the statement. v Use parameter markers in dynamic SQL instead of host variables. v Remove embedded blanks from REXX host variable names. v Declare the variable as an SQL variable or parameter in the SQL procedure or function. v Declare the variable as an SQL variable or specify a NEW transition variable when the variable is modified in an SQL trigger. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 147. SQL0313 SQL0313 Message Text: Number of host variables not valid. -312 42618 -311 22501
72
Table 147. SQL0313 (continued) SQL0313 Cause Text: The number of host variables or entries in an SQLDA specified in either an EXECUTE or OPEN statement is not the same as the number of parameter markers specified in the prepared SQL statement &1. If the statement name is *N, the number of host variables or entries in an SQLDA was specified in an OPEN statement and is not the same as the number of host variables specified in the DECLARE CURSOR statement for cursor &2. Change the number of host variables specified in the USING clause or the number of entries in the SQLDA to equal the number of parameter markers in the prepared SQL statement or the number of host variables in the DECLARE CURSOR statement. Precompile the program again. -313 07001 07004
Recovery Text:
SQL0326 Message Text: Cause Text: Too many host variables specified. &1 host variables were specified on the FETCH, embedded SELECT, SET, or VALUES INTO statement, but only &2 columns were returned from the query. Extra host variables will be filled with the appropriate default value for the specified type. v Character host variables and character LOBs will be filled with blanks. v Binary LOBs will be filled with null characters. v Date host variables will be filled with the current date. v Time host variables will be filled with the current time. v Timestamp host variables will be filled with the current timestamp. v Graphic host variables and double-byte character LOBs will be filled with double-byte blanks. v UCS-2 host variables will be filled with UCS-2 blanks. v Variable length character and graphic host variables will be set to a length of 0. v C NUL-terminated character host variables will have a NUL-terminator set into the first character position. v C NUL-terminated graphic host variables will have a double NUL-terminator set into the first DBCS character position. v Numeric host variables will be set to a value of 0. v REXX host variables will be defaulted to variable length character with the length set to 0. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: No recovery is necessary. +326 01557
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
73
Table 149. SQL0328 SQL0328 Message Text: Cause Text: Column &1 not allowed in partitioning key. Column &1 is not allowed to be part of the partitioning key. If the column name is *N, then there are no valid columns for use as the default partitioning key. Columns of type DATE, TIME, TIMESTAMP, FLOAT, DATALINKS, and LOBs are not allowed in the partitioning key. Remove the column from the list of partitioning key columns, or change the data type of the column. -328 42996
SQL0329 Message Text: Cause Text: The SET PATH name list is not valid. String constant or input host variable &1 contains a SET PATH name list that is not valid. A host variable name *N indicates that an incorrect string constant was specified on the SET PATH statement or for the SQLPATH on the SET OPTION statement. The name list must have the following attributes: v The length must be greater than 0. v The length cannot be greater than 3483. v It must contain a list of valid schema names, separated by commas. v The list can contain a maximum of 268 schema names. v Each schema name must be capitalized unless it is a delimited name. v The list cannot contain the special values, *LIBL, CURRENT PATH, SYSTEM PATH or USER. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 151. SQL0330 SQL0330 Message Text: Cause Text: Character conversion cannot be performed. An attempt was made to convert column or host variable &2 to column or host variable &3. The conversion cannot be performed. If the source data is character and has a mixed Coded Character Set Identifier (CCSID), then double-byte characters were found. These mixed data conversions are only allowed if the source data does not contain any double-byte data. If the data is graphic, the CCSID values are not compatible or the string contains single-byte characters. The source CCSID is &4, and the target CCSID is &5. Use a string constant or host variable with the correct value. -329 0E000
74
Table 151. SQL0330 (continued) SQL0330 Recovery Text: Ensure that all character or graphic comparison, concatenation, or assignment is between columns or host variables with compatible CCSID values. If character data and the source CCSID is mixed, the source data should not contain any double-byte characters. If graphic data, the string cannot contain single-byte characters. Use a casting function like VARCHAR to convert between character, DBCS graphic, and UCS-2 graphic data. -330 22021
SQL0331 Message Text: Cause Text: Character conversion cannot be performed. An attempt was made to convert column or host variable &2 to column or host variable &3. The conversion cannot be performed. If the source data is character and has a mixed Coded Character Set Identifier (CCSID), then double-byte characters were found. Mixed CCSID character conversions are only allowed if the source data does not contains any double-byte data. If the data is graphic, the CCSID values are not compatible. The source CCSID is &4, and the target CCSID is &5. Ensure that all character or graphic assignments are between columns or host variables with compatible CCSID values. If character and the source CCSID is mixed, the source data should not contain any double-byte characters. Use a casting function like VARCHAR to convert between character, DBCS graphic, and UCS-2 graphic data. +331 -331 01520 22021
Recovery Text:
SQL0332 Message Text: Cause Text: Character conversion between CCSID &1 and CCSID &2 not valid. Character or graphic conversion has been attempted for data that is not compatible. There is no conversion defined between CCSID &1 and CCSID &2. If one CCSID is 65535, the other CCSID is a graphic CCSID. Conversion is not defined between 65535 and a graphic CCSID. If this is a CONNECT statement, conversion is not defined between the default application requester SBCS CCSID and the application server SBCS CCSID. If the second CCSID is 0, the application server did not return its default SBCS CCSID. An application server other than an iSeries server may not support a CCSID of 65535.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
75
Table 153. SQL0332 (continued) SQL0332 Recovery Text: Ensure that all character or graphic comparisons, concatenation, or assignments are between columns or host variables with compatible CCSID values. If this is a CONNECT statement, change either the SBCS CCSID of the application requester or the application server, so conversion between the CCSID values is defined. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 154. SQL0334 SQL0334 Message Text: Cause Text: Character conversion resulted in truncation. Character conversion of column or host variable &2 has resulted in truncation. An attempt was made to convert mixed ASCII data to mixed EBCDIC data or to convert UCS-2 graphic data to mixed EBCDIC data. The length of the data has increased due to the insertion of shift characters. The resulting string did not fit in the target, and truncation occurred. When converting from mixed ASCII to mixed EBCDIC or from UCS-2 graphic to mixed EBCDIC, ensure that there is enough space in the target. -334 22524 -332 57017
Recovery Text:
SQL0335 Message Text: Cause Text: Character conversion resulted in substitution characters. Character column or host variable &2 has been converted to character column or host variable &3. The conversion defines that several different character values in the source data will translate to the same value in the target data. It will no longer be possible to separate these values. The CCSID of the source data is &4 and the CCSID of the target is &5. Change the definition of the columns or host variables so that CCSID values that are used will allow all character values in the source to be converted to character values in the target. +335 01517
Recovery Text:
76
Table 156. SQL0338 (continued) SQL0338 Cause Text: The JOIN predicate is not valid because a column is specified that exists in a table that is outside the scope of the join predicate. The scope is generally determined from left to right but is also based on the position of the join-condition. If parentheses are used, columns inside the parentheses can not come from a table outside the parentheses. Do one of the following and try the request again: v Make certain that the column names, table names, and any qualifiers are specified correctly. v Specify parentheses around joined tables to specify a join order other than left to right. Ensure columns exist in tables that are in the same scope. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 157. SQL0340 SQL0340 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 158. SQL0341 SQL0341 Message Text: Cause Text: Cyclic references between common table expressions. The common table expressions specified are not valid. The subselect for table &1 refers to table &2 and the subselect for table &2 refers to table &1. Cyclic references between common table expressions are not allowed. Change the common table expressions to refer to a table that exists or a common table expression that has already been defined. Try the request again. -341 42835 Duplicate name &1 for common table expressions. Name &1 cannot be used to define more than one table expression. Change the name for one of the common table expressions. Try the request again. -340 42726 -338 42972
Recovery Text:
Recovery Text:
SQL0346 Message Text: Cause Text: Recursion not allowed for common table expressions. The common table expression specified is not valid. The subselect for table &1 refers to itself. Recursive common table expressions are not allowed.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
77
Table 159. SQL0346 (continued) SQL0346 Recovery Text: Change the common table expressions to refer to a table that exists or a common table expression that has already been defined. Try the request again. -346 42836
SQL0350 Message Text: Cause Text: Column &1 not valid. One of the following errors has occurred: v A LOB or DataLink column is not valid as a key field, the key of an index, or the foreign key of a referential constraint. v A DataLink column with the FILE LINK CONTROL option cannot be in a table in QTEMP, QSYS, QSYS2, or SYSIBM, or in a temporary table. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 161. SQL0351 SQL0351 Message Text: Cause Text: The AR is not at the same level and DB2 cannot transform the data type to a compatible type. The data type of entry &1 is not supported on the Application Requester. The usual cause it that the Application Requester is at less than Level 6 for the SQL Access Manager, and the Application Server cannot transform the data type to a compatible type. It can also mean that an attempt was made to use SQLCI (SQL Client Integration) with an unsupported data type such as BLOB or DataLink. Change the data type to one that is supported by the corresponding Application Requester or SQLCI. -351 56084 Remove the LOB or DataLink column from the specification of the table, index, key, or constraint. -350 42962
SQL0352 Message Text: Cause Text: The AS is not at the same level and DB2 cannot transform the data type to a compatible type. The data type of entry &1 is not supported on the Application Server. The Application Server is at less than Level 6 for the SQL Access Manager, and the Application Requester cannot transform the data type to a compatible type.
78
Table 162. SQL0352 (continued) SQL0352 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 163. SQL0357 SQL0357 Message Text: Cause Text: File server &1 used in DataLink not currently available. Server &1 in the URL of the DataLink value is not available for reason code &2. The reason codes are as follows: v 1 The file server in a Datalink value is not available. v 2 The database server, instance, or database from which the operation was attempted is not registered with the file server. v 3 Restart recovery is pending or is in progress on a file server involved in the operation. v 4 The file server in a Datalink value is registered with the database but is an unknown server. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 164. SQL0358 SQL0358 Message Text: Cause Text: Error &1 occurred using DataLink data type. An error occurred while using a DataLink. Possible errors are: v Error type 21 is format of DataLink value not valid. v Error type 22 is the DataLink File Manager (DLFM) is not properly configured on the server. v Error type 23 is link type not valid. v Error type 24 is file does not exist. v Error type 25 is file already linked. v Error type 26 is file not available. v Error type 27 is length of comment or URL not valid. v Error type 28 is user not authorized to link the file. Recovery Text: Correct that error in the DataLink and try the request again. For error type 22, it may be that the host database or the prefix have not been added to the DLFM on the server. If that is the case, use the commands Add Host Database to DLFM (ADDHDBDLFM) or Add Prefix to DLFM (ADDPFXDLFM) to correct the error. -358 428D1 Verify that the server is running and can be accessed. Try the request again. -357 57050 Change the data type to one that is supported by the corresponding Application Server. -352 56084
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
79
Table 165. SQL0359 SQL0359 Message Text: Cause Text: Value for identity column not available. The INSERT or UPDATE statement cannot be run because all values for the identity column have already been assigned. Alter the column to allow a larger range of values for the identity column or alter the column to allow for cycling of the identity values. -359 23522
Recovery Text:
SQL0360 Message Text: Cause Text: Datalink in table &1 in &2 may not be valid due to pending links. Table &1 in library &2 has DataLinks in link pending mode. While the DataLink can be retrieved using FETCH or SELECT INTO, the DataLink may not be valid because the file has DataLinks in link pending mode. Verify that the value retrieved is a valid URL. The command WRKPFDL (Work with Physical File DataLinks) can be used to determine which files have DataLinks in link pending mode. +360 01627
Recovery Text:
SQL0372 Message Text: Cause Text: Only one ROWID or IDENTITY column allowed for table &2 in &3. Column &1 cannot be created in table &2 in &3 because column &4 has already been defined. There can be at most one IDENTITY column and one ROWID column defined in a table. Remove one of the columns or change the attributes so that only a single column is defined as ROWID or as an IDENTITY column. Try the request again. -372 428C1
Recovery Text:
80
Table 168. SQL0373 (continued) SQL0373 Cause Text: One of the following has occurred: v The DEFAULT clause is specified for an IDENTITY column or ROWID column on the CREATE TABLE or ALTER TABLE statement. v A SET statement is specified in an SQL trigger that assigns DEFAULT to an IDENTITY column or a ROWID column that was defined as GENERATED BY DEFAULT. Recovery Text: Remove the DEFAULT clause from the definition of the column or change the SET statement so it does not assign a value of DEFAULT. Try the request again. -373 42623
SQL0387 Message Text: Cause Text: No additional result sets returned. Procedure &1 in &2 was defined to return a maximum number of &4 result sets. The procedure returned &3 result sets. None. +387 02001
SQL0390 Message Text: Cause Text: Use of function &1 in &2 not valid. Use of function &1 in schema &2 is not valid. The specific name is &3. One of the following has occurred: v A table function was specified in a clause other than the FROM clause. v A function was specified in the FROM clause but the function is not a table function. v A table function was specified as a source function in a CREATE FUNCTION statement. Recovery Text: Remove the function from the clause or change the function name, arguments, or path so that a different function is found. Try the request again. -390 42887
SQL0391 Message Text: Cause Text: Table function cannot be argument of function &1. The table designator for a table function cannot be used as the argument of function &1 in schema &2.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
81
Table 171. SQL0391 (continued) SQL0391 Recovery Text: Use a table designator that does not represent a table function as the argument of this function. Try the request again. -391 42881
SQL0392 Message Text: Cause Text: Recovery Text: Assignment of LOB to specified host variable not allowed. The target host variable for all fetches of this LOB value for cursor &1 must be a locator or a LOB host variable. Change the target of this fetch to either a LOB host variable or a LOB locator to be consistent with other fetches for this cursor. If it is necessary to use both LOB host variables and LOB locators as targets for this fetch, use the *NOOPTLOB compiler option. -392 42855
SQL0398 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 174. SQL0399 SQL0399 Message Text: Cause Text: Value for ROWID column &1 not valid. The INSERT or UPDATE statement cannot be run because the value specified for ROWID column &1 is not valid. Remove column &1 from the column list or specify a valid ROWID value or DEFAULT for column &1. -399 22511 AS LOCATOR cannot be specified for a non-LOB parameter. AS LOCATOR is only allowed for LOB parameters to a procedure or function. Use AS LOCATOR only for a LOB parameter to a procedure or function. -398 428D2
82
Table 175. SQL0401 (continued) SQL0401 Cause Text: The operands of comparison operator &1 are not compatible. v Numeric operands are compatible with any other numeric operands. v Character operands are compatible with operands that are character, graphic, date, time, timestamp, or LOB. v Date, time, timestamp, or LOB operands are compatible with character operands or with another operand of the same type. v Graphic and large object operands are compatible with graphic, character, or large object operands. v Operands that are user-defined types can only be compared to operands that are the same exact type. v Datalink operands cannot be compared. Recovery Text: Check the data types of all operands to see if the data types are compatible. If all the operands of the SQL statement are correct and a view is being accessed, then check the data types of all the operands in the view definition. Correct the errors. Try the request again. -401 42818
SQL0402 Message Text: Cause Text: &1 use not valid. An operand has been specified for the arithmetic function or operator &1 that is not valid. v User-defined types cannot be specified as operands of operators or scalar functions. User-defined types can only be specified with operators and within user-defined functions created specifically for that type. v The operand of DIGITS can be any numeric type except floating-point. v The operand of INTEGER, SMALLINT, BIGINT, FLOAT, DOUBLE, and DOUBLE_PRECISION cannot be date, time, or timestamp. v The other functions or operators require numeric operands. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 177. SQL0403 SQL0403 Message Text: Alias &1 in &2 created but table or view not found. Ensure all operands of function or operator &1 are valid. Correct the operands. Try the request again. -402 42819
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
83
Table 177. SQL0403 (continued) SQL0403 Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 178. SQL0404 SQL0404 Message Text: Cause Text: Value for column or variable &1 too long. An INSERT or UPDATE statement or a SET or VALUES INTO statement specifies a value that is longer than the maximum length string that can be stored in &1. The length of &1 is &2 and the length of the string is &3. Reduce the length of the string from &3 to a maximum of &2 and try the request again. -404 22001 The alias &1 was created in &2, but the referenced table or view, &3 in &4, could not be found. The alias was created, but cannot be used until &3 in &4 is created. +403 01522
SQL0405 Message Text: Cause Text: Numeric constant &1 out of range. The numeric constant beginning &1 is out of range. v Decimal and integer constants may contain a maximum of 31 significant digits. The range allowed for a floating point literal is 2.2250738585072013 * 10**-308 to 1.7976931348623158 * 10**308. v In a SELECT or DECLARE CURSOR statement, 0 is not valid for the number of rows in the OPTIMIZE clause. v The INCREMENT BY value must be an integer value. Recovery Text: Ensure all numeric constants are within the range allowed for the data type and conform to the values allowed for their specific use. Try the request again. -405 42820
84
Table 180. SQL0406 (continued) SQL0406 Cause Text: During an attempt to assign a value to column &2 with an INSERT, UPDATE, or ALTER TABLE statement, conversion error type &3 occurred. If precompiling, the error occurred when converting a numeric constant to the same attributes as column &2. A list of the error types follows: v Error type 1 is overflow. v Error type 2 is floating point overflow. v Error type 3 is floating point underflow. v Error type 4 is a floating point conversion error. v Error type 5 is not an exact result. v Error type 6 is numeric data that is not valid. v Error type 7 is DBCS data that is not valid. Recovery Text: Change the statement so that the result value fits in column &2 and is valid, or create the table or view again, specifying a new type or length for column &2 so that the result value can be assigned. -406 22003 22023 22504
SQL0407 Message Text: Null values not allowed in column or variable &5.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
85
Table 181. SQL0407 (continued) SQL0407 Cause Text: One of the following has occurred: v Column &5 is a target column in an UPDATE or INSERT statement for table &3 in &4. Either a null value was specified to be inserted or updated into this column or a value for the column was not specified in an INSERT statement and the column does not allow null values. The null value was specified in the relative entry number &6 in the VALUES list, select list, or SET clause. v Column &5 is specified in an ALTER statement for table &3 in &4. The attribute of column &5 can not be changed to NOT NULL because a null value exists in relative entry number &6 of the column. v Variable &5 is a target variable in an SQL procedure, function, or trigger. A null value was specified to be set into this variable using a SET or VALUES statement, but the variable does not allow null values. The null value was specified in relative entry number &6 in the SET or VALUES INTO clause. The null value was specified as either NULL, a host variable with an associated indicator variable that contains a negative value, a column containing a null value, or an expression that evaluated to NULL. If it is a host variable or column then the name is &7. The null value for a column may be disallowed by a CHECK constraint that was added implicitly to enforce the NOT NULL attribute of the column specified on the CREATE or ALTER of the column. Recovery Text: If this is an ALTER TABLE statement, change the existing null values in the column to a non-null value. Otherwise, change the value so the result is not null. If a host variable is specified, change the value in the related indicator variable to be greater than or equal to zero. Try the request again. -407 23502
SQL0408 Message Text: Value for column or variable &1 not compatible.
86
Table 182. SQL0408 (continued) SQL0408 Cause Text: The data type of the source value is not compatible with the data type of the target column or variable &1. If the statement is INSERT or UPDATE, &1 is a column in table &2 in &3. v Any numeric type value can be assigned to a column of any numeric type. v Any character, double-byte character set (DBCS), graphic or large object type can be assigned to a column of any character, DBCS, graphic or large object type. v A date, time, or timestamp value can be assigned to any character, DBCS, or graphic type. v Any character, DBCS, or graphic type can be assigned to a date, time, or timestamp column. v A date value can be assigned to a date. v A time value can be assigned to a time. v A timestamp value can be assigned to a timestamp. v A value being assigned to a user-defined type must be promotable to the source type. v The DLVALUE function must be specified when assigning to a DataLink. Recovery Text: Change the column, host variable, constant, or function assigned to &1 to one that is compatible. Try the request again. -408 42821
SQL0410 Message Text: Cause Text: Floating point literal &1 not valid. The number of characters in the floating point constant &1 cannot exceed 24 excluding leading zeros. The number of digits in the first number cannot exceed 17 excluding leading zeros, and the number of digits in the second number cannot exceed 3. Correct the indicated literal &1. Make certain that the floating point literal is in the correct form shown by the following examples: +1.2E+3, 15E1, 2.E5, 2.2e-1, +5.E+2, -.1e1. Try the request again. -410 42820
Recovery Text:
SQL0412 Message Text: Subquery with more than one result column not valid.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
87
Table 184. SQL0412 (continued) SQL0412 Cause Text: For all predicates, except the EXISTS predicate, the subselect of a predicate can have only one result column specified in its SELECT list. The result of the subselect can be zero, one, or many rows to form a list, but it must have only one result column. Change the number of items in the SELECT list of the subselect so only one result column is specified. -412 42823
SQL0414 Message Text: Cause Text: Operand not valid in LIKE predicate. Operand 1 of a LIKE predicate has a type of numeric, date, time, timestamp, DataLink or is a user-defined type. Operands specified in LIKE predicates must be character, graphic, or large objects. If the ESCAPE character is specified, operand 1 cannot be DBCS-only. If the operand is a column, the column name is &1. Change operand 1 of the LIKE predicate to be a character or graphic type or use another operator for numeric, date, time, or timestamp comparisons. Do not specify an ESCAPE character if operand 1 is DBCS-only. Try the request again. -414 42824
Recovery Text:
SQL0415 Message Text: Cause Text: UNION operands not compatible. Column &2 is not compatible with its related column in the other operand of a UNION or UNION ALL clause. The relative position of the value in the select list is &1. One of the following conditions exists: v One column is numeric, and the other is not numeric. v One column is DBCS-only and the other is character. DBCS refers to the double-byte character set. v One of the columns is date, time, or timestamp and the other is not the same type. v One column is graphic, and the other is not graphic or character. v If the column name is *N, the column is not a named column. Recovery Text: Change the columns of the operands of the UNION clause so that they are compatible. If one operand is date, time, or timestamp and the other operand is character, you can use the DATE, TIME, or TIMESTAMP scalar function, respectively, to convert the data to a compatible type. Try the request again.
88
Table 186. SQL0415 (continued) SQL0415 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 187. SQL0417 SQL0417 Message Text: Cause Text: Combination of parameter markers not valid. The statement string specified as the object of a PREPARE statement contains a predicate or expression where parameter markers have been used as operands of the same operator. The following restrictions apply to the use of parameter markers: v Both the operands in a predicate cannot be parameter markers. For example, specifying predicates of the form: ? = ? or ? = ( SELECT ? FROM x ) are not valid. v Both the operands in a expression cannot be parameter markers. For example, specifying an expression of the form: ? + ? is not valid. v At least one of the operands in the BETWEEN predicate cannot be a parameter marker. For example, specifying the predicate of the form: ? BETWEEN ? and ? is not valid. v At least, one of the operands of the IN predicate must not be a parameter marker. For example, specifying the predicate of the form: ? IN (?, ?, ?) is not valid. Recovery Text: Correct the statement so that all operands of the predicate or expression are not parameter markers. A CAST specification can be used in most cases to assign attributes to a parameter marker. Try the request again. -417 42609 -415 42825
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
89
Table 188. SQL0418 (continued) SQL0418 Cause Text: Parameter markers are not allowed: v In the SELECT clause of the statement string to be prepared. v As a value in a VALUES INTO statement. v As an operand of a concatenation operation. v As the operand of a scalar function. If the scalar function is VALUE, COALESCE, IFNULL, MIN, MAX, LAND, LOR, or XOR, then at least one of the arguments must not be a parameter marker. v As the left operand of the LIKE predicate. v As the operand of a unary minus. v In an SQL statement in embedded SQL or in interactive SQL. v In an EXECUTE IMMEDIATE statement. v In a CREATE VIEW, CREATE TABLE, or ALTER TABLE statement. v In a statement processed by the RUNSQLSTM command. v In a blocked INSERT statement. Recovery Text: Ensure parameter markers are only specified where they are allowed. A CAST specification can be used in many situations. Correct any errors. Try the request again. -418 42610
SQL0419 Message Text: Cause Text: Negative scale not valid. A decimal division operation has produced a negative scale. The scale for decimal division is produced by the algorithm: 31 - NP + NS - DS where NP is the precision of the numerator, NS is the scale of the numerator, and DS is the scale of the denominator. Change one of the operands to floating point by using the FLOAT scalar function. This will change the result of division to floating point. If a decimal result is desired, use the DECIMAL scalar function in the floating point result. If one of the operands is integer, small integer, or big integer, SQL has converted it to decimal prior to the division. The DECIMAL function can be used to explicitly convert the integer, small integer, and big integer to a precision that will not cause the division to produce a negative scale. Try the request again. -419 42911
Recovery Text:
90
Table 190. SQL0420 SQL0420 Message Text: Cause Text: Recovery Text: Character in CAST argument not valid. A character in the argument for the CAST function was not correct. Change the result data type to one that recognizes the characters in the CAST argument, or change the argument to contain a valid representation of a value for the result data type. Try the request again. +420 -420 01565 22018
SQL0421 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 192. SQL0423 SQL0423 Message Text: Cause Text: LOB locator &1 not valid. The value of locator &1 is not currently valid. The locator may have been freed by a previous FREE LOCATOR statement or a COMMIT or ROLLBACK. Ensure that the locator value refers to an active locator that has not been freed because of a FREE LOCATOR, COMMIT, or ROLLBACK statement. A LOB value can be assigned to a locator variable by means of a SELECT INTO statement, a VALUES INTO or SET statement, or a FETCH statement. -423 0F001 Number of UNION operands not equal. The operands of a UNION or UNION ALL must have the same number of columns. Correct the SQL statement so that it has the same number of operands in each SELECT list. -421 42826
Recovery Text:
SQL0426 Message Text: Cause Text: Dynamic COMMIT is not valid for the application environment. An application using DRDA two-phase commit protocols has attempted to issue a dynamic COMMIT, or has called a stored procedure which performed a COMMIT ON RETURN. Remove the dynamic COMMIT statement, or change the stored procedure definition to not use COMMIT ON RETURN.
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
91
Table 193. SQL0426 (continued) SQL0426 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 194. SQL0427 SQL0427 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 195. SQL0428 SQL0428 Message Text: Cause Text: SQL statement cannot be run. The statement cannot be run in the current application state. One of the following has occurred: v A SET TRANSACTION or DISCONNECT statement was encountered and a connection is not at a commit boundary. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 196. SQL0429 SQL0429 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 197. SQL0432 SQL0432 Message Text: A parameter marker cannot have the user-defined type name &1. The maximum number of concurrent LOB locators has been reached. The LOB locator could not be generated because there are already 65535 valid locators for this process. Use the FREE LOCATOR statement to free LOB locators. -429 54028 Issue a COMMIT or ROLLBACK prior to running the SQL statement. Try the request again. -428 25501 Dynamic ROLLBACK is not valid for the application environment. An application using DRDA two-phase commit protocols has attempted to issue a dynamic ROLLBACK. Remove the dynamic ROLLBACK statement. -427 2D529 -426 2D528
92
Table 197. SQL0432 (continued) SQL0432 Cause Text: A parameter marker in the statement has been determined as having the user-defined type &1 based on the context in which it is used. A parameter marker cannot have a user-defined type as its data type unless it is part of an assignment (VALUES clause of INSERT or SET clause of UPDATE) or it is being explicitly cast to a user-defined type using the CAST specification. Use an explicit cast to the user-defined distinct type for the parameter marker or cast the columns that are user-defined types to their corresponding source data type. -432 42841
Recovery Text:
SQL0433 Message Text: Cause Text: Significant digits truncated during CAST from numeric to character. The length of the resulting character string is not large enough to hold the character representation of the numeric value. Change the result data type to a character string long enough to hold the result. Try the request again. -433 22001
SQL0440 Message Text: Cause Text: Recovery Text: Routine &1 in &2 not found with specified parameters. A function or procedure with the specified name and compatible arguments was not found. Specify the correct number and type of parameters on the CALL statement or function invocation. Try the request again. -440 42884
SQL0441 Message Text: Clause or keyword &1 not valid where specified.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
93
Table 200. SQL0441 (continued) SQL0441 Cause Text: One of the following errors has occurred: v AS LOCATOR is specified for a parameter in a procedure or as a parameter or in the returns clause of a function and the parameter is not defined as BLOB, CLOB, or DBCLOB. If the parameter is defined as BLOB, CLOB, or DBCLOB, a length, a CCSID value, or a FOR BIT DATA, FOR MIXED DATA, or FOR SBCS DATA clause was specified. v ALL or DISTINCT is specified in a function that is not a column function. Recovery Text: Specify the type as BLOB, CLOB, or DBCLOB or remove the AS LOCATOR clause. Remove the ALL or DISTINCT keyword from the function. -441 42601
SQL0442 Message Text: Cause Text: Too many parameters for procedure &1 in &2 on CALL statement. Only 255 parameters are allowed on the CALL statement. If the procedure is a REXX procedure, only 32766 bytes of data can be passed on the CALL statement. Reduce the number of parameters specified to the maximum of 255. If calling a REXX procedure, limit the total number of bytes of parameter data to be less than 32766. Try the request again. -442 54023
Recovery Text:
SQL0443 Message Text: Cause Text: Trigger program or external routine detected an error. Either a trigger program, external procedure, or external function detected and returned an error to SQL. If the error occurred in a trigger program, the trigger was on file &4 in library &5. If the error occurred in an external procedure or function, the external name is &4 in library &5. The associated text is &6. If the error occurred in a trigger program, the associated text is the type of trigger program. If the error occurred in an external function, the associated text is the text of the error message returned from the external function. Refer to the joblog for more information regarding the detected error. Correct the error and try the request again. -443 38501 38xxx
Recovery Text:
94
Table 203. SQL0444 SQL0444 Message Text: Cause Text: External program &4 in &5 not found. An attempt was made to CALL a procedure or invoke a function. External program or service program &4 in library &5 was not found. The external program or service program associated with the procedure or function cannot be found. Ensure that the an object exists with the name specified on the DECLARE PROCEDURE, CREATE PROCEDURE, or CREATE FUNCTION statement. If no name was specified, ensure that an object with a name which matches the procedure name specified exists. If a program name was specified, a program object must exist. If an entry point name was specified, then a service program object must exist. Try the request again. -444 42724
Recovery Text:
SQL0445 Message Text: Cause Text: Value of parameter &4 in procedure &1 in &2 too long. Parameter &4, which is declared as OUT or INOUT, contains a value that is longer than the maximum length string that can be stored in host variable &8. Parameter &4 is being returned from procedure &1 in &2 to host variable &8. Trailing blanks are not included in the length of the string. The length of the parameter is &6 and the length of the host variable is &7. Increase the length of the host variable from &7 to &6. Try the request again. +445 01004
SQL0446 Message Text: Cause Text: Conversion error in assignment of argument &2. During an attempt to assign input argument number &1 on a CALL statement to the corresponding parameter for the call, error type &3 occurred. A list of the error types follows: v Error type 1 is overflow. v Error type 2 is floating point overflow. v Error type 3 is floating point underflow. v Error type 4 is a floating point conversion error. v Error type 5 is not an exact result. v Error type 6 is numeric data that is not valid. v Error type 7 is double-byte character set (DBCS) data that is not valid. The parameter name is &2.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
95
Table 205. SQL0446 (continued) SQL0446 Recovery Text: Change the attribute declaration for parameter &1 in the DECLARE PROCEDURE statement to match the attributes of argument &1 in the CALL statement or correct the data that is not valid. Try the request again. -446 22003
SQL0448 Message Text: Cause Text: Too many parameters or result sets for routine &1 in &2. One of the following limits has been exceeded: v 255 parameters in a DECLARE PROCEDURE or CREATE PROCEDURE statement. The actual number may be less and depends on the language. v 254 parameters if GENERAL WITH NULLS is specified. v 90 parameters if PARAMETER STYLE SQL or DB2SQL is specified. v 253 parameters for an SQL procedure. v 90 parameters in a CREATE FUNCTION statement. v 124 parameters and return values in a CREATE FUNCTION(Table) statement. v 32767 result sets. Recovery Text: Reduce the number of parameters defined to the maximum or change the value for the number of result sets to be less than or equal to 32767. Try the request again. -448 54023
SQL0449 Message Text: Cause Text: External program name for routine &1 in &2 not valid. The external program name specified on a DECLARE PROCEDURE, CREATE PROCEDURE, or CREATE FUNCTION statement is not valid for the routine or the language specified. v The external program name for a procedure must be of the form library-name/program-name v The external program name for a function must be of the form library-name/program-name or library-name/program-name(entry-point-name). v The external program name for a JAVA procedure or function must be class-name!method-name or class-name.method-name. v The external program name for a REXX procedure must be library-name/source-file-name(membername).
96
Table 207. SQL0449 (continued) SQL0449 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 208. SQL0451 SQL0451 Message Text: Cause Text: Attributes of parameter &1 not valid for procedure or function &3 in &4. The data type, length, or value of parameter &1 is not valid for the language specified for procedure or function &3 in &4. The parameter name is &2. A list of conditions for the parameters follows: v For C: NUMERIC is not a valid data type. v For PL/I: NUMERIC, BIGINT, GRAPHIC, VARGRAPHIC, CLOB, BLOB, and DBCLOB are not valid data types. v For COBOL: precision for DECIMAL or NUMERIC cannot be greater than 18. FLOAT, GRAPHIC, BIGINT, VARGRAPHIC, CLOB, BLOB, and DBCLOB are not valid data types. v For ILE COBOL: precision for DECIMAL or NUMERIC cannot be greater than 18. v For REXX: SMALLINT, BIGINT, NUMERIC, UCS-2 graphic, CLOB, BLOB, and DBCLOB are not valid data types. FLOAT is not valid if the precision is from 1 to 24. v For RPG: FLOAT, BIGINT, VARCHAR, GRAPHIC, VARGRAPHIC, CLOB, BLOB, DBCLOB and ROWID are not valid data types. v For ILE RPG: FLOAT, VARCHAR, and VARGRAPHIC are not valid data types. v For CL: INTEGER, SMALLINT, BIGINT, NUMERIC, VARCHAR, FLOAT, GRAPHIC, VARGRAPHIC, CLOB, BLOB, and DBCLOB are not valid data types. GENERAL WITH NULLS cannot be specified for CL. v DataLinks are not valid data types for parameters unless the routine is an SQL procedure or function. v LOBs with AS LOCATOR are not valid data types for parameters of an SQL procedure or function. Recovery Text: Correct the data type or precision specified for the parameter on the DECLARE PROCEDURE, CREATE PROCEDURE, or CREATE FUNCTION statement. Try the request again. -451 42815 Specify the correct form of the external program name. Try the request again. -449 42878
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
97
Table 209. SQL0452 SQL0452 Message Text: Cause Text: Unable to access a file that is referred to by a file reference variable. The file referred to by the file reference variable (host variable &1) could not be accessed because of reason code &2. The reason codes and their meanings are: v 1 - The file name or path has a format that is not valid. v 2 - The length of the file name is greater than the maximum allowed length. v 3 - The file option is not valid. v 4 - The file cannot be found. v 5 - A file already exists with the same name as that specified for a file that has the NEW option. Recovery Text: Do one of the following: If the reason code is 1, correct the format of the filename or path and then try the request again. v If the reason code is 2, correct the file name and then try the request again. v If the reason code is 3, correct the file option and then try the request again. v If the reason code is 4, specify SQL_FILE_CREATE for the file option and then try the request again. v If the reason code is 5, specify SQL_FILE_OVERWRITE or SQL_FILE_APPEND and then try the request again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 210. SQL0453 SQL0453 Message Text: Cause Text: Return type for function &1 in &2 not compatible with CAST TO type. The data types specified in the RETURNS clause for function &1 in library &2 are not valid. The CAST TO and CAST FROM data types are not compatible. Correct the data type specified in the RETURNS clause for the function. Try the request again. -453 42880 -452 428A1
98
Table 211. SQL0454 (continued) SQL0454 Cause Text: One of the following has occurred: v Procedure &1 with the same number of parameters already exists in library &2. Procedures in a library cannot have the same name and number of parameters. v Function &1 with the same signature already exists in library &2. All functions in the same library must have a unique signature. The database uses the name of the function and the number and data types of the arguments to determine the signature for the function. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 212. SQL0455 SQL0455 Message Text: Cause Text: Library &2 for specific name not same as routine library &3. The specific name library &2 specified on a CREATE PROCEDURE, DECLARE PROCEDURE, or CREATE FUNCTION statement is not the same as library &3 for procedure or function &1. Specify the same library for the specific name as for the procedure or function name. -455 42882 Change the routine name or the parameters or drop the existing routine. Try the request again. -454 42723
SQL0456 Message Text: Cause Text: Specific name &3 in &2 already exists. An attempt was made to create a function or procedure &1 in &2 with specific name &3, but specific name &3 already exists in the library. All routines (functions and procedures) in the same library must have unique specific names. Specify a SPECIFIC NAME that does not exist or do not specify a SPECIFIC NAME and a unique name will be generated for you. Otherwise, delete the existing routine. Try the request again. -456 42710
Recovery Text:
SQL0457 Message Text: Name &1 in &2 not allowed for function.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
99
Table 214. SQL0457 (continued) SQL0457 Cause Text: Function &1 in &2 cannot be created or cannot be used as the source function name. Either the function name is a reserved word or the schema is specified as QSYS, QSYS2, SYSIBM, or QTEMP. Functions cannot be created in QSYS, QSYS2, SYSIBM, or QTEMP. Change the name of the function to one that is not reserved or specify a different schema. Try the request again. -457 42939
Recovery Text:
SQL0458 Message Text: Cause Text: Function &1 in &2 not found with matching signature. Function &1 is specified in library &2. The name of the function and the number and data types of the parameters make up the function signature. A function with a matching signature was not found. Ensure that the function name specified exists and that the number and data types of the parameters match those in the function definition. Try the request again. -458 42883
Recovery Text:
SQL0460 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 217. SQL0461 SQL0461 Message Text: Cause Text: CAST from &1 to &2 not supported. CAST is not supported from data type &1 to data type &2. If the CAST is from date, time, or timestamp to character, the length of the character result is too small. Change the result data type or length to one that is supported for the CAST function or change the expression to have a data type that can be cast to &2. Try the request again. -461 42846 Truncation of data may have occurred for ALTER TABLE of &1 in &2. Table &1 in &2 has been altered. The length of column &3 has been reduced and data may have been truncated. No recovery is necessary. +460 01593
Recovery Text:
100
Table 218. SQL0462 SQL0462 Message Text: Cause Text: Procedure or user defined function &1 in &2 returned a warning SQLSTATE. An SQLSTATE of the form 01Hxx was returned by the procedure or user defined function &1 in &2 (with specific name &3), along with message text &4. The user must understand the meaning of the warning. See your database administrator, or the author of the UDF or procedure. +462 01Hxx
Recovery Text:
SQL0463 Message Text: Cause Text: SQLSTATE &4 returned from routine &1 in &2 not valid. SQLSTATE &4 cannot be returned from an external routine if PARAMETER STYLE SQL or DB2SQL is specified. Routine &1 in &2 is either an external procedure that was called or an external function that was invoked. The specific name is &3. The diagnostic text is &5. Change the external routine to only return a SQLSTATE that is valid for the PARAMETER STYLE SQL or DB2SQL. Try the request again. -463 39001
Recovery Text:
SQL0464 Message Text: Cause Text: Procedure &1 returned &3 result sets, which exceeds the defined limit of &4. The stored procedure &1 in &2 was successful. However, the stored procedure exceeded the defined limit on the number of result sets that can be returned. Only &4 result sets are returned to the SQL program that issued the SQL CALL statement. The possible causes are: v The number of result sets is greater than the maximum specified when the procedure was created. v The stored procedure is unable to return &3 result sets due to DRDA limitations imposed by the client. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: The SQL statement is successful. The SQLWARN9 field of the SQLCA is set to Z. +464 0100E
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
101
Table 221. SQL0466 SQL0466 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 222. SQL0467 SQL0467 Message Text: Cause Text: Another result set exists for procedure &1 in &2. A result set was closed for &1 in &2. Another result set exists for the stored procedure. A maximum of &3 result sets are possible for this procedure. None. +467 0100D &3 result sets are available from procedure &1 in &2. Procedure &1 in &2 was called and has returned one or more result sets. None. +466 0100C
SQL0469 Message Text: Cause Text: IN, OUT, or INOUT not valid for parameter &4 in procedure &1 in &2. The IN, INOUT, or OUT attribute specified for parameter &4 on the DECLARE PROCEDURE or CREATE PROCEDURE statement is not valid. The parameter name is &5. One of the following errors occurred: v The attribute is not consistent with the parameter on the CALL statement. If the parameter was declared INOUT or OUT, the parameter on the CALL statement must be specified as a host variable. v The attribute was specified as INOUT or OUT and REXX was specified as the language. The attribute must be IN if REXX is specified. v A parameter in an SQL procedure is declared as OUT and is used as input in the routine body or is declared as IN and is modified in the routine body. v A parameter in an SQL function is modified in the routine body. Recovery Text: Either change the attribute of the parameter on the DECLARE PROCEDURE or CREATE PROCEDURE statement or change the parameter. Do not modify parameters in an SQL function. Try the request again. -469 42886
102
Table 224. SQL0470 SQL0470 Message Text: Cause Text: Null values not allowed for parameter &4 in procedure &1 in &2. Null values are not allowed on the CALL statement for procedure &1 because the procedure was declared with GENERAL specified. The null value was specified as either the NULL keyword or a host variable with an associated indicator variable that contains a negative value. The parameter number is &4 and the parameter name is &5. Specify GENERAL WITH NULLS on the CREATE PROCEDURE or DECLARE PROCEDURE statement or pass a value other than the null value on the CALL statement. Try the request again. -470 39004
Recovery Text:
SQL0473 Message Text: Cause Text: Name &1 cannot be used for user-defined type. Name &1 specified for a user-defined type is the same as a system predefined type or is a function name that is reserved. Function names that cannot be used include CAST, NODENAME, NODENUMBER, PARTITION, POSITION, RRN, STRIP, SUBSTRING, and TRIM. Change the name for the user-defined type. Try the request again. -473 42918
SQL0475 Message Text: Cause Text: RETURNS data type for function &3 in &4 not valid. The data type specified for the RETURNS clause or the CAST FROM clause for function &3 in library &4 is not appropriate for the data type returned from the sourced function or the value specified on the RETURN statement in the SQL function body. The data type specified in the RETURNS clause is &1 and the data type returned from the sourced function or SQL function is &2. Correct the data types specified or specify another sourced function. Try the request again. -475 42866
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
103
Table 227. SQL0476 SQL0476 Message Text: Cause Text: Routine &1 in &2 not unique. Function or procedure &1 in &2 was specified, not by signature or specific name, and more than one specific instance of the routine was found. Request the routine either by its specific name, or by its signature (function or procedure name with parameter types). Try the request again. -476 42725
Recovery Text:
SQL0478 Message Text: Cause Text: Object &1 in &2 of type &3 cannot be dropped. The base object &1 cannot be dropped because another object depends on it. The dependent object &4 in &5 is of type &6. v If type is *N, the object being dropped is a function. When dropping a function, the dependent object is sourced on the base object. For objects other than functions, it may be that the dependency is indirect. That is, the named object is dependent on another object which is dependent on the object being dropped. v If the base object is a table and if there are other tables with triggers or foreign key constraints dependent on the base table, then the RESTRICT clause of the DROP statement will prevent the base table from being dropped. v If the object type is *LIB and if there are tables, functions, procedures, distinct types, aliases, or triggers in the collection, then the RESTRICT clause of the DROP statement will prevent the collection from being dropped. A trigger can be defined in one collection on a table that exists in a different collection. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 229. SQL0483 SQL0483 Message Text: Cause Text: Parameters for function &1 in &2 not same as sourced function. The number of parameters specified for function &1 in library &2 is not the same as the number of parameters specified for the sourced function. Specify the correct number of parameters for the function or specify another sourced function. If not qualified, ensure the correct sourced function exists in the current path. Try the request again. Drop the dependent objects first. Try the request again. -478 42893
Recovery Text:
104
Table 229. SQL0483 (continued) SQL0483 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 230. SQL0484 SQL0484 Message Text: Cause Text: Routine &1 in &2 already exists. An attempt was made to create routine &1 in &2, but &1 already exists. All procedures and functions in the same library must have unique specific names. Specify a SPECIFIC name that does not exist or do not specify a SPECIFIC name and a unique name will be generated for you. Otherwise, delete the existing routine. Try the request again. -484 42733 -483 42885
Recovery Text:
SQL0487 Message Text: Cause Text: SQL statements not allowed. One of the following errors has occurred: v A procedure was called or a function was invoked that was created with NO SQL specified as the data access attribute. A routine created with NO SQL, or any subsequent routines, cannot contain SQL statements and cannot invoke a routine that has the CONTAINS SQL DATA, READS SQL DATA, or MODIFIES SQL DATA attribute. v NO SQL cannot be specified when creating an SQL procedure or function. v A trigger containing SQL statements was activated. v If the error occurred in a procedure or function, the routine name is &1 and the specific name is &2. Recovery Text: Ensure routines created as NO SQL only invoke routines that do not contain SQL statements. Do not specify NO SQL for an SQL procedure or function. -487 38001
SQL0490 Message Text: Cause Text: Numeric value &1 not valid. &1 was specified, but it is not in the valid range of values for its use. The valid range of values are &2 through &3. Change the value and try the request again. -490
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
105
Table 232. SQL0490 (continued) SQL0490 SQLSTATE or SQLSTATEs: Table 233. SQL0491 SQL0491 Message Text: Cause Text: Clause not correct for CREATE FUNCTION or CREATE PROCEDURE. A clause for CREATE PROCEDURE or CREATE FUNCTION is missing or not allowed. The reason code is &1. Reason codes and their meanings are: v 1 For CREATE FUNCTION, the RETURNS clause is required. v 2 For CREATE FUNCTION, the DBINFO, FINAL CALL, and SCRATCHPAD clauses cannot be specified if the parameter style is SQL or GENERAL. v 3 For CREATE FUNCTION, GENERAL can only be specified if the EXTERNAL NAME specifies a service program. v 4 For CREATE PROCEDURE and CREATE FUNCTION, parameter style JAVA or DB2GENERAL can only be specified for LANGUAGE JAVA. v 5 For CREATE FUNCTION, a table function cannot have parameter style SQL, JAVA, GENERAL, or GENERAL WITH NULLS. v 6 For CREATE PROCEDURE and CREATE FUNCTION, PROGRAM TYPE MAIN is not allowed for JAVA or REXX. For CREATE FUNCTION, PROGRAM TYPE SUB is only allowed for service programs. v 7 For CREATE FUNCTION, a table function must specify DISALLOW PARALLEL. v 8 The CARDINALITY clause is only allowed for table functions. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 234. SQL0492 SQL0492 Message Text: Cause Text: Data type for function &1 in &2 not valid for source type. The data type specified for parameter &3 for function &1 in library &2 is not valid for the corresponding type of the SOURCE function. Correct the data type specified for parameter &3 or specify another sourced function. Try the request again. -492 42879 Add the missing clause or remove the clause that is not allowed. Try the request again. -491 42601 428B7
106
Table 235. SQL0501 SQL0501 Message Text: Cause Text: Cursor &1 not open. The cursor &1 was specified in a FETCH or CLOSE statement, but the cursor is not open. Cursor &1 has one of the following conditions: v Cursor &1 was never opened. v The cursor &1 was opened in another program or another call of this program and the program was created with CLOSQLCSR(*ENDPGM). v The cursor &1 was opened in another module or another call of this module and the module was created with CLOSQLCSR(*ENDMOD). v The cursor &1 was opened in another call of this program and programs which have run SQL statements have ended and the program was created with CLOSQLCSR(*ENDSQL). v The cursor &1 was opened in another call of this module and the activation group ended between calls. The module was created with CLOSQLCSR(*ENDACTGRP). v The cursor was closed by a CLOSE, COMMIT, or ROLLBACK statement. v The cursor &1 was opened under a transaction which is different than the current transaction. Recovery Text: Do one of the following and precompile again: v Make certain that cursor &1 is opened in the same program or module call prior to using the cursor in an FETCH or CLOSE statement. v Specify either CLOSQLCSR(*ENDSQL), CLOSQLCSR(*ENDJOB), or CLOSQLCSR(*ENDACTGRP) when precompiling the application. v If the cursor was closed by a COMMIT or ROLLBACK, specify HOLD on the COMMIT or ROLLBACK statement to preserve any open cursors, prepared statements, and locks on tables. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 236. SQL0502 SQL0502 Message Text: Cause Text: Recovery Text: Cursor &1 already open. The cursor specified in an OPEN statement is already open for this call of the program. Close cursor &1 and then try the OPEN statement again or change the name of the cursor, and then precompile the program again. -502 24502 -501 24501
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
107
Table 237. SQL0503 SQL0503 Message Text: Cause Text: Column &3 cannot be updated. An UPDATE statement attempted to update column &3 in table or view &1 in &2. The column cannot be updated because it was not specified in the FOR UPDATE OF clause in the associated DECLARE CURSOR statement. Add column &3 to the FOR UPDATE OF clause in the related DECLARE CURSOR statement. Precompile the program again. -503 42912
Recovery Text:
SQL0504 Message Text: Cause Text: Cursor &1 not declared. Cursor &1 is not declared in the program before it is referred to. A cursor must be declared before being referred to in other statements. All cursors used in the SET RESULT SETS statement must be declared WITH RETURN if any cursors in the program are declared WITH RETURN. Verify that the application program is complete and has no spelling errors in the cursor declarations. Make certain the declaration for a cursor is in an application program before it is referred to by other statements. If any cursors are declared WITH RETURN, make sure all cursors used by the SET RESULT SETS statement are declared WITH RETURN. Precompile the program again. -504 34000
Recovery Text:
108
Table 239. SQL0507 (continued) SQL0507 Cause Text: Cursor &1 was specified in an UPDATE or DELETE statement, but the cursor is not open. Cursor &1 has one of the following conditions: v Cursor &1 was never opened. v The cursor &1 was opened in another program or another call of this program and the program was created with CLOSQLCSR(*ENDPGM). v The cursor &1 was opened in another module or another call of this module and the module was created with CLOSQLCSR(*ENDMOD). v The cursor &1 was opened in another call of this program and programs which have run SQL statements have ended and the program was created with CLOSQLCSR(*ENDSQL). v The cursor &1 was opened in another call of this module and the activation group was ended between calls. The program was created with CLOSQLCSR(*ENDACTGRP). v The cursor was closed by a CLOSE, COMMIT, or ROLLBACK statement. Recovery Text: Do one of the following and precompile again: v Make certain that cursor &1 is opened in the same program or module call prior to using the cursor in an UPDATE or DELETE statement. v Specify either CLOSQLCSR(*ENDSQL), CLOSQLCSR(*ENDJOB), or CLOSQLCSR(*ENDACTGRP) when precompiling the application. v If the cursor was closed by a COMMIT or ROLLBACK, specify HOLD on the COMMIT or ROLLBACK statement to preserve any open cursors, prepared statements, and locks on tables. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 240. SQL0508 SQL0508 Message Text: Cause Text: Cursor &1 not positioned on locked row. An UPDATE or DELETE statement with a WHERE CURRENT OF &1 was attempted, but the cursor is not positioned on a row or is positioned on a row, but the row is not locked because a COMMIT HOLD or ROLLBACK HOLD statement released the lock on the row. A FETCH statement must be issued to position the cursor on a row and lock the row. Issue a FETCH statement to position the cursor on a row and lock the row; then, try the request again. -508 24504 -507 24501
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
109
Table 241. SQL0509 SQL0509 Message Text: Cause Text: Table &2 in &3 not same as table in cursor &1. An UPDATE or DELETE statement with a WHERE CURRENT OF &1 specified the table &2 in &3, but cursor &1 refers to a different table. The table specified in the UPDATE or DELETE statement and the table referred to by cursor &1 must be the same. Change the specified table name to match the table specified in the cursor &1 and precompile the program again. -509 42827
Recovery Text:
SQL0510 Message Text: Cause Text: Cursor &1 for file &2 read-only. An UPDATE or DELETE statement with a WHERE CURRENT OF clause was specified, but the cursor is read only. Either the cursor &1 is read-only or the view &2 in library &3 is read-only. A view or logical file is read-only if one or more of the following conditions are true: v The view contains a DISTINCT keyword, GROUP BY clause, HAVING clause, or a column function in the outer-most subselect. v The view or logical file contains a join function. v The view contains a subquery that refers to the same table as the table of the outer-most subselect. v All the columns of the view are expressions, scalar functions, or constants. v All the columns of the logical file are input only. A cursor is read only if one or more of the following conditions is true: v The DECLARE CURSOR statement specified an ORDER BY clause but did not specify a FOR UPDATE OF clause. v The DECLARE CURSOR statement specified a FOR FETCH ONLY clause. v The DECLARE CURSOR statement specified the SCROLL keyword without DYNAMIC. v The cursor referred to a read-only view or logical file in the select list. v The subselect specified in the DECLARE CURSOR statement contains any of the above restrictions that would make a view read only.
110
Table 242. SQL0510 (continued) SQL0510 Recovery Text: Do one of the following and precompile the program again: v If the DECLARE CURSOR statement specified an ORDER BY clause but not a FOR UPDATE OF clause, add a FOR UPDATE OF clause. v If the DECLARE CURSOR statement specified a FOR FETCH ONLY clause, remove the FOR FETCH ONLY clause. v If the DECLARE CURSOR statement specified the SCROLL keyword, specify DYNAMIC SCROLL. v If the referred to view or logical file is read only, remove the UPDATE or DELETE statement. v If the DECLARE CURSOR statement contains any conditions that make the cursor read only, remove the UPDATE or DELETE statement. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 243. SQL0511 SQL0511 Message Text: Cause Text: FOR UPDATE clause not valid. The FOR UPDATE clause cannot be used for cursor &1 because the result table is read only. The result table is read only if: v The first SELECT clause of the statement includes the DISTINCT keyword, a UNION operator, a column function, a GROUP BY clause, or a HAVING clause. v The first FROM clause of the SELECT statement identifies more than one table, more than one view, or a read-only view. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 244. SQL0513 SQL0513 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Alias &1 in &2 cannot reference another alias. Alias &1 in &2 can only reference a table or a view. It cannot reference another alias. Change the referenced name and try the request again. -513 42924 Cursor &1 cannot be updated. Remove the FOR UPDATE clause. -511 42829 -510 42828
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
111
Table 245. SQL0514 SQL0514 Message Text: Cause Text: Prepared statement &2 not found. An attempt was made to open cursor &1 which referred to prepared statement &2. Statement &2 has one of the following conditions: v The statement has never been prepared. v The statement was prepared in another program or another call of this program and the program was created with CLOSQLCSR(*ENDPGM). v The statement was prepared in another module or another call of this module and the module was created with CLOSQLCSR(*ENDMOD). v The statement was prepared in another call of this program and programs which have run SQL statements have ended and the program was created with CLOSQLCSR(*ENDSQL). v The statement was prepared in another call of this module and the activation group ended between calls. The module was created with CLOSQLCSR(*ENDACTGRP). v A COMMIT or ROLLBACK statement has destroyed all the prepared statements. Recovery Text: Do one of the following and precompile again: v Prepare the statement &2 (PREPARE statement) before attempting to open cursor &1. v Make certain that &2 has been prepared in the same program or module call prior to attempting to open cursor &1 or specify either CLOSQLCSR(*ENDSQL) CLOSQLCSR(*ENDJOB), or CLOSQLCSR(*ENDACTGRP) when precompiling the application. v If the statement was deleted by a COMMIT or ROLLBACK, specify HOLD on the COMMIT or ROLLBACK statement to preserve any open cursors, prepared statements, and locks on tables. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 246. SQL0516 SQL0516 Message Text: Prepared statement &2 not found. -514 26501
112
Table 246. SQL0516 (continued) SQL0516 Cause Text: &2 is not a valid prepared statement. The statement has one of the following conditions: v The statement has never been prepared. v The statement was prepared in another program or another call of this program and the program was created with CLOSQLCSR(*ENDPGM). v The statement was prepared in another module or another call of this module and the module was created with CLOSQLCSR(*ENDMOD). v The statement was prepared in another call of this program and programs which have run SQL statements have ended and the program was created with CLOSQLCSR(*ENDSQL). v The statement was prepared in another call of this module and the activation group ended between calls. The module was created with CLOSQLCSR(*ENDACTGRP). v A COMMIT or ROLLBACK statement has destroyed all the prepared statements. Recovery Text: Do one of the following and precompile again: v Make certain that &1 has been prepared in the same program or module call prior to using the DESCRIBE statement or specify either CLOSQLCSR(*ENDSQL), CLOSQLCSR(*ENDJOB), or CLOSQLCSR(*ENDACTGRP) when precompiling the application. v If the statement was deleted by a COMMIT or ROLLBACK, specify HOLD on the COMMIT or ROLLBACK statement to preserve any open cursors, prepared statements, and locks on tables. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 247. SQL0517 SQL0517 Message Text: Cause Text: Prepared statement &2 not SELECT statement. An attempt was made to open cursor &1, which refers to statement &2. Statement &2 is a valid prepared statement, but it is not a SELECT statement. OPEN can only refer to prepared SELECT statements. Change the OPEN statement to refer to a prepared SELECT statement, or prepare statement &2 using a valid SELECT statement and then try the open. -517 07005 -516 26501
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
113
Table 248. SQL0518 (continued) SQL0518 Cause Text: An EXECUTE statement referred to the statement &1. &1 is not a valid prepared statement. The statement has one of the following conditions: v The statement has never been prepared. v The statement identifies a prepared SELECT or DECLARE PROCEDURE statement. v The statement was prepared in another program or another call of this program and the program was created with CLOSQLCSR(*ENDPGM). v The statement was prepared in another module or another call of this module and the module was created with CLOSQLCSR(*ENDMOD). v The statement was prepared in another call of this program and programs which have run SQL statements have ended and the program was created with CLOSQLCSR(*ENDSQL). v The statement was prepared in another call of this module and the activation group ended between calls. The module was created with CLOSQLCSR(*ENDACTGRP). v A COMMIT or ROLLBACK statement has destroyed all the prepared statements. Recovery Text: Do one of the following and precompile again: v If &1 identifies a prepared SELECT or DECLARE PROCEDURE statement, a different prepared statement must be named in the EXECUTE statement. v Make certain that &1 has been prepared in the same program or module call prior to using the EXECUTE statement or specify either CLOSQLCSR(*ENDSQL), CLOSQLCSR(*ENDJOB), or CLOSQLCSR(*ENDACTGRP) when precompiling the application. v If the statement was deleted by a COMMIT or ROLLBACK, specify HOLD on the COMMIT or ROLLBACK statement to preserve any open cursors, prepared statements, and locks on tables. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 249. SQL0519 SQL0519 Message Text: Cause Text: Prepared statement &2 in use. The application program has attempted to prepare statement &2. This statement is the SELECT statement for cursor &1 that is currently open. Change the statement name in the PREPARE statement or correct the logic of the application program so that it closes cursor &1 before attempting the PREPARE statement again. -519 -518 07003
Recovery Text:
SQLCODE or SQLCODEs:
114
Table 249. SQL0519 (continued) SQL0519 SQLSTATE or SQLSTATEs: Table 250. SQL0520 SQL0520 Message Text: Cause Text: Cannot UPDATE or DELETE on cursor &1. Cursor &1 is blocking records. An UPDATE or DELETE WHERE CURRENT OF cursor &1 was attempted but cannot be run because blocking was being used for the cursor. Do not block records for cursor &1 if UPDATE or DELETE statements will be used against it. -520 42828 24506
SQL0525 Message Text: Cause Text: Statement not valid on application server. An attempt was made to run statement number &4 of package &2 in schema &3. Either the statement is in error, or the statement is not supported by the application server. The section number corresponding to the statement is &1. Correct the statement which is in error and verify that it is a valid SQL statement on the application server. If the statement is a multiple-row FETCH, specify a single-row FETCH. If the statement is a multiple-row INSERT, either specify a VALUES clause with only 1 row to insert, or specify a subselect. If the statement is SET TRANSACTION, remove it from the application or prevent if from being issued when the Distributed Relational Database Architecture (DRDA)TM connection is used. Try the request again. -525 51015
Recovery Text:
SQL0526 Message Text: Cause Text: Statement not valid for &1 TEMPORARY TABLE &2 in &3. A &1 TEMPORARY TABLE &2 cannot be specified on ALTER TABLE, COMMENT ON, CREATE TRIGGER, GRANT, LABEL ON, LOCK TABLE, RENAME, or REVOKE statements. A constraint cannot be specified for a &1 TEMPORARY TABLE. Specify a valid table on the statement or remove the constraint. Try the request again. -526
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
115
Table 252. SQL0526 (continued) SQL0526 SQLSTATE or SQLSTATEs: Table 253. SQL0527 SQL0527 Message Text: Cause Text: ALWCPYDTA(*NO) specified but temporary result required for &1. The Allow Copy Data (ALWCPYDTA) parameter was specified on the precompiler command or the STRSQL command with a value of *NO. This value indicates that the queries should always use data directly retrieved from the database, so that the data always reflects the current values. Certain types of SQL queries can not be resolved without making a copy of the data. Examples would be queries using the keywords DISTINCT or UNION. The query being run is a query which requires a copy of the data. Specify a different value for the ALWCPYDTA parameter or change the SQL statement so that it can be evaluated without using a temporary result. -527 42874 42995
Recovery Text:
SQL0530 Message Text: Cause Text: Operation not allowed by referential constraint &1 in &2. If this is an INSERT or UPDATE statement, the value is not valid for the foreign key because it does not have a matching value in the parent key. If this is a DELETE statement affected by a SET DEFAULT delete rule, the default value is not valid for the same reason. If this is an ALTER TABLE statement, the result of the operation would violate the constraint &1. Constraint &1 in &2 for table &3 in &4 requires that any non-null value of the foreign key have a matching value in the parent key. To conform to the constraint rule, you must either: v change the INSERT or UPDATE value to match a value in the parent key, v insert a row in the parent file that matches the foreign key values being inserted or updated. v insert a row in the parent file that matches the foreign key default values of the dependent rows. Otherwise, you must drop the referential constraint. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 255. SQL0531 SQL0531 Message Text: Update prevented by referential constraint &1 in &2. -530 23503
Recovery Text:
116
Table 255. SQL0531 (continued) SQL0531 Cause Text: Constraint &1 in &2 identifies the table being updated as the parent table in a relationship with dependent table &3 in &4, with an update rule of RESTRICT or NO ACTION. The update of a parent key is prevented when there are rows in the dependent table with matching values. In order to perform this update, you must either drop the constraint, or delete the rows in the dependent table that are dependent on this row. -531 23001 23504
Recovery Text:
SQL0532 Message Text: Cause Text: Delete prevented by referential constraint &1 in &2. Constraint &1 in &2 identifies the table being modified as the parent table in a relationship with dependent table &3 in &4, with a delete rule of RESTRICT or NO ACTION. The deletion of a row is prevented when there are rows in the dependent table with matching values. In order to delete the row, you must either drop the constraint, or delete the rows in the dependent table that are dependent on this row. -532 23001 23504
Recovery Text:
SQL0536 Message Text: Cause Text: Delete not allowed because table &1 in &2 in subquery can be affected. The delete operation can not be performed because table &1 in &2, which is referenced in a subquery, may be affected by the operation. &1 in &2 is a dependent table in a referential constraint that has a delete rule of CASCADE, SET NULL, or SET DEFAULT. Change the statement so that the subquery does not refer to a dependent table, or drop the constraint that defines the relationship between the two tables. -536 42914
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
117
Table 258. SQL0537 (continued) SQL0537 Cause Text: Column &1 is specified more than once in the list of columns for a PRIMARY, UNIQUE, or FOREIGN KEY. Columns may only be specified once in the definition of a key. Remove the duplicate column from the list of columns for the key. Try the request again. -537 42709
SQL0538 Message Text: Cause Text: The FOREIGN key in constraint &1 in &2 not same as the parent key. The FOREIGN key in constraint &1 in &2 is not the same as the parent key of table &3 in &4. The FOREIGN key must have the same number of columns as the parent key and the data type and attributes of the FOREIGN key must be identical to the data type and attributes of the corresponding column of the parent key. Correct the statement so that the description of the FOREIGN key conforms to that of the parent key of the specified table. -538 42830
Recovery Text:
SQL0539 Message Text: Cause Text: Table &1 in &2 does not have a primary or unique key. Table &1 in &2 was specified either as the parent table in a referential constraint, or as the table from which to drop the primary or unique key in an ALTER TABLE statement. When no referencing column list is specified in a referential constraint, an attempt is made to use the primary key of the parent table. Table &1 has no primary key defined. Correct the statement so that a referencing column list is specified in the FOREIGN KEY clause that matches the FOREIGN KEY column list, or define a primary key for the table being used as a parent. If this is an attempt to drop a primary or unique key, no recovery is necessary. -539 42888
Recovery Text:
SQL0541 Message Text: Duplicate UNIQUE constraint exists for table &1 in &2.
118
Table 261. SQL0541 (continued) SQL0541 Cause Text: An attempt was made to add UNIQUE constraint &3 in &4. Table &1 in &2 already has a UNIQUE constraint that is a duplicate of the constraint being added. A UNIQUE constraint is a duplicate if the columns in the constraint are the same as the columns in another UNIQUE constraint, even if the columns are not in the same order. Constraint &1 cannot be added. The constraint is already in effect. To change the name of the UNIQUE constraint, drop the duplicate constraint and try the request again. -541 42891
Recovery Text:
SQL0543 Message Text: Cause Text: Constraint &1 conflicts with SET NULL or SET DEFAULT rule. Constraint &1 is a CHECK constraint that conflicts with an existing referential constraint that has either a SET NULL or a SET DEFAULT rule. Change the CHECK constraint so it does not conflict with the referential constraint rule, or drop the referential constraint. -543 23511
Recovery Text:
SQL0544 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 264. SQL0545 SQL0545 Message Text: Cause Text: INSERT or UPDATE not allowed by CHECK constraint. The value being inserted or updated does not meet the criteria of CHECK constraint &1. The operation is not allowed. Change the values being inserted or updated so that the CHECK constraint is met. Otherwise, drop the CHECK constraint &1. -545 CHECK constraint &1 cannot be added. Existing data in the table violates the CHECK constraint rule in constraint &1. The constraint cannot be added. Change the data in the table so that it follows the constraint specified in &1. Try the request again. -544 23512
Recovery Text:
SQLCODE or SQLCODEs:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
119
Table 264. SQL0545 (continued) SQL0545 SQLSTATE or SQLSTATEs: Table 265. SQL0546 SQL0546 Message Text: Cause Text: CHECK condition of constraint &1 not valid. The CHECK condition of constraint &1 is not valid for one of the following reasons: v a column level CHECK condition refers to some other column in the table v the CHECK condition refers to a column that is not in this table v the CHECK condition refers to a special register v the CHECK condition uses a column function (such as AVG or COUNT) or a user-defined function v the CHECK condition contains a subselect v the CHECK condition uses the NODENAME scalar function v the CHECK condition uses an expression involving LOBs. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 266. SQL0551 SQL0551 Message Text: Cause Text: Not authorized to object &1 in &2 type *&3. An operation was attempted on object &1 in &2 type *&3. This operation cannot be performed without the required authority. Obtain the required authority from either the security officer or the object owner. If you are not authorized to a logical file, obtain the authority to the based-on files of the logical file. Try the operation again. +551 -551 01548 42501 Correct the error. Try the request again. -546 42621 23513
Recovery Text:
120
Table 267. SQL0552 (continued) SQL0552 Cause Text: The operation cannot be performed without the required authority. See the following for the authority required: v If this is a CREATE TABLE statement, the *USE authority to the Create Physical File (CRTPF) command is required in order to create tables. v If this is either a CREATE VIEW or CREATE INDEX statement, the *USE authority to the Create Logical File (CRTLF) command is required in order to create views or indexes. v If this is CREATE COLLECTION, the *USE authority to the Create Library (CRTLIB) command is required. If WITH DATA DICTIONARY is specified then the *USE authority to the Create Data Dictionary (CRTDTADCT) command is also required. v If this is an ALTER TABLE statement, the *USE authority to the Add Physical File Constraint (ADDPFCST) command is required in order to add constraints, and the *USE authority to the Remove Physical File Constraint (RMVPFCST) command is required in order to drop constraints. v If this is a CREATE PROCEDURE or CREATE FUNCTION statement, *OBJOPR and *ADD authority to the catalog table SYSROUTINES in QSYS2 is required. v If this is a DROP PROCEDURE or DROP FUNCTION statement, *OBJOPR and *DLT authority to the catalog table SYSROUTINES in QSYS2 is required. v If this is a COMMENT ON PROCEDURE or COMMENT ON FUNCTION statement, *OBJOPR, *READ, and *UPD authority to the catalog table SYSROUTINES in QSYS2 is required. v If this is a CREATE DISTINCT TYPE statement, *OBJOPR and *ADD authority to the catalog table SYSTYPES in QSYS2 is required. v If this is a DROP DISTINCT TYPE statement, *OBJOPR and *DLT authority to the catalog table SYSTYPES in QSYS2 is required. v If this is a COMMENT ON DISTINCT TYPE statement, *OBJOPR, *READ, and *UPD authority to the catalog table SYSTYPES in QSYS2 is required. v If this is a CREATE TRIGGER statement, the *USE authority to the Add Physical File Trigger (ADDPFTRG) command is required to add triggers. v If this is a DROP of a trigger, the *USE authority to the Remove Physical File Trigger (RMVPFTRG) command is required to remove triggers. v If this is a COMMENT ON TRIGGER statement, *OBJOPR, *READ and *UPD authority to the catalog table SYSTRIGGERS in QSYS2 is required. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Obtain authority from the security officer and try the operation again. +552 -552 01542 42502
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
121
Table 268. SQL0557 SQL0557 Message Text: Cause Text: Privilege not valid for table or view &1 in &2. The specified privilege is not valid for one of the following reasons: v An INDEX privilege is valid for tables and physical files but not for views. An index cannot be created on a view. v The specified privilege is not valid because table or view &1 in &2 does not have that capability. For example: DELETE, INSERT, and UPDATE privileges are not valid for a read-only view. Recovery Text: Specify a table or view that has the correct capability or remove the privilege that is not valid from the SQL statement. -557 42852
SQL0569 Message Text: Cause Text: Not all requested privileges revoked from object &1 in &2 type *&3. A REVOKE operation was attempted on object &1 in &2 type *&3, but the privilege was not revoked. Either you do not have the specified privilege to object &1, or you tried to revoke the privilege from someone who does not currently have that privilege. All valid requested privileges were revoked. Recovery Text: If revoking a privilege from someone who does not currently have that privilege, then no action is required. If you do not have the privilege, change the REVOKE statement to specify valid privileges. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 270. SQL0570 SQL0570 Message Text: Cause Text: Not all requested privileges to object &1 in &2 type *&3 granted. A GRANT operation was attempted on object &1 in &2 type *&3 but the privilege was not granted. Either you do not have all of the privileges to be granted or you are attempting to perform a GRANT statement using WITH GRANT OPTION, but are not the object owner or do not have *ALLOBJ special authority. All valid requested privileges were granted. +569 01006
122
Table 270. SQL0570 (continued) SQL0570 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 271. SQL0573 SQL0573 Message Text: Cause Text: Table &1 in &2 does not have a matching parent key. A referencing column list was specified in the FOREIGN KEY clause for constraint &3 in &4. The parent table &1 in &2 does not have a matching PRIMARY or UNIQUE key. The constraint cannot be added. Do one of the following and try the request again: v Specify a table in the FOREIGN KEY clause that has a PRIMARY or UNIQUE key that matches the referencing column list. v Change the referencing column list to match the definition of the PRIMARY or UNIQUE key defined on the parent table. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 272. SQL0574 SQL0574 Message Text: DEFAULT value or identity attribute not valid for column &3 in &1. -573 42890 Obtain the required authority from either the security officer or the object owner. Try the operation again. +570 01007
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
123
Table 272. SQL0574 (continued) SQL0574 Cause Text: The DEFAULT value or identity attribute value for column &3 in &1 in &2 is not valid. The default value may either be specified in this statement or it may already be defined for the column and is not compatible with the attributes specified on the ALTER TABLE statement. The value specified must conform to the following rules: v The DEFAULT value must be compatible with the data type of the column. A floating-point constant can only be a default value for a floating-point column. v The DEFAULT value must not be too long for the column. v If the column is defined as a date, time, or timestamp the DEFAULT value must be a valid string representation of that type. v If the DEFAULT value is defined as the value of the USER special register, the column must be defined as a CHAR or VARCHAR and the length attribute must be greater than or equal to 18. v The CCSID of the DEFAULT value must be compatible with the CCSID of the column. v The DEFAULT value for a column that is a user-defined type must either be promotable to the source type or must be cast to the user-defined type using the cast function for the type. v A DEFAULT value cannot be specified for a DataLink column. v For an identity column, a value with non-zero scale was specified for the START WITH, INCREMENT BY, MINVALUE, MAXVALUE, or RESTART WITH options. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 273. SQL0577 SQL0577 Message Text: Modifying SQL data not permitted. Change the value to one that is valid for the column. Try the request again. -574 42894
124
Table 273. SQL0577 (continued) SQL0577 Cause Text: One of the following errors has occurred: v A procedure was called or a function was invoked that was created with READS SQL DATA or CONTAINS SQL DATA specified as the data access attribute. A procedure or function created with READS SQL DATA or CONTAINS SQL DATA, or any procedure or function that is called by the procedure or function, cannot change data and cannot call a procedure or function that has the MODIFIES SQL DATA attribute. v READS SQL DATA and CONTAINS SQL DATA cannot be specified on the CREATE PROCEDURE or CREATE FUNCTION statements for an SQL procedure or function if the routine body contains statements that change data. v A BEFORE trigger was activated that contains statements that change data. ; ; ; Statements that change data include INSERT, UPDATE, DELETE, GRANT, REVOKE, LABEL, COMMENT, and any CREATE or DROP statements. If the error occurred in a procedure or function, the routine name is &1 and the specific name is &2. Recovery Text: Ensure procedures or functions created with READS SQL DATA or CONTAINS SQL DATA do not call procedures or functions that change SQL data. Specify MODIFIES SQL DATA when creating functions that change SQL data. -577 2F002 38002 42985
SQL0578 Message Text: Cause Text: RETURN statement not executed for SQL function &1 in &2. During the execution of SQL function &1 in &2, the end of the routine body was reached without executing a RETURN statement. Add a RETURN statement to the end of the function routine body. Try the request again. -578 2F005
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
125
Table 275. SQL0579 (continued) SQL0579 Cause Text: One of the following errors has occurred: v A procedure was called or a function was invoked that was created with CONTAINS SQL DATA as the data access attribute. A procedure or function created with CONTAINS SQL DATA or any procedure or function that is called by the procedure or function, cannot read data and cannot call a procedure or function that has the READS SQL DATA attribute. v CONTAINS SQL DATA cannot be specified on the CREATE PROCEDURE or CREATE FUNCTION statements for an SQL procedure or function if the routine body contains statements that read data. v A trigger containing SQL statements was activated. If the error occurred in a procedure or function, the routine name is &1 and the specific name is &2. Recovery Text: Ensure procedures and functions created with CONTAINS SQL DATA do not call procedures or functions that read SQL data. -579 2F004 38004 42985
SQL0580 Message Text: Cause Text: At least one result in CASE expression must be not NULL. The NULL value or a parameter marker is specified for all results in a CASE expression. At least one result in a CASE expression must be a value other than NULL or a parameter marker. Change the CASE expression to have at least one result expression following a THEN or ELSE keyword to be some value other than NULL or a parameter marker. Try the request again. -580 42625
Recovery Text:
SQL0581 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: The results in a CASE expression are not compatible. The expressions specified as the result values of a CASE expression are not compatible. Change the results in the CASE expression to values that are compatible. Try the request again. -581 42804
126
Table 278. SQL0583 SQL0583 Message Text: Cause Text: Use of function &1 in &2 not valid. Function &1 in &2 cannot be invoked where specified because it is defined to be not deterministic. Functions that are not deterministic cannot be specified in a GROUP BY clause or in a JOIN clause. Remove the function from the GROUP BY clause or JOIN clause. Try the request again. -583 42845
SQL0585 Message Text: Cause Text: Collection &1 used incorrectly in the specified path. An incorrect path was specified on the SET PATH or the SET OPTION SQLPATH statement. One of the following errors has occurred: v &1 is specified more than once in the path. v *LIBL is not the only value specified in the path. v If the collection name is *N, one of USER, CURRENT PATH, or SYSTEM PATH is specified more than one time in the path. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 280. SQL0590 SQL0590 Message Text: Cause Text: Name &1 specified in procedure or function &2 not unique. &1 is specified as a parameter, SQL variable, condition, or label in SQL procedure or function &2. The name is not unique. Change the name so that it is unique. -590 42734 Specify a valid path. Try the request again. -585 42732
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
127
Table 281. SQL0595 (continued) SQL0595 Cause Text: *&1 was specified for the commit level, but *&1 was not used. The base tables were locked *&2 to satisfy the request for commitment level of *&1. If a ROLLBACK HOLD statement is requested, the cursor will remain in the same position. *&1 was not used for one of the following reasons: v A GROUP BY clause, HAVING clause, or a column function was specified in the statement. v A DISTINCT keyword was specified in the statement. v A UNION keyword was specified in the statement. v A join was specified in the statement, but not all of the files are journaled to the same journal. v The repeatable read commit level is implemented by DB2 UDB for iSeries by locking the table. Recovery Text: If escalation of commit level is not desired, change the statement or the requested commit level. If a lock level of share-no-update (*SHRNUP) was granted, but is not acceptable, specify *CHG or *NONE for the commit level. +595 01526
SQL0596 Message Text: Cause Text: Error occurred during DISCONNECT of relational database &1. An error occurred during DISCONNECT of relational database &1. However, this did not prevent the successful disconnect of relational database &1. Refer to the previous messages for a description of the error. None required. +596 01002
SQL0601 Message Text: Cause Text: &1 in &2 type *&3 already exists. An attempt was made to create &1 in &2 or to rename a table, view, alias, or index to &1, but &1 already exists. All tables, views, aliases, indexes, SQL packages, constraints, triggers, and user-defined types in the same schema must have unique names. v If &1 is a temporary table, it cannot be replaced unless the WITH REPLACE clause is specified. v If the schema name is *N, this is a CREATE SCHEMA statement. If this is a CREATE TABLE or ALTER TABLE statement and the type is *N, &1 is a constraint.
128
Table 283. SQL0601 (continued) SQL0601 Recovery Text: Change &1 to a name that does not exist, or delete, move, or rename the existing object. If this is a temporary table, use the WITH REPLACE clause. If creating an SQL package, specify REPLACE(*YES) on CRTSQLPKG. Try the request again. -601 42710
SQL0602 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 285. SQL0603 SQL0603 Message Text: Cause Text: Unique index cannot be created because of duplicate keys. An attempt was made to create unique index &1 in &2 or add unique constraint &1 in &2. The operation cannot be performed because the rows in table &3 in &4 contain one or more duplicate values in the columns used to create the index. Do one of the following and try the request again: v Remove the UNIQUE attribute from the CREATE INDEX statement. v Remove the UNIQUE constraint from the ALTER TABLE statement. v Change the data in the related table so that all key values are unique. v Specify UNIQUE WHERE NOT NULL on the CREATE INDEX statement if the duplicate keys contain nulls. The uniqueness restriction would not apply when the key value contains nulls. For information on what rows contain the duplicate key values, see the previously listed messages in the job log. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 286. SQL0604 SQL0604 Message Text: Attributes not valid. -603 23515 More than 120 columns specified for CREATE INDEX. Only 120 columns are allowed in the CREATE INDEX statement. Reduce the number of column names in the column list to the maximum of 120 names. Try the request again. -602 54008
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
129
Table 286. SQL0604 (continued) SQL0604 Cause Text: One of the following contains a length, precision, scale, or an ALLOCATE attribute that is not valid. v A column in the CREATE TABLE, ALTER TABLE, or DECLARE GLOBAL TEMPORARY TABLE statement. v a parameter or an SQL variable in the DECLARE PROCEDURE, CREATE PROCEDURE, CREATE FUNCTION, or CREATE TRIGGER statement. v the CAST scalar function. v a CREATE TYPE source data type. The definition is not valid for one of the following reasons: v If a DECIMAL or NUMERIC data type is specified, precision must be from 1 through 31 and the scale must be between 0 and the precision. v If CHARACTER is specified, the length must be from 1 through 32766 for a parameter or for a column that does not allow null values or from 1 through 32765 for a column that allows null values. v If VARCHAR is specified, the length must be from 1 through 32740 for a parameter or for a column that does not allow null values or from 1 through 32739 for a column that allows null values. v If the FOR MIXED DATA clause or a mixed CCSID is specified, the length cannot be less than 4. v If GRAPHIC is specified, the length must be from 1 through 16383 for a parameter or for a column that does not allow null values and from 1 through 16382 for a column that allows null values. The length specified is the number of DBCS characters. v If VARGRAPHIC is specified, the length must be from 1 through 16370 for a parameter or for a column that does not allow null values or from 1 through 16369 for a column that allows null values. The length specified is the number of DBCS characters. v If BLOB or CLOB is specified, the length must be from 1 through 2G (2048 M or 2,097,152 K or 2,147,483,647 bytes). If DBCLOB is specified, the length must be from 1 through 1073741823. v If DATALINK is specified, the length must be from 1 through 32717. v If VARCHAR, CLOB, BLOB, DBCLOB, DATALINK, or VARGRAPHIC is specified the ALLOCATE attribute must be less than or equal to both the length attribute specified and 32766. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Correct the length, precision, scale, or ALLOCATE attribute. Try the request again. -604 42611
130
Table 287. SQL0607 SQL0607 Message Text: Cause Text: Operation not allowed on system table &1 in &2. The table or view &1 in &2 is a catalog or system table. Catalog and system tables cannot be changed or locked by the user. Change the SQL statement to refer to a table that is not a system table. Try the request again. -607 42832
SQL0612 Message Text: Cause Text: &1 is a duplicate column name. One of the following errors has occurred: v Column &1 is specified more than once on a CREATE TABLE or CREATE VIEW statement. Column names and system column names must be unique in a table or view. v Column &1 is specified in the ADD clause of an ALTER TABLE statement. Column &1 already exists in the table. v Column &1 is specified more than once in the ALTER, DROP, or ADD clauses of an ALTER TABLE statement. v Column &1 is specified more than once in the column list of a common table expression or in the correlation clause for a table or derived table. v Column &1 is specified more than once in the column list of an UPDATE trigger. v Column &1 is specified more than once in the RETURNS TABLE clause of a CREATE FUNCTION statement. The return column names for a user defined table function must be unique. Recovery Text: Do one of the following and try the request again: v Specify unique names for each of the columns. v Remove the column from all but one clause of a single ALTER TABLE statement. Multiple statements can be specified, if required. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 289. SQL0613 SQL0613 Message Text: PRIMARY or UNIQUE key constraint &1 in &2 too long. -612 42711
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
131
Table 289. SQL0613 (continued) SQL0613 Cause Text: The PRIMARY or UNIQUE key cannot be created for constraint &1 in &2. Either more than 120 columns were specified in a PRIMARY or UNIQUE key or the sum of the lengths of the columns specified in the key exceeds the maximum of 2000 bytes. If the list contains null capable columns then an additional byte is required for the length of each null capable column. If the list contains variable length columns, then the 2-byte length of the columns is included in the total length. Remove some of the columns from the PRIMARY or UNIQUE key constraint. Try the request again. -613 54008
SQL0614 Message Text: Cause Text: Length of columns for CREATE INDEX too long. The sum of the lengths of the columns specified in a CREATE INDEX exceeds the maximum of 2000 bytes. If the list contains null capable columns then an additional byte is required for each null capable column. If the index contains variable length columns, then the 2-byte length of the columns is included in the total length. Reduce the length by deleting some of the columns from the CREATE INDEX column list. Try the request again. -614 54008
SQL0615 Message Text: Cause Text: Object &1 in &2 type *&3 not dropped. It is in use. Object &1 in &2 type *&3 was not dropped because it is already being used by the same application process. If the object is a table, it may be in use by an open cursor. If the object is an SQL package, the package may currently be running. If the object is a table, the cursor must be closed. If the object is an SQL package, the SQL package cannot drop itself. Try the drop request again. -615 55006
Recovery Text:
SQL0616 Message Text: &1 in &2 type &3 cannot be dropped with RESTRICT.
132
Table 292. SQL0616 (continued) SQL0616 Cause Text: An attempt was made to drop &1 in &2 with the RESTRICT option. &1 cannot be dropped because a view, a constraint, or an index is dependent on it. Specify CASCADE on the ALTER TABLE statement to drop &1 and the views, constraints, or indexes that are dependent on it. Try the request again. -616 42893
Recovery Text:
SQL0624 Message Text: Cause Text: Table &1 in &2 already has a primary key. An attempt was made to add a primary or unique key to table &1 in &2. Either a primary key is already defined for this table, or the table has an access path which does not match the key being added. A table can only have one primary key. The constraint cannot be added. Drop the primary key currently defined on the table or add the constraint as a UNIQUE constraint. If the tables access path does not match, make sure that the number of columns in the constraint match the number of columns in the access path. Try the request again. -624 42889
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
133
Table 294. SQL0628 (continued) SQL0628 Cause Text: Clauses specified to define the attributes of a column, a sourced function, or a trigger are not valid. One of the following has occurred: v More than one of the clauses FOR BIT DATA, FOR SBCS DATA, FOR MIXED DATA, or CCSID was specified for a column definition. v READ PERMISSION FS and WRITE PERMISSION BLOCKED were specified for a DataLink column. v READ PERMISSION DB and WRITE PERMISSION FS were specified for a DataLink column. v WRITE PERMISSION FS and the ON UNLINK clause were specified for a DataLink column. v INCLUDING or EXCLUDING COLUMN DEFAULTS and USING TYPE DEFAULTS were specified for a table. v A clause was specified that is not valid when creating a sourced function. v FOR EACH STATEMENT is specified for a BEFORE trigger or is specified with MODE DB2ROW. v MODE DB2SQL is specified for a BEFORE trigger and the trigger contains a reference to the trigger table. v A correlation name with OLD ROW or NEW ROW and a SET OPTION for date or time option were specified. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 295. SQL0629 SQL0629 Message Text: Cause Text: SET NULL not allowed for referential constraint &1 in &2. SET NULL was specified in the REFERENCES clause for referential constraint &1. None of the columns in the foreign key allows null values. Create the table so that at least one of the columns in the foreign key allows null values or specify a different default action on the ON DELETE clause. Try the request again. -629 42834 Change or remove a clause so that the definition is valid. Try the request again. -628 42613
Recovery Text:
SQL0631 Message Text: Foreign key for referential constraint &1 in &2 too long.
134
Table 296. SQL0631 (continued) SQL0631 Cause Text: The FOREIGN key cannot be created for constraint &1 in &2. Either more than 120 columns were specified in a FOREIGN KEY clause or the sum of the lengths of the columns specified in the key exceeds the maximum of 2000 bytes. If the list contains null capable columns then an additional byte is required for the length of each null capable column. If the list contains variable length columns, then the 2-byte length of the columns is included in the total length. Remove some of the columns from the FOREIGN KEY clause. Try the request again. -631 54008
SQL0637 Message Text: Cause Text: Keyword or clause starting with &1 not valid. Keyword or clause &1 is not valid for one of the following reasons: v DEFAULT, UNIQUE, and PRIMARY, each DataLink option, and each identity option can only be specified once in a column definition on a CREATE TABLE statement. v UNIQUE and PRIMARY cannot both be specified for the same column definition. v PRIMARY can only be specified once on a CREATE TABLE statement. v The IDENTITY COLUMN ATTRIBUTES, COLUMN DEFAULTS, and USING TYPE DEFAULTS options can only be specified once. v For ALTER TABLE ALTER COLUMN, each SET or DROP option can only be specified once for a column. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 298. SQL0642 SQL0642 Message Text: Cause Text: Maximum number of constraints exceeded for &1 in &2. A constraint cannot be added to table &1 in &2 because the table is already associated with 300 constraints. This limit includes all constraints defined on the table and all referential constraints where the table is defined as a parent. Drop one of the other 300 constraints, if possible, and try the request again. -642 Remove all but one specification for each keyword or clause. Try the request again. -637 42614
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
135
Table 298. SQL0642 (continued) SQL0642 SQLSTATE or SQLSTATEs: Table 299. SQL0645 SQL0645 Message Text: Cause Text: WHERE NOT NULL clause ignored for index &1 in &2. UNIQUE WHERE NOT NULL was specified when creating index &1 in &2. However, none of the columns in the index allow null values. The index is created as a unique index. Remove the WHERE NOT NULL clause from the CREATE INDEX statement. +645 01528 54021
SQL0658 Message Text: Cause Text: Function &1 in &2 cannot be dropped. Function &1 in library &2 cannot be dropped because it was implicitly generated by the CREATE DISTINCT TYPE statement. To drop the function, you must drop the distinct type with which this function is associated. -658 42917
SQL0666 Message Text: Cause Text: Estimated query processing time &1 exceeds limit &2. The database query time limit attribute has been specified by the CHGQRYA CL command. The limit is &2 seconds. An SQL query was about to be started which was estimated to require a longer elapsed time to run than that allowed by the query time limit attribute. The estimated elapsed time was &1 seconds.
136
Table 301. SQL0666 (continued) SQL0666 Recovery Text: The following changes to the query could reduce the estimated elapsed time to be less than the query time limit. v Change the query so that fewer records are returned by adding more restrictive record selection specifications. v Change the record selection of the query so that an existing access path can be used to process the records more quickly. v Create an access path with keys that match the record selection of the query using the CRTLF CL command or the SQL CREATE INDEX statement. v Change the ordering specification so neither a temporary access path needs to be built nor a sort performed. v Change the grouping field specification to match the left-most key fields of an existing access path. v Specify the OPTIMIZE FOR NN ROWS clause where NN represents the actual number of records which are to be retrieved before the query is ended. This clause will cause the query optimizer to assume that the query will not be run to completion and consequently reduce the time estimate. v Change the output type of your query to produce the results on the display. v Specify a new value for the query time limit with the QRYTIMLMT parameter of the CHGQRYA CL command. v Examine the query debug messages contained in the job log for performance information and suggestions. These messages will precede this message in the job log and will provide additional information and suggestions. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 302. SQL0667 SQL0667 Message Text: Cause Text: FOREIGN key value does not match a value in the parent key of constraint &1 in &2. Every value in the FOREIGN key of the dependent table must have a matching value in the parent key of the parent table. For constraint &1 in &2, there is an existing value in FOREIGN key of table &3 in &4 that does not have a matching value in the parent table. The constraint cannot be added. Update the rows in either the dependent table or parent table so that all values of the FOREIGN key have matching values in the parent key, or modify the definition of the keys in the referential constraint. Try the request again. -666 57005
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
137
Table 302. SQL0667 (continued) SQL0667 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 303. SQL0675 SQL0675 Message Text: Cause Text: Specified delete rule not allowed with trigger on table &1 in &2. The delete rule specified in referential constraint &3 in &4 on table &1 in &2 is not allowed for the specified trigger. Constraint rule DELETE CASCADE is not allowed with a delete trigger. Constraint rules DELETE SET NULL and DELETE SET DEFAULT are not allowed with an update trigger. Either use the RMVPFTRG command to remove the trigger, use the RMVPFCST command to remove the constraint, define the constraint with a valid delete rule, or define the trigger with a different event. -675 42892 -667 23520
Recovery Text:
SQL0679 Message Text: Cause Text: Object &1 in &2 type *&3 not created due to pending operation. The object &1 has an outstanding DROP or CREATE under commitment control which is preventing the create. This could have occurred in one of the following ways: v This application process has performed a DROP under commitment control which has not been committed and is now trying to create the same object using commitment control level *NONE. v A different application process has performed a DROP under commitment control which has not been committed. v This application process has performed a DROP under commitment control using a different commit definition and the DROP has not been committed. v This application process has performed a CREATE under commitment control which has not been committed and is now trying to use the object on a subsequent CREATE under commitment control level *NONE.
138
Table 304. SQL0679 (continued) SQL0679 Recovery Text: Do one of the following and try the request again: v If it was your application process which issued the uncommitted DROP or CREATE statement then issue a COMMIT before attempting the creation of the object or issue the CREATE statement from a program using a commitment control level other than *NONE. v If the application process that issued the DROP on this object is not your application, then that application process must perform a COMMIT or a ROLLBACK of the DROP statement. v If your application process issued the uncommitted DROP or CREATE statement under a different commit definition, issue a COMMIT or ROLLBACK for that commit definition. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 305. SQL0680 SQL0680 Message Text: Cause Text: Too many columns specified. Too many columns were specified in the definition of a user defined table function. A maximum of 125 columns can be specified for the input parameters and the return columns combined. This maximum is reduced by one if both the SCRATCHPAD and DBINFO structures are requested. Reduce the number of parameters or return columns specified for the user defined table function. Try the request again. -680 54011 -679 57006
Recovery Text:
SQL0683 Message Text: Cause Text: Clause not valid for specified type. One of the following has occurred: v The FOR BIT DATA, the FOR MIXED DATA, the FOR SBCS DATA, or the CCSID clause was specified for the CAST scalar function, for a CREATE DISTINCT TYPE source data type, or for column or parameter &1. These clauses are not valid if the type is integer, decimal, numeric, floating point, date, time, timestamp, BLOB, or a user defined type. The FOR BIT DATA, FOR MIXED DATA, or FOR SBCS DATA clause is not valid if the type is graphic, varying-length graphic, DBCLOB, or DATALINK. v The LINKTYPE option was specified for a column that is not a DATALINK.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
139
Table 306. SQL0683 (continued) SQL0683 Recovery Text: If the CCSID clause is specified, change the specified type to be character, varying-length character, CLOB, graphic, varying-length graphic, DBCLOB, or DATALINK. If the FOR BIT DATA, FOR MIXED DATA, FOR SBCS DATA clause is specified, change the type to be character, varying-length character, CLOB, or BLOB. If the type is correct, remove the clause. If the LINKTYPE option is specified, change the specified type to be DataLink or remove the clause. -683 42842
SQL0696 Message Text: Cause Text: Correlation name or table &3 not valid. The correlation name or table &3 is not valid for trigger &1 in &2. The reason code is &4. One of the following reason codes indicates the error: v 1 - NEW correlation name or NEW_TABLE &3 was specified in a DELETE trigger. v 2 - OLD correlation name or OLD_TABLE &3 was specified in an INSERT trigger. v 3 - OLD_TABLE or NEW_TABLE was specified in a BEFORE trigger or was specified with DB2ROW. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 308. SQL0697 SQL0697 Message Text: Cause Text: REFERENCING OLD or NEW not valid for statement trigger. REFERENCING OLD or NEW was specified for an SQL trigger. Old and new correlation variables are not valid for statement triggers. Remove the REFERENCING clause or specify FOR EACH ROW on the CREATE TRIGGER statement. Try the request again. -697 42899 Change the referencing clause or the type of trigger so that the statement is valid. Try the request again. -696 42898
Recovery Text:
SQL0707 Message Text: Name &1 in &2 not allowed for distinct type.
140
Table 309. SQL0707 (continued) SQL0707 Cause Text: Distinct type &1 in &2 cannot be created. Either the name is a reserved word or the schema is specified as QSYS, QSYS2, SYSIBM, or QTEMP. Distinct types cannot be created in QSYS, QSYS2, SYSIBM, or QTEMP. Change the name to a non-reserved word, or create the User-Defined Type in a schema other than QSYS, QSYS2, SYSIBM, or QTEMP. -707 42939
Recovery Text:
SQL0713 Message Text: Cause Text: Value for &2 is not correct. The value specified in the SET &2 statement is not correct. The NULL value cannot be used to set the &2 special register. &2 can only be set using a character or UCS-2 graphic string. Specify a valid value for the special register. Make sure it does not have the NULL value. Try the request again. -713 42815
SQL0723 Message Text: Cause Text: SQL trigger &1 in &2 failed with SQLCODE &3 SQLSTATE &4. An error has occurred in a triggered SQL statement in trigger &1 in library &2. The SQLCODE is &3, the SQLSTATE is &4, and the message is &5. Refer to the joblog for more information regarding the detected error. Correct the error and try the request again. -723 09000
Recovery Text:
SQL0724 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Too many cascaded trigger programs. The maximum depth of 200 cascaded triggers has been exceeded. Remove any trigger that is causing repeated trigger programs to be called for the same table. -724 54038
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
141
Table 313. SQL0751 SQL0751 Message Text: Cause Text: SQL statement &1 not allowed. The statement &1 is not allowed in a stored procedure, user-defined function, or trigger. v Statements not allowed in a trigger program are CONNECT, SET CONNECTION, RELEASE, DISCONNECT, and SET RESULT SETS. v RUNSQLSTM is not allowed in a trigger program. v COMMIT and ROLLBACK are not allowed in a trigger program if the trigger program is running in the same activation group as the triggering program. COMMIT and ROLLBACK are not allowed in an SQL trigger. v ALTER TABLE is not allowed in a trigger program when commitment control is active. v Statements not allowed in a stored procedure or user-defined function that is running on a remote application server are CONNECT, SET CONNECTION, RELEASE, DISCONNECT, COMMIT, ROLLBACK and SET TRANSACTION. v Statements not allowed in an SQL BEFORE trigger are INSERT, UPDATE, DELETE, ALTER TABLE, COMMENT ON, CREATE, DROP, GRANT, LABEL ON, RENAME, and REVOKE. v The RETURN statement is not allowed in an SQL trigger. v Statements not allowed in a secondary thread are CREATE TRIGGER, CREATE FUNCTION (SQL), and CREATE PROCEDURE (SQL). Recovery Text: Remove the statement &1 from your trigger program, user-defined function, or stored procedure. Try the request again. -751 2F003 38003 42985 42987
142
Table 314. SQL0752 (continued) SQL0752 Cause Text: Connection cannot be made because the application process is not in a connectable state. The reason code is &1. Reason codes and their meanings are: v 1 SQL is not in a connectable state. SQL enters the connectable state after a COMMIT or ROLLBACK. SQL leaves the connectable state when any SQL statement except a COMMIT, ROLLBACK, or CONNECT statement is run. v 2 There are pending changes or open files under commitment control at the current server and the relational database (RDB) specified on the CONNECT request is not the current server. v 3 A create SQL package request is being processed when not on a commit boundary. v 4 The connection is locked by another invocation of Interactive SQL, or there is a level mismatch between the Interactive SQL product and the DB2 UDB for iSeries product. v 5 The connection cannot be changed due to restrictions with remote connections and the job level commitment definition. v 6 The connection cannot be changed to a remote system due to a SET TRANSACTION statement. v 7 The connection cannot be changed using *RUW connection management because a previous connection is protected. v 8 CONNECT RESET cannot start a local connection to RDB &2 because the RDB for the auxiliary storage pool (ASP) group of the thread is &3. v 9 There is a mismatch between the active connection and the current ASP group of the thread.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
143
Table 314. SQL0752 (continued) SQL0752 Recovery Text: Do one of the following based on the reason code: v 1 Issue a COMMIT or ROLLBACK statement to enter the connectable state. v 2 Close all files open under commitment control and issue a COMMIT or ROLLBACK statement. v 3 Issue a COMMIT or ROLLBACK statement. v 4 Exit Interactive SQL and try the request again. If Interactive SQL is active, the current server can only be changed using Interactive SQL. v 5 All activation groups associated with the job level commitment definition must be local; or only one remote connection and no local connections can be associated with the job level commitment definition. v 6 Issue a COMMIT or ROLLBACK statement. v 7 Release the protected conversation followed by a COMMIT. v 8 Change the ASP group of the thread to the ASP group for relational database &2. v 9 Either change the ASP group of the thread to the ASP group for relational database &2 or use a CONNECT or SET CONNECTION statement to change the active connection. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 315. SQL0771 SQL0771 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 316. SQL0773 SQL0773 Message Text: Cause Text: Case not found for CASE statement. A CASE statement without an ELSE clause was specified in the routine body of an SQL procedure. None of the conditions specified in the CASE statement were met. Change the CASE statement to handle all conditions that can occur. -773 20000 Table with ROWID column not allowed in QTEMP. A table with a ROWID column cannot be created in QTEMP. Remove the ROWID column or create the table in a schema other than QTEMP. Try the request again. -771 428C7 -752 0A001
144
Table 317. SQL0774 SQL0774 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 318. SQL0775 SQL0775 Message Text: Cause Text: Statement not allowed in specified SQL routine. A statement specified in the routine body of an SQL procedure or function is not allowed. A list of restrictions follows: v A COMMIT or ROLLBACK statement cannot be specified in an atomic compound statement in an SQL procedure. v An ATOMIC compound statement cannot be specified in an SQL function. v COMMIT, ROLLBACK, CONNECT, DISCONNECT, SET CONNECTION, SET RESULT SETS, and SET TRANSACTION statements cannot be specified in an SQL function. v The SET RESULT SETS statement cannot be specified in an SQL routine body unless RESULT SET is specified for the procedure. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 319. SQL0776 SQL0776 Message Text: Cause Text: Cursor &1 specified in FOR statement not allowed. Cursor &1 is specified as the cursor name on a FOR statement in an SQL procedure. The cursor cannot be specified on a FETCH, OPEN, or CLOSE statement within the FOR statement. Remove the OPEN, CLOSE, or FETCH statement. -776 428D4 Remove the statement from the SQL function or procedure. -775 42910 -774 2D522 Statement cannot be executed within a compound SQL statement.
SQL0777 Message Text: Cause Text: Nested compound statements not allowed. Compound statements in the routine body of an SQL procedure or function cannot be nested.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
145
Table 320. SQL0777 (continued) SQL0777 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 321. SQL0778 SQL0778 Message Text: Cause Text: End label &1 not same as begin label. Label &1 specified at the end of a compound, IF, WHILE, REPEAT, or LOOP statement in an SQL procedure or function is not the same as the label at the beginning of the statement. The end label cannot be specified if the begin label is not specified. Ensure the end label is the same as the begin label for compound, IF, FOR, WHILE, REPEAT, and LOOP statements. -778 428D5 -777 42919
Recovery Text:
SQL0779 Message Text: Cause Text: Label &1 specified not valid. Label &1 is specified on a LEAVE or a GOTO statement in an SQL procedure or function. The label is not a valid label or is not in the same scope as the current statement. Specify a valid label that is within the same scope. Try the request again. -779 42736
SQL0780 Message Text: Cause Text: UNDO specified for a handler not valid. UNDO is specified for a handler in a compound statement in an SQL procedure, function, or trigger. UNDO cannot be specified unless the compound statement is ATOMIC. UNDO cannot be specified in a trigger. Either specify an ATOMIC compound statement or specify EXIT or CONTINUE on the handler. -780 428D6
146
Table 324. SQL0781 (continued) SQL0781 Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 325. SQL0782 SQL0782 Message Text: Cause Text: Condition value &1 specified in handler not valid. Condition &1 specified in a handler in an SQL procedure or function is not valid for one of the following reasons. v The condition value has already been specified by another handler in the same scope. v The condition or SQLSTATE was specified in the same handler as SQLEXCEPTION, SQLWARNING, or NOT FOUND. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 326. SQL0783 SQL0783 Message Text: Cause Text: Select list for cursor &1 in FOR statement not valid. The select list in the FOR statement must contain unique column names. The select list specified either contains duplicate column names or unnamed expressions. If two column names are the same, the column name is &2. Specify unique column names in the select list specified in the FOR statement. -783 42738 Remove the condition from the handler. -782 428D7 Condition &1 specified in a handler in an SQL procedure or function is not defined. Define the condition using the DECLARE CONDITION statement or remove the condition from the handler. -781 42737
SQL0784 Message Text: Cause Text: Constraint &1 cannot be dropped. Constraint &1 is a CHECK constraint or a UNIQUE constraint. It cannot be dropped because it is enforcing a primary key to be not null or a ROWID to be unique.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
147
Table 327. SQL0784 (continued) SQL0784 Recovery Text: Do one of the following and try the request again: v Drop the primary key which this CHECK constraint is enforcing to be not null. If the primary key is needed, change the attributes of the columns that make up the primary key to be NOT NULL, and then add the primary key again. v Drop the ROWID column. An identity column could be used instead of the ROWID column. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 328. SQL0785 SQL0785 Message Text: Cause Text: Use of SQLCODE or SQLSTATE not valid. SQLCODE or SQLSTATE was used as a variable in the routine body of an SQL procedure, but is not valid for one of the following reasons: v SQLCODE is not declared as INT. v SQLSTATE is not declared as CHAR(5). v The variable is set to NULL. Recovery Text: Declare the SQLCODE variable as INT and the SQLSTATE variable as CHAR(5). Set the variable to a valid value. -785 428D8 -784 42860
SQL0787 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 330. SQL0798 SQL0798 Message Text: Cause Text: Value cannot be specified for GENERATED ALWAYS column &1. A value cannot be specified for column &1 because it is defined as GENERATED ALWAYS. RESIGNAL statement not within a handler. The RESIGNAL statement, specified in an SQL routine, must be specified inside a handler. Remove the RESIGNAL statement or use a SIGNAL statement. Try the request again. -787 0K000
148
Table 330. SQL0798 (continued) SQL0798 Recovery Text: Do one of the following and try the request again: v Remove the value from the INSERT or UPDATE statement, or specify DEFAULT to have a system value generated for the column. v Specify the OVERRIDING USER VALUE clause on the INSERT or UPDATE statement to override the GENERATED ALWAYS attribute and assign the value to the column. v Remove the column from the SET statement. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 331. SQL0802 SQL0802 Message Text: Cause Text: Data conversion or data mapping error. Error type &3 has occurred. Error types and their meanings are: v 1 Arithmetic overflow. v 2 Floating point overflow. v 3 Floating point underflow. v 4 Floating point conversion error. v 5 Not an exact result. v 6 Numeric data that is not valid. v 7 Double-byte character set (DBCS) data that is not valid. v 8 Division by zero. v 9 Hash value cannot be computed for the requested query. v 10 User-defined function returned a mapping error. v 11 Not valid length found in a varying-length column returned from an array result set. v 12 Result of a concatenation operation on a varying-length field exceeded the maximum allowed length of the result type. If the error occurred when assigning a value to a host variable of a FETCH, embedded SELECT, SET, or VALUES INTO statement, the host variable name is &2 and the relative position of the host variable in the INTO clause is &1. If the host variable name is *N, the error occurred when attempting to resolve a search condition. If more than one data mapping error occurred, this is a description of the first error that occurred. For a description of any other data mapping errors, see the previously listed messages in the job log. -798 428C9
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
149
Table 331. SQL0802 (continued) SQL0802 Recovery Text: The error was caused by data that was not valid or that was too large. Look at the previously listed messages in the job log (DSPJOBLOG command) or press F10 (Display messages in job log) on this display to determine what row and columns were involved in the error. Correct the data and then try the request again. +802 -802 01519 01547 01564 01565 22003 22012 22023 22504
SQL0803 Message Text: Cause Text: Duplicate key value specified. An INSERT, UPDATE or ALTER TABLE statement was issued. Unique index or unique constraint &1 in &2 exists over one or more columns of table &3 in &4. The operation cannot be performed because one or more values would have produced a duplicate key in the unique index or constraint. Change the statement so that duplicate keys are not produced. For information on what rows contain the duplicate key values, look at the previously listed messages in the job log (DSPJOBLOG command) or press F10 (Display messages in job log) on this display. -803 23505
Recovery Text:
150
Table 333. SQL0804 (continued) SQL0804 Cause Text: If the error type is 2, 3 or 9, the entry in error is &2, the value of SQLTYPE is &3, and the value of SQLLEN or SQLLONGLEN is &4. The specified SQLDA is not valid because of error type &1. Error types and their meanings are: v 1 The value of SQLN is less than zero, the value of SQLD is not between 0 and 8000, the value of SQLD is greater than the value of SQLN, or that the value of SQLD has not been initialized in REXX. v 2 The value of SQLTYPE is not valid or that the value of SQLTYPE is not supported or has not been initialized in REXX. The types that are not supported in REXX are NUL-terminated graphic string, NUL-terminated character string, PASCAL L-string, sign leading separate, and binary with precision and scale. v 3 The value of SQLLEN or SQLLONGLEN is not valid or that the value of SQLLEN, SQLPRECISION, or SQLSCALE has not been initialized in REXX. If REXX and SQLTYPE is decimal or numeric, then either SQLPRECISION or SQLSCALE has not been initialized. Otherwise, SQLLEN has not been initialized. If SQLTYPE is a LOB variable, then SQLLONGLEN is not valid. v 4 Size of the SQLDA area was not large enough for the number of entries specified in SQLN statement. v 5 The SQLDA area was not on a 16-byte boundary. v 6 The value specified for SQLDABC is not valid. The value is either not large enough for the number of entries specified in SQLN or the value is greater than the maximum allowed. v 7 The value of SQLN was not at least twice the size of SQLD and LOB host variables were found in the SQLDA. v 8 The seventh byte of SQLDAID was not a 2, 3 or 4 and LOB host variables were found in the SQLDA. v 9 The SQLDATAL pointer was not null for a DBCLOB host variable, but the length value referenced by the SQLDATAL pointer had an odd value. v 10 The SQLTYPE for a LOB locator did not match the type associated with LOB locator. v 11 The row length is greater than the maximum allowed row length. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 334. SQL0805 SQL0805 Message Text: SQL package &1 in &2 not found at DRDA Server.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
Correct the error in the SQLDA and try the request again. -804 07002
151
Table 334. SQL0805 (continued) SQL0805 Cause Text: A remote request was attempted to &4 for SQL package &1 in &2. The SQL package was not found. If you are using Interactive SQL or Query Manager, an attempt to create a package on the remote system failed (see common cause below) and the package requested does not exist. The most common cause of this problem in an Interactive SQL session to a non-iSeries server is that the connection is not updateable. In that case the package cannot be automatically created. To ensure the connection is updateable, do a RELEASE ALL command followed by a COMMIT before connecting to the relational database. In other cases, the SQL package can be created by using the CRTSQLPKG command. Also, precompiling an SQL program with the RDB parameter specified will create an SQL package on the system. Create or restore the SQL package. Run the application again. If you are using Interactive SQL or Query Manager or SQL Call Level Interface, exit the product and enter a CL COMMIT or ROLLBACK command. This will enable you to continue processing at the local system. Determine why the package creation failed by examining the job log. Correct the problem and attempt the Interactive SQL or Query Manager session again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 335. SQL0809 SQL0809 Message Text: Cause Text: Row length exceeds 3.5 gigabytes. The lengths of the values used as input in the INSERT or UPDATE statement would cause the row length to exceed the maximum length of 3.5 gigabytes. Change the statement so that the sum of all field lengths result in a row length of less than 3.5 gigabytes. -809 54018 -805 51002
Recovery Text:
SQL0811 Message Text: Cause Text: Result of SELECT more than one row. The result table of a SELECT INTO statement, a subquery, or a subselect of a SET statement contains more than one row. The error type is &1. If the error type is 1 then a SELECT INTO statement attempted to return more than one row. If the error type is 2 then a subselect of a basic predicate has produced more than one row. Only one row is allowed.
152
Table 336. SQL0811 (continued) SQL0811 Recovery Text: Change the selection so that only one result row is returned and then try the request again. The DECLARE CURSOR, OPEN, and FETCH statements must be used to process more than one result row. For a subquery the IN, EXISTS, ANY or ALL predicates can be used to process more than one result row. If one row was expected, there may be data errors, such as duplicate rows, that are causing more than one row to be returned. -811 21000
SQL0817 Message Text: Cause Text: Update operation not allowed. An attempt has been made to run an SQL statement that would change the contents of a table or create or drop a database object after SET TRANSACTION READ ONLY has been performed. Specify SET TRANSACTION READ WRITE, or remove the update operation from the program and try again. -817 25006
SQL0818 Message Text: Cause Text: Consistency tokens do not match. Package &3 in &4 on application server &5 cannot be run with the current application program because either the application program has been recompiled without rebuilding the package or the package has been restored from a back level version. Rebuild the package by using the CRTSQLPKG command or by using a CRTSQLxxx command specifying the correct relational database. Otherwise, restore the package from a version which matches the application program being run. -818 51003
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
153
Table 339. SQL0822 (continued) SQL0822 Cause Text: The SQLDA contains an address, SQLDATA value, or SQLIND value in entry number &1 that is not valid. The incorrect address or value is type &2. v Type 1 indicates that the SQLDATA address is not valid. v Type 2 indicates that the SQLIND address is not valid. v Type 3 indicates that the SQLDA address is not valid. v Type 4 indicates that the row storage area is not large enough. v Type 5 indicates that the indicator area for a blocked FETCH statement is not large enough. v Type 6 indicates that the SQLDATA field was not initialized to a value in a REXX procedure. v Type 7 indicates that the SQLIND field was not initialized to a value in a REXX procedure. v Type 8 indicates that the SQLDATAL address is not valid. Recovery Text: For types 1, 2, 3, or 8, change the address in entry &1 to a valid address. For types 4 and 5, allocate enough area for all of the rows being requested. For types 6 and 7, initialize the SQLDATA or SQLIND fields to a valid value. Try the request again. -822 51004
SQL0827 Message Text: Cause Text: &1 in &2 type *SQLPKG cannot be accessed. SQL Package &1 in &2 was not created using the QSQPRCED API and cannot be accessed by the QSQPRCED API. *SQLPKG objects created using CRTSQLPKG or the CRTSQLxxx commands cannot be used by the QSQPRCED API. Use the QSQPRCED API to create a new *SQLPKG object. Change your request to use the package created by the API. -827 42862
Recovery Text:
SQL0840 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: Number of selected items exceeds 8000. The number of items returned in a select list or presented in the insert list exceeds the maximum of 8000. Reduce the number of selected items and try the request again. -840
154
Table 341. SQL0840 (continued) SQL0840 SQLSTATE or SQLSTATEs: Table 342. SQL0842 SQL0842 Message Text: Cause Text: Connection to relational database &1 already exists. An attempt was made to do one of the following: v CONNECT to a relational database when the connection is active. v CONNECT to a relational database that has the same communication information as a connection to a relational database that is active. The active relational database is &1. Recovery Text: If CONNECT was specified, either use the SET CONNECTION statement to make relational database &1 the current connection or change the RDB directory entry (CHGRDBDIRE) for the relational database you are connecting to so that at least part of the communication information is different from what is specified in the entry for &1. For APPC connections, the communication information is the remote location, device description, local location, remote network identifier, mode, and transaction program. For TCP/IP connections, the communication information is the remote location and port identification. -842 08002 54004
SQL0843 Message Text: Cause Text: Connection to relational database &1 does not exist. A SET CONNECTION, RELEASE, or DISCONNECT statement specified relational database name &1 which is not active. Specify the name of a relational database which has an active connection. -843 08003
SQL0846 Message Text: Attributes not valid for IDENTITY column for reason &6.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
155
Table 344. SQL0846 (continued) SQL0846 Cause Text: Error &6 occurred for an IDENTITY column in table &2 in library &3. v Code 1 The data type of an IDENTITY column is not INTEGER, BIGINT, SMALLINT, or DECIMAL or NUMERIC with a scale of zero. v Code 2 The value specified for START WITH, INCREMENT BY, MINVALUE, or MAXVALUE is outside the range for the data type specified for the IDENTITY column. v Code 3 The value specified for MINVALUE is larger than the value specified for MAXVALUE. v Code 4 The value specified for CACHE is not valid. The minimum value for CACHE is 2. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 345. SQL0858 SQL0858 Message Text: Cause Text: Cannot disconnect relational database &1 due to LU6.2 protected conversation. The DISCONNECT statement cannot be used to disconnect relational database &1 because the conversation uses an LU6.2 protected conversation. Use the RELEASE statement followed by a COMMIT statement to end LU6.2 protected conversations. -858 08501 Specify valid attributes for the IDENTITY column. Try the request again. -846 42815
SQL0862 Message Text: Cause Text: Local program attempted to connect to a remote relational database. Local program &1 in &2 attempted to connect to a remote relational database. Either the CONNECT statement or the SET CONNECTION statement was specified and the relational database specified was a remote relational database. Specify the RDB parameter on the SQL precompile command. -862 55029
156
Table 347. SQL0863 SQL0863 Message Text: Cause Text: Mixed or DBCS CCSID not supported by relational database &1. The connection was completed, but remote relational database &1 does not support either the mixed or DBCS CCSID. SBCS data can be used. The product identification is &2. No recovery needed. +863 01539
SQL0871 Message Text: Cause Text: Too many CCSID values specified. More than 80 unique combinations of character data type and Coded Character Set Identifier (CCSID) were used. When accessing remote data, there is a limit of 80 different CCSID values. Change that request to only access 80 different combinations of character data type and CCSID. -871 54019
SQL0880 Message Text: Cause Text: Savepoint &1 does not exist or is not valid in this context. The RELEASE TO SAVEPOINT or ROLLBACK TO SAVEPOINT statement does not identify a savepoint that exists at the current savepoint level. Correct the statement to use a valid savepoint name, then try the statement again. -880 3B001
SQL0881 Message Text: Cause Text: Savepoint &1 already exists. The savepoint name was previously defined at the current savepoint level and either an existing savepoint or the new savepoint is defined with the UNIQUE keyword. Either use a different savepoint name or omit the UNIQUE clause if the existing savepoint was created without the UNIQUE clause and the savepoint name is intended to be reused. An existing savepoint can be released using the RELEASE TO SAVEPOINT statement.
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
157
Table 350. SQL0881 (continued) SQL0881 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 351. SQL0882 SQL0882 Message Text: Cause Text: Savepoint does not exist. A ROLLBACK TO SAVEPOINT without a savepoint name was attempted but no savepoint exists at the current savepoint level. Correct the application logic to either set a savepoint or to not attempt to rollback to a savepoint. -882 3B502 -881 3B501
SQL0900 Message Text: Cause Text: Application process not in a connected state. One of the following occurred: v The current connection was disconnected using the DISCONNECT statement. v The current connection was released and a commit occurred. v A previous error has left the application process in an unconnected state. Use the Display Job Log (DSPJOBLOG) command to see previous errors. Recovery Text: Issue CONNECT statement with the TO or RESET clause or the SET CONNECTION statement to enter the connected state. -900 08003
SQL0901 Message Text: Cause Text: SQL system error. An SQL system error has occurred. The current SQL statement cannot be completed successfully. The error will not prevent other SQL statements from being processed. Previous messages may indicate that there is a problem with the SQL statement and SQL did not correctly diagnose the error. The previous message identifier was &1. Internal error type &2 has occurred. If precompiling, processing will not continue beyond this statement.
158
Table 353. SQL0901 (continued) SQL0901 Recovery Text: See the previous messages to determine if there is a problem with the SQL statement. To view the messages, use the DSPJOBLOG command if running interactively, or the WRKJOB command to view the output of a precompile. An application program receiving this return code may attempt further SQL statements. Correct any errors and try the request again. -901 58004
SQL0904 Message Text: Cause Text: Resource limit exceeded. Resource limit type &1 exceeded. A list of the limit types follows: v Type 1 indicates that the user profile storage limit or the machine storage limit was exceeded. v Type 2 indicates that the machine lock limit was exceeded. v Type 3 indicates that the query resource limit was exceeded. For more information see the previously listed message CPD4365. v Type 4 indicates that a journal error has occurred. v Type 5 indicates that the commit lock limit was exceeded. v Type 6 indicates that the maximum size of the table has been reached. v Type 7 indicates that the maximum size of the prepared statement area has been reached. v Type 8 indicates that the maximum number of cursors have been opened for this job. v Type 12 indicates that the maximum DRDA communications buffer size was exceeded. Recovery Text: Do one of the following: If this is error type 1, contact the security officer to increase the user profile storage limit, or delete some objects to free up storage and then try the request again. v If this is error type 2, then try the operation when the number of machine locks held has decreased. v If this is error types 3, 4, or 5, see previously listed messages in the job log for recovery information. v If this is error type 6, Some of the rows from this table must be moved to another table. v If this is error type 7, issue a COMMIT or ROLLBACK without the HOLD clause before issuing anymore PREPARE statements. v If this is error type 8, issue a CLOSE before issuing anymore OPEN statements. v If this is error type 12, reduce the total size of column data supplied with the SQL request.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
159
Table 354. SQL0904 (continued) SQL0904 SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 355. SQL0906 SQL0906 Message Text: Cause Text: Recovery Text: Operation not performed because of previous error. A previous error has made cursor &1 not usable. The cursor is not usable. Perform the following steps: 1. Close the cursor. 2. Open the cursor. 3. Try the operation again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 356. SQL0907 SQL0907 Message Text: Cause Text: Data change violation occurred. The row referenced by the statement which caused a trigger program to be invoked was referenced again in the trigger program. The reference in the trigger program attempted to update or delete the row. This is called a destructive data change and is not allowed. Remove the statement which caused the error from your trigger program and attempt the request again. -907 27000 -906 24514 -904 57011
SQL0910 Message Text: Object &1 in &2 type *&3 has a pending change.
160
Table 357. SQL0910 (continued) SQL0910 Cause Text: Object &1 has an outstanding change made under commitment control that is preventing this operation. One of the following may have occurred: v This application process performed an operation on this object under commitment control. The operation has not been committed. The application process is now attempting to change the same object using commitment control level *NONE. v A different application process has performed an operation on this object under commitment control. The operation has not been committed. v This application process has performed an operation on this object under commitment control using a different commit definition. The operation has not been committed. v This application process has performed an operation on this object under commitment control. The operation has not been committed. The table cannot be altered until the changes are committed or rolled back. Recovery Text: Do one of the following and try the request again: v If your application process issued the uncommitted operation, either issue a COMMIT or ROLLBACK before attempting any other operations on this object, or issue the statement from a program using a commitment control level other than *NONE. v If the application process that issued the uncommitted operation on this object is not your application process, then that application process must perform a COMMIT or a ROLLBACK. v If your application process issued the uncommitted operation using a different commit definition, issue a COMMIT or ROLLBACK for that commit definition. v Issue either a COMMIT or ROLLBACK before attempting an ALTER TABLE statement on this object. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 358. SQL0913 SQL0913 Message Text: Cause Text: Row or object &1 in &2 type *&3 in use. The requested object &1 in &2 type *&3 is either in use by another application process or a row in the object is in use by either another application process or another cursor in this application process. -910 57007
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
161
Table 358. SQL0913 (continued) SQL0913 Recovery Text: Look at the previously listed messages in the job log (DSPJOBLOG command) or from interactive SQL press F10 (Display messages in job log) on this display to determine if this is an object or record lock wait time out. Do one of the following: v If the object is locked by another application process, try the Structured Query Language (SQL) statement again when the object is not in use. Use the Work with Object Locks (WRKOBJLCK) command to determine who is currently using the object. v If the object is a library and an attempt was made to create a table, view, or index into this library under commitment control, a save-while-active operation may be in progress on the same library by another job in the system. Try the request again when the save-while-active processing is complete. v If a record is locked by another application process, try the SQL statement again when the record is not in use. The Display Record Locks (DSPRCDLCK) command will determine who is currently using the record. v If this is a record lock held by another cursor in the same application process, you must issue a COMMIT, ROLLBACK, or another FETCH statement on the cursor that is holding the lock before issuing this SQL statement. If this error occurs frequently, use the Change Physical File (CHGPF), Change Logical File (CHGLF), or Override Data Base File (OVRDBF) command to change the object or record wait time out. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 359. SQL0918 SQL0918 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 360. SQL0950 SQL0950 Message Text: Relational database &1 not in relational database directory. ROLLBACK is required. The activation group requires a ROLLBACK to be performed prior to running any other SQL statements. Issue a ROLLBACK CL command or an SQL ROLLBACK statement and then continue. -918 51021 -913 57033
162
Table 360. SQL0950 (continued) SQL0950 Cause Text: A request for relational database &1 was made. However the relational database name was not found in the relational database directory. Do one of the following: v Change the name of the relational database specified on the CONNECT, SET CONNECTION, RELEASE, or DISCONNECT statement or the RDB parameter of the SQL precompile commands. v Add the relational database name to the relational database directory using the Add Relational Database Directory Entry (ADDRDBDIRE) command. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 361. SQL0951 SQL0951 Message Text: Cause Text: Object &1 in &2 not altered. Object &1 in &2 was not altered because it, or a table related in a referential constraint relationship with this table, is being used by the same application process. Close the cursor and try the alter request again. -951 55007 -950 42705 55006
Recovery Text:
SQL0952 Message Text: Cause Text: Processing of the SQL statement ended. Reason code &1. The SQL operation was ended before normal completion. The reason code is &1. Reason codes and their meanings are: v 1 An SQLCancel API request has been processed, for example from ODBC. v 2 SQL processing was ended by sending an exception. v 3 Abnormal termination. v 4 Activation group termination. v 5 Reclaim activation group or reclaim resources. v 6 Process termination. v 7 An EXIT function was called. v 8 Unhandled exception. v 9 A Long Jump was processed. v 10 A cancel reply to an inquiry message was received. v 0 Unknown cause.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
163
Table 362. SQL0952 (continued) SQL0952 Recovery Text: If the reason code is 1, a client request was made to cancel SQL processing. For all other reason codes, see previous messages to determine why SQL processing was ended. -952 57014
SQL0969 Message Text: Cause Text: Error occurred while passing request to application requester driver program. An unexpected error occurred while passing the SQL request to the application requester driver program for relational database &1. See previously listed messages in the job log for the cause of the failure. Correct any problems and try the request again. -969 58033
SQL0971 Message Text: Cause Text: Constraint &4 in check pending state. The operation being performed on table &2 in &3 failed. Constraint &4 in &5 could not be enforced because of reason code &1. The reason codes and their meanings are: v 1 The dependent file is in check pending status due to a referential constraint violation. v 2 The dependent or parent files access path is not valid. v 3 The file is in check pending status due to a check constraint violation. Recovery Text: For reason codes 1 and 3, use the CHGPFCST command to disable the constraint. Then use the DSPCPCST command to see the records causing the check pending status. Correct the data in the file and then use the CHGPFCST command to enable the constraint. For reason code 2, use the EDTRDBAP command to rebuild the files access path. -971 57011
164
Table 365. SQL0990 (continued) SQL0990 Cause Text: The unit of work completed but the outcome is not fully known at all sites. Either a conversation failure occurred and resynchronization is occurring to correct the problem, or a ROLLBACK occurred at one of the resources. No user action is necessary. +990 01587
SQL4300 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 367. SQL4301 SQL4301 Message Text: Cause Text: Java interpreter startup or communication failed for reason code &1. An error occurred while attempting to start or communicate with a Java interpreter. The reason codes and their meanings follow: v 1 Java environment variables or Java database configuration parameters are invalid. v 2 A Java Native Interface call to the Java interpreter failed. v 4 The Java interpreter has terminated itself and cannot be restarted. Recovery Text: Ensure that Java environment variables or Java database configuration parameters are valid. Ensure that a Java method called by the Java interpreter does not use System.out. Ensure that internal DB2 classes (com.ibm.db2) are not overridden by user classes. -4301 58004 Java support is not installed or properly configured on this platform. Support for Java stored procedures and user-defined functions is not installed and configured on this server. Ensure that a compatible Java Development Kit is installed. -4300 42742
SQL4302 Message Text: Java stored procedure or user-defined function &1, specific name &2 aborted with an exception &3.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
165
Table 368. SQL4302 (continued) SQL4302 Cause Text: The Java stored procedure or user-defined function aborted with a Java exception. If SQJAVA component trace is on, then the component trace for the job contains a Java stack traceback for the aborted method. Debug the Java method to eliminate the exception. -4202 38501
SQL4303 Message Text: Java stored procedure or user-defined function &1, specific name &2, could not be identified from external name &3. The CREATE PROCEDURE or CREATE FUNCTION statement that declared this stored procedure or user-defined function had a badly formatted EXTERNAL NAME clause. The external name must be formatted as follows: package.subpackage.class.method. Submit a corrected CREATE PROCEDURE or CREATE FUNCTION statement. -4303 42724
Cause Text:
SQL4304 Message Text: Java stored procedure or user-defined function &1, specific name &2 could not load Java class &3 for reason code &4. The Java class given by the EXTERNAL NAME clause of a CREATE PROCEDURE or CREATE FUNCTION statement could not be loaded. The reason codes and their meanings follow: v 1 The class was not found on the CLASSPATH. v 2 The class did not implement the required interface (com.ibm.db2.app.StoredProc or com.ibm.db2.app.UDF) or lacked the Java public access flag. v 3 The default constructor failed or was unavailable. Recovery Text: Ensure that the compiled .class file is installed in the CLASSPATH, for example under /QIBM/UserData/OS400/SQLLib/Function. Ensure it implements the required Java interfaces and is public. -4304 42724
Cause Text:
166
Table 371. SQL4306 SQL4306 Message Text: Java stored procedure or user-defined function &1, specific name &2 could not call Java method &3, signature &4. The Java method given by the EXTERNAL NAME clause of a CREATE PROCEDURE or CREATE FUNCTION statement could not be found. Its declared argument list may not match what the database expects, or it may not be a public instance method. Ensure that a Java instance method exists with the public flag and the expected argument list for this call. -4306 42724
Cause Text:
SQL5001 Message Text: Cause Text: Column qualifier or table &2 undefined. Name &2 was used to qualify a column name or was specified as the operand of the RRN, PARTITION, NODENAME, or NODENUMBER scalar function. The name is not defined to be a table designator in this SQL statement or the table designator cannot be referenced where it is specified in the SQL statement. If a correlation name is specified following the table name in a FROM clause, the correlation name is considered to be the table designator. If a correlation name is not specified, the table name is considered to be the table designator. If using SQL naming and the table is qualified with authorization name, then the table designator is authorization-name.table-name. If the authorization name is not specified, the table designator is the implicit authorization name followed by the table name. Ensure all column names are qualified with the proper table designator. If the RRN, PARTITION, NODENAME, or NODENUMBER function is specified, ensure the correct name is specified in the function. Try the request again. -5001 42703
Recovery Text:
SQL5002 Message Text: Cause Text: Collection must be specified for table &1. Table &1 is not implicitly or explicitly qualified by a collection name. A collection name is required for the CREATE TABLE statement in system naming mode.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
167
Table 373. SQL5002 (continued) SQL5002 Recovery Text: Explicitly qualify the table &1 with the collection name. The correct form of a qualified table name in system naming is collection-name/table-name. For a program, the table name can be implicitly qualified with the default collection by specifying the DFTRDBCOL parameter on the CRTSQLxxx command. Try the request again. -5002 42812
SQL5003 Message Text: Cause Text: Cannot perform operation under commitment control. The following operations cannot be performed under commitment control with COMMIT(*CHG), COMMIT(*CS), or COMMIT(*ALL) specified: v DROP COLLECTION statement. v GRANT or REVOKE statement to an object that has an authority holder. v CREATE statement in SQL naming mode of an object that has an authority holder. These operations cannot be committed or rolled back. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 375. SQL5005 SQL5005 Message Text: Cause Text: Operator &4 not consistent with operands. The operator specified is not consistent with the previous operands. The arithmetic operators (*, /, and **) are not valid with concatenation operators or with the DIGITS and SUBSTR scalar functions. The concatenation operator is not valid with other operations or functions that result in a numeric value, such as the arithmetic operators (* and /) or the LENGTH, DECIMAL, FLOAT, or INTEGER scalar functions. Change the SQL statement so all expressions are valid numeric expressions, string expressions, or date/time expressions. -5005 42815 Specify COMMIT(*NONE), and try the statement again. -5003 42922
Recovery Text:
SQL5012 Message Text: Host variable &1 not numeric with zero scale.
168
Table 376. SQL5012 (continued) SQL5012 Cause Text: Host variable &1 was specified in a RELATIVE position specification of a FETCH statement, or in a ROWS clause of a FETCH, INSERT, or SET RESULT SETS statement. The host variable was not usable for one of the following reasons: v It is not numeric. v The scale is not zero. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 377. SQL5016 SQL5016 Message Text: Cause Text: Qualified object name &1 not valid. One of the following has occurred: v The syntax used for the qualified object name is not valid for the naming option specified. With system naming, the qualified form of an object name is collection-name/object-name. With SQL naming the qualified form of an object name is authorization-name.object-name. v The syntax used for the qualified object name is not allowed. User-defined types cannot be qualified with the library in the system naming convention on parameters and SQL variables of an SQL procedure or function. Recovery Text: Do one of the following and try the request again: v If you want to use the SQL naming convention, verify the SQL naming option in the appropriate SQL command and qualify the object names in the form authorization-id.object-name. v If you want to use the system naming convention, specify the system naming option in the appropriate SQL command and qualify the object names in the form collection-name/object-name. v With the system naming convention, ensure the user-defined types specified for parameters and variables in an SQL routine can be found in the current path. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 378. SQL5017 SQL5017 Message Text: Cause Text: Too many users specified for GRANT or REVOKE. More than the maximum of 50 users are specified on the GRANT or REVOKE statement. -5016 42833 Change the host variable to a numeric type with zero scale. -5012 42618
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
169
Table 378. SQL5017 (continued) SQL5017 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 379. SQL5021 SQL5021 Message Text: Cause Text: FOR UPDATE column &1 not valid. One of the following has occurred: v A column in the FOR UPDATE clause is specified in the ORDER BY clause. If the column name is *N, a list of columns was not specified in the FOR UPDATE clause. This is the same as listing all columns. v A DATALINK column in the FOR UPDATE clause is specified in the SELECT list. Recovery Text: Remove the duplicate column from one of the clauses. If no columns were specified in the FOR UPDATE clause, remove either the FOR UPDATE clause or the ORDER BY clause. Try the request again. -5021 42930 Change the GRANT or REVOKE statement to specify a maximum 50 users. Try the request again. -5017 54009
SQL5023 Message Text: Cause Text: Statement name &1 previously referred to. The statement name &1 referred to in this DECLARE CURSOR statement has already been referred to in a previous DECLARE CURSOR. A statement name can only be associated with one cursor. Check the statement names specified on all DECLARE CURSOR statements in an application program or REXX procedure to make sure they are unique. Try the request again. -5023 26510
Recovery Text:
SQL5024 Message Text: Host variable &1 not character or UCS-2 graphic.
170
Table 381. SQL5024 (continued) SQL5024 Cause Text: Host variable &1 is not defined as character or UCS-2 graphic. Host variables in a precompiled v program or REXX procedure must be character or UCS-2 graphic if used: v As the statement string in a PREPARE statement. v As the statement string in an EXECUTE IMMEDIATE statement. v As the table name in a DESCRIBE TABLE statement. v As the server name, authorization name, or password on a CONNECT, SET CONNECTION, RELEASE, or DISCONNECT statement. v As the path string in a SET PATH statement. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 382. SQL5047 SQL5047 Message Text: Cause Text: Error processing SRTSEQ or LANGID parameter. Message is &3, &4. An error occurred during an attempt to retrieve the sort sequence table for the SRTSEQ parameter &1 and LANGID parameter &2. Message &3 was returned. Correct the errors as indicated by message &3 and issue the request again. If a sort sequence table is not required, specify *HEX as the SRTSEQ parameter. -5047 42616 Specify a host variable that is character or UCS-2 graphic. Try the request again. -5024 42618
Recovery Text:
SQL5051 Message Text: Cause Text: Qualifier &1 not same as name &2. One of the following has occurred: v An object created in a CREATE SCHEMA statement is qualified by a name other than the schema name. All objects created in a CREATE SCHEMA statement must be either qualified by the schema name &2 or not qualified. Unqualified objects are implicitly qualified by the schema name. v A constraint name was qualified by a name that is not the same as the qualifier for the table. A constraint for a table must be qualified by the same collection as the table. If not explicitly qualified, a constraint name is implicitly qualified by the default collection ID, if one is specified. Otherwise, the constraint name is implicitly qualified by the authorization ID for SQL names and by the qualifier of the table name for system names.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
171
Table 383. SQL5051 (continued) SQL5051 Recovery Text: Do one of the following and try the request again: v Explicitly qualify the object in the schema with &2 or remove qualifier &1 from the object name. v Use the same qualification for constraint names and table names. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 384. SQL7001 SQL7001 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 385. SQL7002 SQL7002 Message Text: Cause Text: Override parameter not valid. An Override Data Base File (OVRDBF) command was issued for one of the files referenced in the SQL statement. A parameter on the OVRDBF command is not valid for SQL. See message CPF4276 in the job log for information about which parameter is not valid. Delete the override (DLTOVR command). Use the OVRDBF command again without the parameter that is not valid, if necessary, and then try the operation again. -7002 42847 File &1 in &2 not database file. SQL processing is only valid for a database file. All other file types are not allowed. Make certain that the file and library names are correct. -7001 42858 -5051 42875
Recovery Text:
SQL7003 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 386. SQL7006 SQL7006 Message Text: Cause Text: Cannot drop collection &1. &1 is a collection that is in the library list. File &1 in &2 has more than one format. SQL cannot process a file unless it has only one format. Make certain that the correct filename was specified. Try the request again. -7003 42857
172
Table 386. SQL7006 (continued) SQL7006 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 387. SQL7007 SQL7007 Message Text: Cause Text: Recovery Text: COMMIT, ROLLBACK, or SAVEPOINT not valid. A COMMIT, ROLLBACK, or SAVEPOINT statement was issued, but commitment control is not active. Change the commitment control level *NONE to *CHG, *CS, or *ALL. The SET TRANSACTION statement can be used to change the isolation level to something other than *NONE. Try the request again. -7007 51009 Remove &1 from the library list before attempting the DROP. Try the request again. -7006 55018
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
173
Table 388. SQL7008 (continued) SQL7008 Cause Text: The reason code is &3. Reason codes and their meanings are: v 1 &1 has no members. v 2 &1 has been saved with storage free. v 3 &1 not journaled, or no authority to the journal. Files with an RI constraint action of CASCADE, SET NULL, or SET DEFAULT must be journaled to the same journal. v 4 and 5 &1 is in or being created into production library but the user has debug mode UPDPROD(*NO). v 6 Collection being created, but user in debug mode with UPDPROD(*NO). v 7 A based-on table used in creation of a view is not valid. Either the table is program described table or it is in a temporary library. v 8 A user attempted to create an object. The based-on table resides in an ASP which is different than the ASP of the object. v 9 Index is currently held or is not valid. v 10 A constraint or trigger is being added to a table that is not valid. The table is in QTEMP, has ASPs that are not the same, or is not an externally described file, or is not write, update, or delete capable. For a constraint, the table is a source file or the parent does not have a member. For a trigger, maximum number of triggers reached. v 11 Distributed table is being created in library QTEMP, or a view is being created over more than one distributed table. v 12 Table could not be created in QTEMP, QSYS, QSYS2, or SYSIBM because it contains a column of type DATALINK having the FILE LINK CONTROL option. v 13 Table could not be created in a collection containing a data dictionary. The table contains a DATALINK column or a LOB column that conflicts with the data dictionary. v 14 A DATALINK or LOB column could not be added to a non SQL table. v 15 Attempted to create or change an object using a commitment definition in a different ASP.
174
Table 388. SQL7008 (continued) SQL7008 Recovery Text: Do one of the following based on the reason code: v 1 Add a member to &1 (ADDPFM). v 2 Restore &1 (RSTOBJ). v 3 Start journaling on &1 (STRJRNPF), or get access to the journal. v 4, 5, or 6 Perform a CHGDBG command with UPDPROD(*YES). v 7 Remove table names which identify files in QTEMP or program described files. v 8 Use tables in the same ASP. v 9 Use the EDTRBDAP command to change the sequence of the access path from HELD to 1-99 or *OPN, or rebuild or delete the unique index or constraint. v 10 Specify tables that are valid for constraints or triggers. v 11 Specify a library other than QTEMP, or create the view over only one distributed table. v 12 Specify a library other than QTEMP, QSYS, QSYS2, or SYSIBM. v 13 Specify a library that does not contain a data dictionary or remove all DATALINK and LOB columns. v 14 Specify SQL table for adding the DATALINK or LOB column. v 15 Specify an object in the same ASP as the current commitment definition or end the current commitment definition. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 389. SQL7010 SQL7010 Message Text: Cause Text: Logical file &1 in &2 not valid for CREATE VIEW. Logical file &1 in &2 is specified in the subselect clause of a CREATE VIEW. Views cannot be created over logical files. Remove logical file &1 from the CREATE VIEW statement and try the request again. -7010 42850 -7008 55019
SQL7011 Message Text: Cause Text: &1 in &2 not table, view, or physical file. The SQL statement &3 cannot be performed on a file which is not a table, view, single format logical file, or physical file.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
175
Table 390. SQL7011 (continued) SQL7011 Recovery Text: Do one of the following: v Use a control language (CL) command to do the function. v Select the correct table, view, logical, or physical file. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 391. SQL7017 SQL7017 Message Text: Cause Text: Unable to run statement with specified commit level. SQL is unable to run the statement with the specified commit level because SQL cannot register a resource with commitment control. See previous messages for more information. -7017 42971 -7011 42851
SQL7018 Message Text: Cause Text: COMMIT HOLD or ROLLBACK HOLD not allowed. COMMIT HOLD or ROLLBACK HOLD was attempted to an application server or from an application requester that is not an iSeries. HOLD is only allowed when the application requester and the application server are both iSeries. Remove HOLD and submit the statement again. -7018 42970
SQL7021 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 394. SQL7022 SQL7022 Message Text: User &1 not the same as current user &2. Local program attempting to run on application server. An attempt was made to run an SQL program in a process that is an application server. Initiate another job and run the SQL program in that job. -7021 57043
176
Table 394. SQL7022 (continued) SQL7022 Cause Text: One of the following occurred. v User &1 was specified in a CONNECT statement that specified the local relational database name. The user specified is not the same as the current job user &2. v User &1 was specified in a CONNECT statement and a connection using &2 already exists to the specified relational database using connection method *DUW. Recovery Text: If connecting to the local relational database, change the statement so the user specified on the CONNECT is the same as the current job user ID. If connecting to a remote relational database, either use the SET CONNECTION statement to use the existing connection or end the current connection and issue the CONNECT statement with the new user id. -7022 42977
SQL7024 Message Text: Cause Text: CCSIDs are not compatible. An attempt was made to create an index or to group columns, but the columns have incompatible CCSIDs. The sort sequence is not *HEX. If the statement is CREATE INDEX, index &1 in library &2 was not created. The CCSIDs of character key columns or character columns in a GROUP BY clause must be associated CCSIDs when the sort sequence is not *HEX. Associated CCSIDs all have the same single-byte code page. Do one of the following: v Change the sort sequence to *HEX and try the statement again. v Change the CCSIDs of the columns so that they are either 65535 or associated CCSIDs and try the statement again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 396. SQL7026 SQL7026 Message Text: Cause Text: Auxiliary storage pool &4 or &5 not found. Object &1 in &2 type *&3 was not created because auxiliary storage pool (ASP) &4 or device name &5 does not exist on the system or in the ASP group of the thread. Specify a correct ASP number or ASP device name and try the request again. -7026 42896 -7024 42876
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
177
Table 397. SQL7027 SQL7027 Message Text: Cause Text: Cannot GRANT specified privileges on object &1 in &2 type *&3. A GRANT operation was attempted on view &1 in &2 type *&3. This operation cannot be performed because it would give the user specified additional privileges to the underlying file &4 in &5. The user has *OBJOPR or *OBJMGT system privileges to the underlying file. One of the following may be done: v Grant the specified privileges to &4 v Obtain the required authority from either the security officer or the object owner v Delete the current authority to &4. Try the operation again. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 398. SQL7028 SQL7028 Message Text: Cause Text: Owner and primary group cannot be the same. While attempting to create an object, SQL attempted to change the owner of the object. The new owner was the same as the primary group for that object. This is not allowed. Change the primary group for the user profile and try the request again. -7028 42944 -7027 42984
Recovery Text:
SQL7029 Message Text: Cause Text: New name &3 is not valid. An attempt was made to rename &1 in &2, but the new name is not valid. Both the new name and the new system name are valid system names. If both names are specified in the RENAME statement, only the name following SYSTEM NAME can be a valid system name. Do one of the following and try the request again: v Specify either the new name or the new system name. v Change the first name to be a name that is not valid as a system name. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: -7029 428B8
Recovery Text:
178
Table 400. SQL7031 SQL7031 Message Text: Cause Text: Sort sequence table &1 too long. Sort sequence table &1 in &2 is a UCS-2 sort sequence table that is greater than 31560 bytes long. It cannot be used with Distributed Relational Database Architecture (DRDA). Specify a different sort sequence table to be used with Distributed Relational Database Architecture (DRDA). -7031 54044
SQL7032 Message Text: Cause Text: SQL procedure, function, or trigger &1 in &2 not created. SQL procedure, function, or trigger &1 in &2 was not created. The compile was not successful. SQL creates an SQL procedure, function, or trigger as a C program that contains embedded SQL. Errors not found during the initial parsing of the CREATE PROCEDURE, CREATE FUNCTION, or CREATE TRIGGER statement can be found during the precompile. If a compile error occurred, see the precompiler listing in QSYSPRT. -7032 42904
SQL7033 Message Text: Cause Text: Alias name &1 in &2 not allowed. Alias name &1 cannot be used. This program was compiled on a release before alias names were supported. The table name it is using has now been defined as an alias name. Recompile the program on a release that supports alias names or remove the alias from the system. -7033 42923
SQL7034 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: LOB locators are not allowed with COMMIT(*NONE). A LOB locator cannot be used with commitment control level of *NONE or *NC. Use a commitment control level of *CHG, *UR, *CS, *ALL, *RS, or *RR. -7034 42926
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
179
Table 404. SQL7036 SQL7036 Message Text: Cause Text: System User-Defined Type name used in SQLDA. A User-Defined Type name returned in the extended SQLVAR entry of the SQLDA is longer than 19 characters. Since there is not room in the SQLNAME entry, the system name is substituted instead. The system name is 10 characters.
Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 405. SQL7037 SQL7037 Message Text: Cause Text: Data in a distributed file &1 in &2 cannot be redistributed. An attempt was made to change the node group, partitioning file, partitioning key, or an attribute of a partitioning key. These changes can cause data to be redistributed, but data in file &1 in &2 cannot be redistributed because it contains a DataLink with FILE LINK CONTROL. Change the request so that data will not be redistributed, and try the function again. -7037 429B6 +7036 01634
SQL7038 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 407. SQL7048 SQL7048 Message Text: Cause Text: Operation not allowed because trigger is inoperative. An open of an SQL table or view failed as a result of inoperative trigger &1 in library &2. The open could be due to an insert, update, delete, or open cursor statement. Delete cascade not valid for &1 in &2. A delete cascade rule can not be added to &1 in &2 as it contains a DataLink column. Either remove the DataLink column or remove the specified delete cascade rule. -7038 429B7
180
Table 407. SQL7048 (continued) SQL7048 Recovery Text: Drop and recreate trigger &1 in &2. See the previous CPF418A escape message for the name of the file that failed to open. Preceding the CPF418A will be CPD502B messages for each inoperative trigger found. The SYSTRIGGERS catalog can also be used to determine the SQL table an inoperative trigger is attached to. -7048 51037
SQL7049 Message Text: Cause Text: An internal object limit has been exceeded. The SQL statement cannot be run successfully because an internal object limitation has been encountered. The reason code is &1. The operation failed for one of the following reasons: v 1 - The maximum number of stored procedures with open result sets has been exceeded. v 2 - An internal space limitation has been reached while processing result sets. Recovery Text: The reason codes and their recovery follow: v 1 - Either fetch a result set or close an open result set for a stored procedure. v 2 - Fetch or close one or more open result sets, or reduce the size of the array result set. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 409. SQL7050 SQL7050 Message Text: Cause Text: Result sets are not available from procedure &1 in &2. An SQL CALL statement was performed for procedure &1 in &2. It opened &3 result sets, but all were closed before they could be processed. This can be caused by the ending of an activation group, or by some other function that closes SQL cursors, such as a Reclaim Resources (RCLRSC) CL command. This can also happen if the procedure contains a SET RESULT SETS statement, and an error occurred on that statement. If the procedure was created with *NEW as the activation group, change it to *CALLER or a named activation group. Remove any functions that might be closing SQL cursors. If the procedure contains the SET RESULT SETS statement, make sure it completes successfully and does not identify cursors that are not open. +7050 01646 -7049 54035
Recovery Text:
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
181
Table 410. SQL7051 SQL7051 Message Text: Cause Text: MODE DB2SQL before trigger converted to MODE DB2ROW. MODE DBSQL before triggers are not supported. The SQL trigger &1 in &2 will be converted from MODE DB2SQL to MODE DB2ROW. MODE DB2ROW should be specified for all BEFORE triggers. Change the statement and try the request again. +7051 01647
SQL7052 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 412. SQL7053 SQL7053 Message Text: Cause Text: Relational database directory not available. An attempt to connect to relational database (RDB) &1 failed because the RDB directory is not available. A vary on operation may be in progress for the Auxiliary Storage Pool (ASP) devices. If a vary on operation is in progress for any ASP devices, wait until the operation is complete. If repeated attempts fail, you may need to run the command RCLSTG SELECT(*DBXREF). -7053 57011 Object &1 type *&3 cannot be created in &2. An attempt to create object &1 type *&3 in &2 failed because the library is not valid for user objects. Perform the operation using a different library. -7052 55050
Recovery Text:
SQL7905 Message Text: Cause Text: Table &1 in &2 created but could not be journaled. The table &1 was created in &2, but the table could not be journaled. The journal QSQJRN in &2 may be damaged, removed, unable to accept journal entries, or may not be created. The SQL name for the table is &1 and the system name for the table is &3. For a distributed table, journaling could not be started on all of the systems. The journal QSQJRN in &2 must exist, and be able to accept journal entries, on each of the systems in the node group.
182
Table 413. SQL7905 (continued) SQL7905 Recovery Text: The table was created, but until the table is journaled, COMMIT(*CHG), COMMIT(*CS), and COMMIT(*ALL) will not be allowed for table &1. If journal QSQJRN does not exist in &2, create the journal (CRTJRN command) and start journaling (STRJRNPF command). If the journal is in error, correct the problem to the journal If the table is distributed, correct the problems on all the systems in the node group and start journaling (STRJRNPF command). +7905 01567
SQL7941 Message Text: Cause Text: &1 in &2 not valid for object type &3. Object &3 is specified, but &1 in &2 is not the correct object type or does not have the correct attributes. A list of the possible errors follow: v TABLE is specified for the object type, but &1 is not a physical file. v VIEW is specified for the object type, but &1 is not a logical file. v INDEX is specified for the object type, but &1 is not a keyed logical file or all the keys in the logical file are *NONE. v ALIAS is specified for the object type, but &1 is not an alias. v PROCEDURE is specified for the object type, but &1 is a function. v FUNCTION is specified for the object type, but &1 is a procedure. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 415. SQL9012 SQL9012 Message Text: Cause Text: DB2 UDB Query Manager and SQL Development Kit for iSeries not available. Either DB2 UDB Query Manager and SQL Development Kit for iSeries is not installed, or the limit for the number of concurrent licensed users has been reached. Refer to the job log for details. Change the object type and try the request again. -7941 42981
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
183
Table 415. SQL9012 (continued) SQL9012 Recovery Text: Do one of the following and try the request again. v Install DB2 UDB Query Manager and SQL Development Kit for iSeries. v Request that a current user discontinue use of the product. v Ask your system administrator to contact the software vendor to increase the limit for the number of licensed users. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 416. SQ20054 SQ20054 Message Text: Cause Text: File &1 in &2 has DataLinks in link pending mode. The accessed file &1 has DataLinks in link pending mode for reason code &3. The reason codes are as follows: v 21 The status of the DataLinks cannot be verified. A file cannot be used for INSERT and UPDATE statements while in link pending mode. Recovery Text: Use the WRKPFDL (Work with Physical File DataLinks) command to determine which files have DataLinks in link pending mode. Resolve the pending links and try the request again. -20054 50019 -9012 42968
SQ20110 Message Text: Cause Text: Recovery Text: Cannot implicitly connect to a remote site with a savepoint outstanding. The statement referenced an object at a remote DBMS when an active savepoint exists. An implicit connect to a remote server is not allowed because a savepoint is outstanding. Issue a RELEASE TO SAVEPOINT or ROLLBACK TO SAVEPOINT before retrying the statement. Committing or rolling back the transaction will also release existing savepoints. -20110 51036
SQ20112 Message Text: Cause Text: The maximum number of savepoints has been reached. A resource limit has been exceeded.
184
Table 418. SQ20112 (continued) SQ20112 Recovery Text: Issue a RELEASE TO SAVEPOINT or ROLLBACK TO SAVEPOINT before creating additional savepoints. You may issue a COMMIT or ROLLBACK to release existing savepoints. -20112 3B002
SQL20120 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 420. SQ20141 SQL20141 Message Text: Cause Text: Truncation of value with length &1 occurred for &2. On assignment of a value to a host variable or parameter, truncation occurred and the length of the value that was truncated is too large to be returned in the indicator variable. This situation can occur when truncation occurs on assignment of: A value to a parameter of a remote stored procedure and the value being truncated is greater than 127 bytes. In this case, the indicator variable will contain a value of 127. A LOB value to a host variable and the value being truncated is greater than 32767 bytes. In this case, the indicator variable will contain a value of 32767. In these cases the actual length of the truncated value cannot be returned to the application using the indicator variable. The actual length of the value is returned as message token length. Change the length of the host variable or parameter and try the request again. -20141 01004 SQL TABLE function must return a table result. The RETURN statement in an SQL TABLE function must return a table result. Specify a query in the RETURN statement of a table function. Try the request again. -20120 428F1
SQ20148 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: RETURN statement must be specified in function &1 in &2. A RETURN statement must be specified in an SQL function. Specify a RETURN statement. Try the request again. -20148
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
185
Table 421. SQ20148 (continued) SQ20148 SQLSTATE or SQLSTATEs: Table 422. SQ20200 SQ20200 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 423. SQ20201 SQ20201 Message Text: Cause Text: The install, replace, or remove of &1 in &2 failed because the jar name is not valid. The jar name specified on the install, replace, or remove jar procedure is not valid. For example, the jar id may be of the improper format, may not exist to be replaced or removed, or can not be installed as it already exists. Ensure the jar name is of the correct format. If the jar id exists, it may need to be removed before it can be installed. For the remove or replace procedures, ensure the jar id exists. -20201 46002 The install or replace of &1 in &2 failed because &3 could not be located. The URL specified on the install or replace jar procedure did not identify a valid jar file. Reissue the install or replace jar procedure with a URL that identifies a valid jar file. -20200 46001 429BD
Recovery Text:
SQ20202 Message Text: Cause Text: The replace or remove of &1 in &2 failed because &3 is in use. The specified class in the jar file is currently in use by a defined procedure, or the replacement jar file does not contain the specified class for which a procedure is defined. Ensure all procedures referencing the classes being removed are dropped and resubmit the replace or remove procedure. -20202 46003
Recovery Text:
SQ20203 Message Text: Signature not valid for Java method in user defined function or procedure &1 in &2.
186
Table 425. SQ20203 (continued) SQ20203 Cause Text: The signature of the Java method used to implement the function or procedure is not valid. For example, the method may have parameters that are not compatible with the parameters on the corresponding CREATE statement or the method for a procedure may specify a return value. Reissue the corresponding CREATE statement specifying parameters that match the Java method, or correct the parameters or return type of the Java method and rebuild the class. -20203 46007
Recovery Text:
SQ20204 Message Text: Cause Text: The user defined function or procedure &1 in &2 was unable to map to a single Java method. The identified function or procedure either failed to find a matching Java method, or found more than 1 matching Java method. Correct either the Java method or corresponding create statement so that the function or procedure call resolves to a single Java method. -20204 46008
Recovery Text:
SQ20205 Message Text: Cause Text: User defined function or procedure &1 in &2 has an input argument with a null value. A function created with CALLED ON NULL INPUT or a procedure has an input parameter with a null value but the Java data type for this argument does not support null values. Examples of Java data types that do not support null values are BOOLEAN, BYTE, SHORT, INT, LONG, or DOUBLE. If the method is to be called with null values, ensure the input Java types are capable of accepting a null value. If &1 is a function, RETURNS NULL ON NULL INPUT may be specified on the CREATE FUNCTION statement. -20205 39004
Recovery Text:
SQ20206 Message Text: The procedure &1 in &2 returned too many result sets.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
187
Table 428. SQ20206 (continued) SQ20206 Cause Text: Recovery Text: The specified procedure returned more results sets than were specified on the procedure definition. Modify the procedure to return fewer result sets, or drop and recreate the procedure specifying the correct number of result sets. +20206 0100E
SQ20207 Message Text: Cause Text: The install or remove jar procedure for &1 in &2 specified the use of a deployment descriptor. The DEPLOY or UNDEPLOY parameter of the install or replace jar procedure was non-zero; this parameter is not supported and must be zero. Reissue the procedure with the DEPLOY or UNDEPLOY parameter set to zero. -20207 46501
SQ30000 Message Text: Distributed Relational Database Architecture (DRDA) protocol error.
188
Table 430. SQ30000 (continued) SQ30000 Cause Text: Command or SQL statement failed due to a distribution protocol error that will not affect subsequent commands or SQL statements. The protocol error is &1 with a location code of &2. The location codes are: v 01X The error was detected at the application requester. v 02X The error was detected at the application server. A possible list of protocol errors is: v 1245X Conversation protocol error. The error code is &3. v 121CX Not authorized to command. v 124CX Distributed Data Management (DDM) data stream syntax error. The error code is &3. v 1254X Unexpected error condition. The error code is &3. v 125FX Application server does not support function requested. v 2202X Cursor not open. v 2203X Not authorized to RDB (for DB2 UDB for iSeries, this indicates a DDM user exit program blocked the connect). v 2204X Relational database not connected. v 2207X Relational database already connected. v 220AX Data descriptor not valid. v 220EX Data descriptor did not match data. v 220FX Cursor already open. v 221DX Command not valid for conversation type. If the protocol error does not appear in the list, refer to the DDM Architecture Reference for DDM code point &1. Recovery Text: If the protocol error is 121CX, then obtain the authorization required to use this command or SQL statement at the application server. If the protocol error is not 121CX, then report the problem using Analyze Problem (ANZPRB). -30000 58008
SQ30001 Message Text: Cause Text: Call to distributed SQL program not allowed. An attempt was made to use Submit Remote Command (SBMRMTCMD) to call a distributed SQL program from a Distributed Data Management (DDM) target job. Call the SQL program from a job that is not a DDM target job. -30001 57042
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
189
Table 432. SQ30020 SQ30020 Message Text: Cause Text: Distributed Relational Database Architecture (DRDA) protocol error. Command or SQL statement failed due to a distribution protocol error that will affect subsequent SQL statements or commands. The application has been disconnected and the process is in an unconnected state. The protocol error is &1 with a location code of &2. The location codes are: v 01X The error was detected at the application requester. v 02X The error was detected at the application server. A possible list of protocol errors is: v 113FX Conversation protocol error. The error code is &3. v 121CX Not authorized to command. v 1232X Unexpected permanent error. v 124CX Distributed Data Management (DDM) data stream syntax error. The error code is &3. v 1254X Unexpected error condition. The error code is &3. v 125FX or 1218X Application server does not support function requested. v 2202X Cursor not open. v 2204X Relational database not connected. v 2207X Relational database already connected. v 220AX Data descriptor not valid. v 220EX Data descriptor did not match data. v 220FX Cursor already open. If the protocol error does not appear in the list, refer to the DDM Architecture Reference for DDM code point &1. Recovery Text: If the protocol error is 121CX, then obtain the authorization required to use this command or SQL statement at the application server. If the protocol error is not 121CX, then report the problem using Analyze Problem (ANZPRB). -30020 58009
SQ30021 Message Text: Cause Text: Distributed relational database not supported by the remote system. An attempt was made to connect to a Distribute Data Management (DDM) server that does not support Distributed Relational Database Architecture (DRDA). On OS/400, DRDA is only supported at V2R1M1 or later. On the remote system, the DDM manager class was &1 with manager level &2.
190
Table 433. SQ30021 (continued) SQ30021 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 434. SQ30040 SQ30040 Message Text: Cause Text: DDM resource &2 at relational database &1 unavailable. SQL statement or command failed due to an unavailable Distributed Data Management (DDM) resource &2 that will not affect subsequent SQL statements and commands. 1409X indicates storage limit was reached. DDM resource is unavailable at relational database &1 with location code &3. The location codes are: v 01X Application requester or the local system. v 02X Application server. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 435. SQ30041 SQ30041 Message Text: Cause Text: DDM resources at relational database &1 unavailable. SQL statement or command failed due to an unavailable Distributed Data Management (DDM) resource &2 that will affect subsequent commands and SQL statements. The application has been disconnected and the process is in an unconnected state. 1409X indicates storage limit was reached. DDM resource is unavailable at relational database &1 with location code &3. The location codes are: v 01X Application requester or the local system. v 02X Application server. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 436. SQ30050 SQ30050 Message Text: Cause Text: DDM command &1 not valid while bind process in progress. An attempt was made to run Distributed Data Management (DDM) command &1. This command is not valid while a bind process is in progress. BNDSQLSTT, RDBCMM, ENDBND, and RDBRLLBCK are the only valid DDM commands while a bind process is in progress.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
Change the program to connect to a relational database which supports DRDA. -30021 58010
Free the DDM resource and try the request again. -30040 57012
Free the DDM resource and try the request again. -30041 57013
191
Table 436. SQ30050 (continued) SQ30050 Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 437. SQ30051 SQ30051 Message Text: Cause Text: Bind process for specified package name and consistency token not active. Attempted to run a BNDSQLSTT or ENDBND Distributed Data Management (DDM) command for a bind process that was not active. Report this problem using the Analyze Problem (ANZPRB) command. -30051 58012 Report this problem using the Analyze Problem (ANZPRB) command. -30050 58011
SQ30052 Message Text: Cause Text: Program preparation assumptions not correct. The application requester did not understand the SQL statement and assumed all host variables were input, but this assumption was not correct. Refer to the CRTSQLxxx (where xxx=CBL, FTN, PKG, PLI, RPG, CI, RPGI, or CBLI) listing to find all SQL statements that were not recognized. Remove all unrecognized SQL statements that contain output host variables. Precompile the program again. -30052 42932
Recovery Text:
SQ30053 Message Text: Cause Text: Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 440. SQ30060 SQ30060 Message Text: User is not authorized to relational database &1. Not authorized to create package for owner &1. Attempt to create the package failed because you are not authorized to owner &1. Obtain the required authorization to &1 and try again. -30053 42506
192
Table 440. SQ30060 (continued) SQ30060 Cause Text: If relational database &1 is DB2 UDB for iSeries, a user exit program denied access to the user, or a failure in the user exit program occurred. Obtain authorization to relational database &1 and try the request again. -30060 08004
SQ30061 Message Text: Cause Text: Recovery Text: Relational database &1 not found. Relational database &1 was not found in the relational database directory. Do one of the following: v Use the Add Relational Database Directory Entry (ADDRDBDIRE) command to add the relational database name to the relational database directory of the application requester. v Change the relational database name to match the relational database directory entry of the application requester. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 442. SQ30070 SQ30070 Message Text: Cause Text: Distributed Data Management (DDM) command &1 not supported. The remote system does not support the DDM command &1. If the DDM command is 2012X, the remote system does not support the SQL DESCRIBE TABLE statement. If the DDM command is not 2012X, to determine which command is not supported, see the DDM Architecture Reference. For a list of DDM commands, refer to the Appendix A of the Distributed Relational Database Guide. Recovery Text: SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 443. SQ30071 SQ30071 Message Text: Distributed Data Management (DDM) object &1 not supported.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
-30061 08004
Remove the SQL statement from the program and precompile the program. -30070 58014
193
Table 443. SQ30071 (continued) SQ30071 Cause Text: Recovery Text: DDM object &1 was not supported. See previous messages for more information. See the DDM Architecture Reference for additional information about code point &1. -30071 58015
SQ30072 Message Text: Cause Text: Distributed Data Management (DDM) parameter &1 not supported. DDM parameter &1 is not supported. The location code is &2 with an error code of &3. The location code are: v 01X The error was detected at the application requester. v 02X The error was detected at the application server. Recovery Text: See previous messages for more information. See the DDM Architecture Reference for additional information about DDM parameter &1. -30072 58016
SQ30073 Message Text: Distributed Data Management (DDM) parameter value &1 not supported.
194
Table 445. SQ30073 (continued) SQ30073 Cause Text: DDM parameter value &1 is not supported. The location code is &2 with an error code of &3. The location code are: v 01X The error was detected at the application requester. v 02X The error was detected at the application server. A possible list of DDM parameter values is: v 0035X The SBCS CCSID is not supported. v 119CX The SBCS CCSID is not supported. v 2112X The collection name or package name is longer than the maximum supported by the application server. v 2120X The string delimiter is not supported. v 2121X The decimal delimiter is not supported. v 2128X The collection name is longer than the maximum supported by the application server. v 2131X The userid is longer than the maximum supported by the application server. If &1 is not in the list above, refer to the DDM Architecture Reference for a description of the parameter value that was not supported. Recovery Text: See previous messages for more information. Change your job or SQL program to send a value that is supported by the application server and try again. -30073 58017
SQ30074 Message Text: Cause Text: Recovery Text: Distributed Data Management (DDM) reply message &1 not supported. DDM reply message &1 was not supported. See previous messages for more information. See the DDM Architecture Reference for additional information about code point &1. -30074 58018
SQ30080 Message Text: Communication error occurred during distributed database processing.
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
195
Table 447. SQ30080 (continued) SQ30080 Cause Text: A communication error occurred. Possible reasons include: v The remote system is not available. v The communications network is not available. v The userid used to start the connection may not exist on the remote system. v The remote system may require the password to be encrypted. v The password may not be valid for the userid. The characters and case of the password specified must match exactly the password on the remote system. v A server authorization entry for the remote system, if used, may be incorrect. Server names must be in upper case. The QRETSVRSEC system value must be set to 1 to retain passwords. If message CPE3425 (connection refused) preceeds this message, the cause may be: v The DDM/DRDA TCP/IP server is not started on the remote system. v An incorrect port was specified for the remote system. v The remote system is restricting DRDA ports. v The SOCKS server, if used, is not configured properly. The APPC major return code is &1 and the minor return code is &2. For TCP/IP, both return codes will be 00. If the return codes are not both 00, their meaning can be found in the &3443. topic in the APPC Programmer/s Guide. Recovery Text: See previous messages for more information. Check the status of the remote system and the communications network for possible problems. If the application server is an iSeries, check QSYSOPR message queue for error messages. -30080 08001
196
Table 448. SQ30082 (continued) SQ30082 Cause Text: A connection attempt failed with reason code &2. The reason codes and their meanings are as follows: v 0 Unknown cause. v 1 Password expired. v 2 Password not valid. v 3 Password missing. v 4 Protocol violation. v 5 User ID not found. v 6 User ID not valid. For a DB2 UDB for iSeries server, this could mean a damaged user profile or PASSWORD(*NONE). v 7 User ID revoked or disabled. v 15 Security processing at the server failed. v 16 The new password is not valid. v 17 The security mechanism requested by the client is not supported or allowed at the server. See recovery information below. v 22 Security processing at the client failed. v 23 CCSID conversion of the password failed. Recovery Text: Correct the problem indicated by the reason code, if possible, and attempt to connect again. A common cause for reason code 17 is that the server requires a password, but because the client does not have a password to send, sends only a user ID. Or, the server requires an encrypted password and the client did not send an encrypted password. A password can be supplied by the user in two ways: v 1 By using the USER ... USING ... clause on the SQL CONNECT statement, or v 2 By using the ADDSVRAUTE CL command to add a server authorization entry for the remote server under the users profile. The server name (DRDA RDB NAME) must be entered in UPPER CASE. The OS/400 DRDA server can be configured with the CHGDDMTCPA CL command to not require a password, or to not require an encrypted password. SQLCODE or SQLCODEs: SQLSTATE or SQLSTATEs: Table 449. SQ30089 SQ30089 Message Text: Communication error occurred during DB2 Multisystem processing. -30082 08001
Chapter 3. DB2 Universal Database for iSeries SQL Messages and Codes
197
Table 449. SQ30089 (continued) SQ30089 Cause Text: A communication error occurred. A possible list of reasons may include: v The remote system is not available. v The communications network is not available. v The userid used to start the connection may not exist on the remote system. Recovery Text: See previous messages for more information. Check the status of the remote system and the communications network for possible problems. Check QSYSOPR message queue for error messages. -30089 08001
SQ30090 Message Text: Cause Text: Change request not valid for read-only application server. Application requester requested a read-only application server. The running of a statement which is not valid for a read-only application server was attempted. This message can occur when initially attempting to connect to a non-iSeries server using interactive SQL with the COMMIT option set to *NONE. Recovery Text: Remove the change request from the program and try again. If the problem is due to the use of COMMIT(*NONE) to a non-iSeries server, change to a different commitment control level and try again. -30090 25000 2D528 2D529
SQ30104 Message Text: Cause Text: Bind option not valid. The value &2 is not valid with generic bind option &1. Valid values are: AS400NAMING SQL or SYSTEM OS400NAMING SQL or SYSTEM SORTSEQ JOBRUN or HEX Correct the generic bind option value and try the request again. -30104 56095
198
Printed in U.S.A.