Reference from DB2 Developer's Guide, Fourth Edition.
DB2 Error Messages (Sorted by SQLCODE)
| SQLCODE | SQLSTATE | Description |
|---|---|---|
| 000 | 00000 | The SQL statement finished successfully. |
| 01xxx | The SQL statement finished successfully, but with a warning. | |
| +012 | 01545 | The unqualified column name was interpreted as a correlated reference. |
| +098 | 01568 | A dynamic SQL statement ends with a semicolon. |
| +100 | 02000 | No rows found to satisfy the SQL statement. |
| +110 | 01561 | Update to a table defined using DATA CAPTURE was not signaled to originating subsystem. (DPROP) |
| +111 | 01590 | The SUBPAGES clause was specified (and ignored) for a Type 2 index. |
| +117 | 01525 | The number of values being inserted does not equal the number of columns in the table being inserted to. |
| +162 | 01514 | Named tablespace placed in check pending status. |
| +203 | 01552 | The named qualified column was resolved using a non-unique name. |
| +204 | 01532 | Named object is not defined to DB2. |
| +206 | 01533 | Named column does not exist in any table named in the SQL statement. |
| +218 | 01537 | EXPLAIN cannot be executed for the SQL statement as it references a remote object. |
| +219 | 01532 | The named PLAN_TABLE does not exist. |
| +220 | 01546 | Improperly defined PLAN_TABLE; check definition of named column. |
| +236 | 01005 | The value of SQLN in the SQLDA should be at least as large as the number of columns that are being described. |
| +237 | 01594 | At least one of the columns being described is a distinct type, so additional space is required for extended SQLVAR entries. |
| +238 | 01005 | At least one of the columns being described is a LOB, so additional space is required for extended SQLVAR entries. |
| +239 | 01005 | At least one of the columns being described is a distinct type, so additional space is required for extended SQLVAR entries. |
| +304 | 01515 | Value cannot be assigned to host variable because it is out of range for the data type. |
| +331 | 01520 | String cannot be translated so it has been assigned to NULL. |
| +339 | 01569 | Character conversion problem may exist due to connection to a DB2 V2.2 subsystem. |
| +394 | 01629 | Optimizer "hints" used to select the access path. |
| +395 | 01628 | Invalid optimizer "hints" specified; reason code specifies why. Optimizer "hints" were ignored. |
| +402 | 01521 | Unknown location. |
| +403 | 01522 | CREATE ALIAS object does not exist locally. |
| +434 | 01608 | The specified feature will not be supported in future releases of DB2. IBM recommends that you stop using this feature. |
| +445 | 01004 | Value has been truncated by a CAST function. |
| +462 | 01Hxx | Warning issued by user-defined function or stored procedure. |
| +464 | 01609 | Named stored procedure exceeded the limit on the number of query results sets it can return. |
| +466 | 01610 | Specifies the number of query results sets returned by the named stored procedure. Successful completion. |
| +494 | 01614 | Number of results sets returned by a stored procedure exceeds the number of results set locators as specified by the ASSOCIATE LOCATORS statement. |
| +495 | 01616 | Warning issued because the cost estimate for the dynamic SQL exceeds the warning threshold value specified in the RLST. |
| +535 | 01591 | A positioned update of a primary key or a delete from a table with a self-referencing constraint was requested. |
| +541 | 01543 | Named foreign key is a duplicate referential constraint. |
| +551 | 01548 | Named authorization ID lacks authority to perform the named operation on the named DB2 object. |
| +552 | 01542 | Named authorization ID lacks authority to perform the named operation. |
| +558 | 01516 | Already granted to PUBLIC so WITH GRANT OPTION not applicable. |
| +561 | 01523 | PUBLIC AT ALL LOCATIONS not valid for ALTER. REFERENCES, INDEX, and TRIGGER privileges. |
| +562 | 01560 | One or more of the privileges was ignored because the GRANTEE already possesses that privilege. |
| +585 | 01625 | Schema name is specified more than once. |
| +599 | 01596 | Comparison functions are not created for long string data types (BLOB, CLOB, and DBCLOB). |
| +610 | 01566 | The named object is in a PENDING status due to creating an index specifying DEFER YES or because ALTER INDEX was used to change limit key values. |
| +625 | 01518 | Table definition marked incomplete because primary key index was dropped. |
| +626 | 01529 | Index to enforce UNIQUE constraint has been dropped; uniqueness no longer enforced. |
| +645 | 01528 | WHERE NOT NULL was ignored because the key for the index being created cannot contain NULLs. |
| +650 | 01538 | Cannot alter or create the named table as a dependent table. |
| +653 | 01551 | Partitioned index for the named table in the named partitioned tablespace has not been created yet, so it is unavailable. |
| +655 | 01597 | Specific and non-specific volume IDs specified to the CREATE or ALTER STOGROUP statement; will not be supported in later DB2 releases (post V6). |
| +658 | 01600 | Cannot specify SUBPAGES clause when creating a catalog index; SUBPAGES will be ignored and default to 1. |
| +664 | 01540 | Limit key for the partitioning index exceeds the maximum value. |
| +738 | 01530 | The change to the named object may require like changes for the objects in read-only systems. |
| +799 | 01527 | A special register that does not exist is referenced in the SET statement. The SET request is ignored. |
| +802 | 01519 | Data exception error caused by data overflow or divide exception. |
| +806 | 01553 | ISOLATION(RR) conflicts with LOCKSIZE PAGE. |
| +807 | 01554 | Overflow may result due to decimal multiplication. |
| +863 | 01539 | Connection successful, but only SBCS will be supported. |
| +2000 | 56094 | Type 1 indexes where SUBPAGES does not equal 1 cannot become group bufferpool dependent in a data sharing environment. |
| +2002 | 01624 | The GBPCACHE specification is ignored because the specified bufferpool does not allow caching. |
| +2007 | 01602 | Optimizer "hints" cannot be specified because the DB2 subsystem parameter disabling "hints" has been activated. |
| +30100 | 01558 | Distribution protocol error detected. Original SQLCODE and SQLSTATE provided. |
| -007 | 42601 | Illegal character in SQL statement. |
| -010 | 42603 | String constant not terminated properly; check for missing quotation marks. |
| -029 | 42601 | INTO clause required. |
| -060 | 42815 | Invalid length or scale specification for the specified data type. |
| -084 | 42612 | SQL statement cannot be executed because it is invalid for dynamic SQL or is not valid for DB2 for OS/390. |
| -097 | 42601 | Cannot use LONG VARCHAR or LONG VARGRAPHIC with CAST, or in distinct types, user-defined functions, and procedures. |
| -101 | 54001 | SQL statement exceeds an established DB2 limit; for example, too many tables, too many bytes in statement, and so on. |
| -102 | 54002 | String constant is too long. |
| -103 | 42604 | Invalid numeric literal. |
| -104 | 42601 | Illegal symbol encountered in SQL statement. |
| -105 | 42604 | Invalid character string format; usually refers to an improperly formatted graphic string. |
| -107 | 42622 | Object name is too long. |
| -108 | 42601 | Incorrect name specified for the RENAME statement; cannot use a qualifier. |
| -109 | 42601 | Invalid clause specified; for example: CREATE VIEW cannot contain an ORDER BY clause. |
| -110 | 42606 | Invalid hexadecimal literal encountered. |
| -111 | 42901 | Column function specified without a column name. |
| -112 | 42607 | Invalid column function syntax; column function cannot operate on another column function. |
| -113 | 42602 | Invalid character encountered. |
| -114 | 42961 | Location name for this statement must match the current server, but it does not. |
| -115 | 42601 | Invalid predicate encountered because comparison operator is not followed by an expression or list. |
| -117 | 42802 | Number of inserted values not equivalent to number of columns for the inserted row. |
| -118 | 42902 | Table or view is illegally named in both data modification clause (UPDATE or DELETE) and the FROM clause. |
| -119 | 42803 | Column list in HAVING clause does not match column list in the GROUP BY clause. |
| -120 | 42903 | The WHERE clause, SET clause, VALUES clause, or SET ASSIGNMENT statement is not allowed to reference a column function. |
| -121 | 42701 | A column is illegally referenced twice in an INSERT or UPDATE statement. |
| -122 | 42803 | Column function applied illegally because all columns not applied to a column function are not in the GROUP BY clause. |
| -123 | 42601 | The parameter in the specified position must be either a constant or a key word. |
| -125 | 42805 | Invalid number specified in the ORDER BY clause--number is either less than 1 or greater than the number of columns selected. |
| -126 | 42829 | An ORDER BY clause cannot be specified for an UPDATE statement. |
| -127 | 42905 | DISTINCT can only be specified once in a subselect. |
| -128 | 42601 | NULL use improperly in an SQL predicate. |
| -129 | 54004 | The SQL statement contains more than 15 tables. |
| -130 | 22019 | Escape clause must be 1 character. |
| 22025 | Invalid escape pattern. | |
| -131 | 42818 | The LIKE predicate can only be applied to character data. |
| -132 | 42824 | Invalid operand in LIKE clause, ESCAPE clause, LOCATE function, or POSSTR function. |
| -133 | 42906 | Invalid correlated subquery reference. |
| -134 | 42907 | Column larger than 255 bytes used improperly. |
| -136 | 54005 | Sort key length is greater than 4000 bytes. |
| -137 | 54006 | Concatenated string is too large; maximum is 32,767 for character or 16,382 for graphic. |
| -138 | 22011 | The second or third operator of the SUBSTR column function is invalid. |
| -142 | 42612 | Unsupported SQL statement. The statement might be valid in another RDBMS, or the statement might be valid in another context (for example, VALUES can only appear inside a trigger). |
| -144 | 58003 | Named section number is invalid. |
| -147 | 42809 | A source function cannot be altered. To change the source function, it must be dropped and recreated. |
| -148 | 42809 | The RENAME or ALTER cannot be executed. RENAME cannot be used to rename a view or an active RLST table; ALTER cannot be used to alter the column length because the column participates in RI, a user exit, a global temporary table, or a table with DATA CAPTURE CHANGES on. |
| -150 | 42807 | Invalid view update requested or a transition table was specified in an INSERT, UPDATE, or DELETE statement during a triggered action. |
| -151 | 42808 | Invalid column update requested; trying to update either a non-updateable view column, a DB2 Catalog table column, or a ROWID column. |
| -152 | 42809 | DROP CHECK tried to drop a referential constraint; or DROP FOREIGN KEY tried to drop a check constraint. |
| -153 | 42908 | Invalid view creation required; must provide a name for an unnamed or duplicate column listed in the select list. |
| -154 | 42909 | Cannot create a view using UNION, UNION ALL, or a remote table. |
| -156 | 42809 | It is invalid to create an index on a view or specify an object other than a table on the ALTER TABLE, CREATE TRIGGER, DROP TABLE, or LOCK TABLE statements. |
| -157 | 42810 | Must specify a table name on the FOREIGN KEY clause. |
| -158 | 42811 | View columns do not match columns in the select list. |
| -159 | 42809 | Invalid DROP or COMMENT ON statement. |
| -160 | 42813 | WITH CHECK OPTION invalid for this view. |
| -161 | 44000 | The WITH CHECK OPTION clause of the view being updated prohibits this row from being inserted or updated as specified. |
| -164 | 42502 | User does not have the authority to create this view. |
| -170 | 42605 | Invalid number of arguments specified for the scalar function. |
| -171 | 42815 | Invalid data type length or value for the scalar function. |
| -173 | 42801 | Isolation level UR cannot be specified on a cursor that is not read-only. |
| -180 | 22007 | Invalid syntax for the string representation of a DATE, TIME, or TIMESTAMP value. |
| -181 | 22007 | Not a valid DATE, TIME, or TIMESTAMP value. |
| -182 | 42816 | Invalid date/time value in an arithmetic expression. |
| -183 | 22008 | Result of arithmetic expression returns a DATE/TIME value that is not within the range of valid values. |
| -184 | 42610 | Improper usage of parameter marker for DATE/TIME values. |
| -185 | 57008 | No local date/time exits defined. |
| -186 | 22505 | Local DATE/TIME exit changed causing invalid length for this program. |
| -187 | 22506 | MVS returned invalid current date/time. |
| -188 | 22503 | Invalid string representation. |
| -189 | 22522 | The named coded character set ID is invalid or undefined. |
| -190 | 42837 | Cannot ALTER the column as specified. Can only ALTER column length of VARCHAR columns. |
| -191 | 22504 | String contains invalid mixed data. |
| -197 | 42877 | Qualified column names cannot be used in an ORDER BY clause when two or more tables are unioned and then ordered. |
| -198 | 42617 | Trying to issue a PREPARE or EXECUTE IMMEDIATE statement on a blank string. |
| -199 | 42601 | Illegal keyword used in SQL statement. |
| -203 | 42702 | Ambiguous column reference. |
| -204 | 42704 | Undefined object name. |
| -205 | 42703 | Invalid column name for specified table. |
| -206 | 42703 | Column name not in any table referenced in the FROM clause or in the table on which the trigger is defined. |
| -208 | 42707 | Cannot ORDER BY specified column because it is not in the select list. |
| -212 | 42712 | The specified table name is not allowed to be used more than once in the trigger. |
| -214 | 42822 | Invalid expression caused by DISTINCT and ORDER BY. |
| -219 | 42704 | EXPLAIN cannot be executed because PLAN_TABLE does not exist. |
| -220 | 55002 | Invalid PLAN_TABLE column encountered. |
| -221 | 55002 | If any optional columns are defined for the PLAN_TABLE all of them must be defined. |
| -229 | 42708 | The locale specified was not found. |
| -240 | 428B4 | The PART clause of a LOCK TABLE statement is invalid. |
| -250 | 42718 | Local location name is not defined. |
| -251 | 42602 | Invalid token. |
| -300 | 22024 | String in host variable or parameter is not null-terminated. |
| -301 | 42895 | Invalid host variable data type. |
| -302 | 22001 | The value of an input variable is invalid for the specified column. |
| 22003 | The value of an input variable is too large for the specified column. | |
| -303 | 42806 | Value cannot be assigned because of incompatible data types. |
| -304 | 22003 | Value cannot be assigned because it is out of range. |
| -305 | 22002 | Null indicator variable is missing. |
| -309 | 22512 | Invalid predicate due to referenced host variable set to NULL. |
| -310 | 22023 | Decimal host variable or parameter cannot contain non-decimal data. |
| -311 | 22501 | Invalid length of input host variable; either negative or too large. |
| -312 | 42618 | Undefined or unusable host variable. |
| -313 | 07001 | Number of host variables does not equal number of parameter markers. |
| -314 | 42714 | Ambiguous host variable reference. |
| -327 | 22525 | Cannot INSERT row outside the bounds of the last partition key range. |
| -330 | 22021 | String cannot be translated successfully. |
| -331 | 22021 | String cannot be assigned to a host variable because of unsuccessful translation. |
| -332 | 57017 | Translation not defined for the two named coded character set IDs. |
| -333 | 56010 | Subtype invalid causing translation to fail. |
| -338 | 42972 | Invalid ON clause; must refer to joined columns. |
| -339 | 56082 | Access to DB2 V2.2 subsystem was denied because ASCII to EBCDIC translation cannot occur. |
| -350 | 42962 | Invalid large object specification. |
| -351 | 56084 | Unsupported data type in SELECT list. |
| -352 | 56084 | Unsupported data type in input list. |
| -355 | 42993 | LOB column is too large to be logged. |
| -372 | 428C1 | Only one ROWID column per table is permitted. |
| -390 | 42887 | The specified function is not valid in this context. |
| -392 | 42855 | The SQLDA for the specified cursor was improperly changed since the previous FETCH. |
| -396 | 38505 | Attempted to execute SQL statement during final call processing. |
| -397 | 428D3 | Improperly specified GENERATED on a column that is not a ROWID data type. |
| -398 | 428D2 | LOCATOR was requested for a host variable that is not a LOB. |
| -399 | 22511 | Invalid value specified for ROWID column in the INSERT statement. |
| -400 | 54027 | Cannot define more than 100 user-defined indexes in the DB2 Catalog. |
| -401 | 42818 | The operands of an arithmetic or comparison operator are not compatible. |
| -402 | 42819 | Arithmetic function cannot be applied to character or date/time data. |
| -404 | 22001 | The SQL statement specified a string that is too long. |
| -405 | 42820 | Numeric literal is out of range. |
| -406 | 22003 | A calculated or derived numeric value is out of range. |
| -407 | 23502 | Cannot insert a null value into a column that is defined as NOT NULL. |
| -408 | 42821 | Value cannot be inserted or updated because it is incompatible with the column's data type. |
| -409 | 42607 | COUNT function specified invalid operand. |
| -410 | 42820 | Floating point literal longer than maximum allowable length of 30 characters. |
| -411 | 56040 | Invalid CURRENT SQLID usage. |
| -412 | 42823 | Multiple columns encountered in the select list of a subquery. |
| -413 | 22003 | Overflow condition when converting a numeric data type. |
| -414 | 42824 | The LIKE predicate cannot operate on columns defined with a numeric or date/time data type. |
| -415 | 42825 | The select lists specified for the UNION operation are not union-compatible. |
| -416 | 42907 | Long string columns are not allowed in SQL statements containing the UNION operator. |
| -417 | 42609 | Two parameter markers specified as operands on both sides of the same predicate. |
| -418 | 42610 | Invalid usage of parameter markers. |
| -419 | 42911 | Invalid decimal division. |
| -420 | 22018 | Character string argument value did not conform to the function's requirements. |
| -421 | 42826 | Same number of columns not supplied in the select lists for a UNION operation. |
| -423 | 0F001 | Invalid value specified for the LOB or result set locator. |
| -426 | 2D528 | COMMIT not permitted for an application server where updates are not permitted. |
| -427 | 2D529 | ROLLBACK not permitted for an application server where updates are not permitted. |
| -430 | 38503 | Error encountered within a user-defined function or stored procedure. |
| -433 | 22001 | Specified value is too long. |
| -435 | 428B3 | Invalid application-defined SQLSTATE. |
| -438 | xxxxx | Error raised by the application using the RAISE_ERROR function. |
| -440 | 42884 | Number of parameters in the parameter list for a stored procedure or user-defined function does not match the number expected. |
| -441 | 42601 | Improper usage of DISTINCT or ALL in combination with a scalar function. |
| -443 | 42601 | Error SQLSTATE returned by the specified external function. |
| -444 | 42724 | Program associated with the called stored procedure or user-defined function could not be found. |
| -449 | 42878 | The EXTERNAL NAME clause is improperly missing from the CREATE or ALTER statement for the stored procedure or user-defined function. |
| -450 | 39501 | The stored procedure or user-defined function overwrote storage beyond a parameter's declared length. |
| -451 | 42815 | Improper data type specified in CREATE FUNCTION. |
| -453 | 42880 | Invalid RETURNS clause in user-defined function. |
| -454 | 42723 | The signature of the function specified matches a signature of another function that already exists. |
| -455 | 42882 | Schema names do not match. |
| -456 | 42710 | The specific name of the user-defined function already exists. |
| -457 | 42939 | The user-defined function or user-defined type is attempting to use the name of a system-defined function or type. |
| -458 | 42883 | Function not found. |
| -463 | 39001 | Invalid SQLSTATE returned by the specified external routine. |
| -469 | 42886 | Host variable must be provided on the CALL statement for parameters defined as OUT or INOUT. |
| -470 | 39002 | Null parameter specified but the routine does not support NULLs. |
| -471 | 55023 | Stored procedure or user-defined function failed; reason code provided. |
| -472 | 24517 | Cursor was left open by the external function program. |
| -473 | 42918 | Cannot name a user-defined data type the same as a system-defined data type. |
| -475 | 42866 | The result type is not castable to the RETURNS type. |
| -476 | 42725 | The function is not unique within its schema. |
| -478 | 42893 | Cannot DROP or REVOKE the specified object because another object is dependent on it. |
| -480 | 51030 | DESCRIBE PROCEDURE and ASSOCIATE LOCATORS cannot be issued until the stored procedure has been CALLed. |
| -482 | 51030 | Stored procedure returned no locators. |
| -483 | 42885 | Number of parameters in the CREATE FUNCTION statement does not match the number of parameters in the source function. |
| -487 | 38001 | The specified stored procedure or user-defined function was created with the NO SQL option, but it is trying to issue an SQL statement. |
| -491 | 42601 | The CREATE FUNCTION statement is invalid because it does not have a RETURNS clause, or because it does not specify a valid SOURCE or EXTERNAL clause. |
| -492 | 42879 | The specified parameter number of the specified function is in error. |
| -495 | 57051 | The estimated processor cost of the statement exceeds resource limit. |
| -496 | 51033 | Statement cannot be executed because the current server is different than the server that called a stored procedure |
| -497 | 54041 | Named database exceeded the limit of 32,767 OBIDs, or the CREATE DATABASE statement causes the limit of 32,511 DBIDs to be reached. |
| -499 | 24516 | Named cursor already assigned to a result set from named stored procedure. |
| -500 | 24501 | A WITH HOLD cursor was closed because the connection was destroyed. |
| -501 | 24501 | Must open a cursor before attempting to fetch from it or close it. |
| -502 | 24502 | Cannot open a cursor twice without first closing it. |
| -503 | 42912 | Column cannot be updated because it was not specified in the FOR UPDATE OF clause of the cursor from which it was fetched. |
| -504 | 34000 | Cannot reference cursor because it is not defined to the program. |
| -507 | 24501 | Must open a cursor before attempting to update or delete WHERE CURRENT OF. |
| -508 | 24504 | Cannot update or delete because the referenced cursor is not currently positioned on a data row. |
| -509 | 42827 | Cannot update from a different table than the one specified on the cursor referenced by the WHERE CURRENT OF clause. |
| -510 | 42828 | Table or view cannot be modified as requested. |
| -511 | 42829 | FOR UPDATE OF is invalid for non-modifiable tables or views. |
| -512 | 56023 | Invalid reference to a remote object. |
| -513 | 42924 | An alias cannot be defined on another alias. |
| -514 | 26501 | Cursor has not been prepared. |
| -516 | 26501 | Describe attempted for an unprepared SQL statement. |
| -517 | 07005 | Cursor is invalid because the SQL statement has not yet been prepared. |
| -518 | 07003 | Execute attempted for an unprepared SQL statement. |
| -519 | 24506 | Cursor cannot be open when issuing a prepare statement for its SQL statement. |
| -525 | 51015 | Cannot execute SQL statement within named package because it was invalid at bind time. |
| -526 | 42995 | Global temporary table cannot be used in the given context. |


Thanks for the list but here's a new one:
SQL Error: -4499, SQLState: null
Beats me what it means!
Jillian,
You can see "Understand the DB2 UDB JDBC Universal Driver", http://www.ibm.com/developerworks/data/library/techarticle/dm-0512kokkat/.