Error Handling

This appendix describes how an application using OpenAPI checks for and handles errors.

Previous Topic

Next Topic

Error Codes

OpenAPI generates the following error codes.

E_AP0001_CONNECTION_ABORTED

The connection between the application and the server has been severed. A server error message also may be available.

E_AP0002_TRANSACTION_ABORTED

The server aborted the current transaction. A server error message also may be available.

E_AP0003_ACTIVE_TRANSACTIONS

The application requested an operation that can be performed only when no transactions are active on the connection.

E_AP0004_ACTIVE_QUERIES

The application requested an operation that can be performed only when no queries are active on the connection.

E_AP0005_ACTIVE_EVENTS

The application requested an operation that can be performed only when no database event requests are active on the connection.

E_AP0006_INVALID_SEQUENCE

The application invoked a function that violated the OpenAPI order of processing.

E_AP0007_INCOMPLETE_QUERY

The application attempted to close a query that had not yet completed processing. The application should cancel the query instead.

E_AP0008_QUERY_DONE

The application attempted to cancel a query that had completed processing. The application should close the query instead.

E_AP0009_QUERY_CANCELLED

The query was cancelled by a call to IIapi_cancel().

E_AP000A_QUERY_INTERRUPTED

Copy statement processing interrupted by the server.

E_AP000B_COMMIT_FAILED

The server was unable to commit the transaction.

E_AP000C_2PC_REFUSED

The server was unable to prepare the distributed transaction to be committed. The transaction should be rolled back.

E_AP000D_PARAMETERS_REQUIRED

The specified query type requires parameters, but the application indicated that no parameters would be provided.

E_AP000E_INVALID_CONNECT_PARM

The server rejected a connection parameter or value.

E_AP000F_NO_CONNECT_PARMS

IIapi_modifyConnect() was called with no prior calls to IIapi_setConnectParam().

E_AP0010_INVALID_COLUMN_COUNT

The number of parameter or column values being sent or retrieved did not match what the OpenAPI expected.

E_AP0011_INVALID_PARAM_VALUE

A parameter value was not within the permissible range of values.

E_AP0012_INVALID_DESCR_INFO

The ds_dataType or ds_columnType of at least one of the descriptor entries was invalid.

E_AP0013_INVALID_POINTER

A required pointer parameter was NULL.

E_AP0014_INVALID_REPEAT_ID

The repeat query being executed was no longer available to the server. The application should define and re-execute the repeat query.

E_AP0015_INVALID_TRANS_STMT

The application attempted a transaction commit or rollback by using IIapi_query(). Use IIapi_commit() or IIapi_rollback() to manage transactions.

E_AP0016_ROW_DISCARDED

A cursor pre-fetch result row was received, but all OpenAPI buffers were filled with unread result rows. The row was discarded.

E_AP0017_SEGMENT_DISCARDED

The column and row count parameters for IIapi_getColumns() only permitted the first segment of a BLOB column to be returned.

E_AP0018_INVALID_DISCONNECT

A disconnect request was made while the connection was already in the process of disconnecting.

E_AP0020_BYREF_UNSUPPORTED

BYREF procedure parameters are not supported at connection level IIAPI_LEVEL_0.

E_AP0021_GTT_UNSUPPORTED

Global Temporary Table procedure parameters are not supported at connection level IIAPI_LEVEL_0.

E_AP0024_INVALID_DATA_SIZE

The ds_length of at least one of the descriptor entries was invalid.

E_AP0025_SVC_DATA_TYPE

The ds_dataType of at least one of the descriptor entries, whose ds_columntType was IIAPI_COL_SVCPARM, was invalid.

E_AP0028_LVL1_DATA_TYPE

The ds_dataType of at least one of the descriptor entries specified a type that is not supported below connection level IIAPI_LEVEL_1.

E_AP0029_LVL2_DATA_TYPE

The ds_dataType of at least one of the descriptor entries specified a type that is not supported below connection level IIAPI_LEVEL_2.

E_AP002A_LVL3_DATA_TYPE

The ds_dataType of at least one of the descriptor entries specified a type that is not supported below connection level IIAPI_LEVEL_3.

E_AP002B_LVL4_DATA_TYPE

The ds_dataType of at least one of the descriptor entries specified a type that is not supported below connection level IIAPI_LEVEL_4.

Previous Topic

Next Topic

SQLSTATE Values and Descriptions

OpenAPI- and server-generated errors are accompanied by an SQLSTATE value. SQLSTATE is a standard way to report SQL errors. The following table contains SQLSTATE values that may accompany an OpenAPI or server error:

SQLSTATE

Value

Description

II_SS00000_SUCCESS

00000

Success

II_SS01000_WARNING

01000

Warning

II_SS02000_NO_DATA

02000

No more data

II_SS08004_CONNECTION_REJECTED

08004

Connection rejected

II_SS08006_CONNECTION_FAILURE

08006

Connection failure

II_SS0A500_INVALID_QRY_LANG

0A500

Invalid query language

II_SS21000_CARD_VIOLATION

21000

Cardinality violation

II_SS22000_DATA_EXCEPTION

22000

Data exception

II_SS22001_STRING_RIGHT_TRUNC

22001

String data, right truncation

II_SS22002_NULLVAL_NO_IND_PARAM

22002

Null value, no indicator parameter

II_SS22003_NUM VAL_OUT_OF_RANGE

22003

Numeric value out of range

II_SS22005_ASSIGNMENT_ERROR

22005

Error in assignment

II_SS22008_DATETIME_FLD_OVFLOW

22008

Datetime field overflow

II_SS22011_SUBSTRING_ERROR

22011

Substring error

II_SS22012_DIVISION_BY_ZERO

22012

Division by zero

II_SS22015_INTERNAL FLD_OVFLOW

22015

Internal field overflow

II_SS22022_INDICATOR_OVFLOW

22022

Indicator overflow

II_SS22500_INVALID_DATA_TYPE

22500

Invalid data type

II_SS23000_CONSTR_VIOLATION

23000

Integrity constraint violation

II_SS24000_INV_CURS_STATE

24000

Invalid cursor state

II_SS25000_INV_XACT_STATE

25000

Invalid transaction state

II_SS26000_INV_SQL_STMT_NAME

26000

Invalid SQL statement name

II_SS27000_TRIG_DATA_CHNG_ERR

27000

Triggered data change violation

II_SS28000_INV_AUTH_SPEC

28000

Invalid authorization specification

II_SS40001_SERIALIZATION_FAIL

40001

Serialization failure

II_SS42000_SYN_OR_ACCESSERR

42000

Syntax error or access rule violation

II_SS42500_TBL_NOT_FOUND

42500

Table not found

II_SS42501_COL_NOT_FOUND

42501

Column not found

II_SS42502_DUPL_OBJECT

42502

Duplicate object

II_SS42503_INSUF_PRIV

42503

Insufficient privilege

II_SS42504_UNKNOWN_CURSOR

42504

Cursor not found

II_SS42506_INVALID_IDENTIFIER

42506

Invalid identifier

II_SS50001_INVALID_DUP_ROW

50001

Invalid duplicate row

II_SS50002_LIMIT_EXCEEDED

50002

Limit has been exceeded

II_SS50003_EXHAUSTED_RESOURCE

50003

Resource exhausted

II_SS50004_SYS_CONFIG_ERROR

50004

System configuration error

II_SS50005_GW_ERROR

50005

Gateway-related error

II_SS50006_FATAL_ERROR

50006

Fatal error

II_SS50007_INVALID_SQL_STMT_ID

50007

Invalid SQL statement ID

II_SS50008_UNSUPPORTED_STMT

50008

Unsupported statement

II_SS50009_ERROR_RAISED_IN_DBPROC

50009

Procedure error raised

II_SS5000A_QUERY_ERROR

5000A

Query error

II_SS5000B_INTERNAL ERROR

5000B

Internal error

II_SS5000C_FETCH_ORIENTATION

5000C

Fetch orientation has value zero

II_SS5000D_INVALID_CURSOR_NAME

5000D

Invalid cursor name

II_SS5000E_DUP_STMT_ID

5000E

Duplicate SQL statement ID

II_SS5000H_UNAVAILABLE_RESOURCE

5000H

Unknown or unavailable resource

II_SS01001_CURS_OPER_CONFLICT

01001

Cursor operation conflict

II_SS01002_DISCONNECT_ERROR

01002

Error during disconnect

II_SS01003_NULL_ELIM_IN_SETFUNC

01003

NULL eliminated in set() function

II_SS01004_STRING_RIGHT_TRUNC

01004

String data, right truncation

II_SS01005_INSUF_DESCR_AREAS

01005

Insufficient descriptor items

II_SS01006_PRIV_NOT_REVOKED

01006

Privilege not revoked

II_SS01007_PRIV_NOT_GRANTED

01007

Privilege not granted

II_SS01008_IMP_ZERO_BIT_PADDING

01008

Implicit zero-bit padding

II_SS01009_SEARCH_COND_TOO_LONG

01009

Search condition too long

II_SS0100A_QRY_EXPR_TOO_LONG

0100A

Query expression too long

II_SS01500_LDB_TBL_NOT_DROPPED

01500

Star local database table not dropped

II_SS01501_NO_WHERE_CLAUSE

01501

No where clause: update, delete

II_SS07000_DSQL_ERROR

07000

Dynamic SQL error

II_SS07001_USING_PARM_MISMATCH

07001

Using clause/parameter mismatch

II_SS07002_USING_TARG_MISMATCH

07002

Using clause/target mismatch

II_SS07003_CAN_EXEC_CURS_SPEC

07003

Cannot execute cursor spec

II_SS07004_NEED_USING_FOR_PARMS

07004

Using clause required: params

II_SS07005_STMT_NOT_CURS_SPEC

07005

Prepared statement not cursor specification

II_SS07006_RESTR_DT_ATTR_ERR

07006

Restricted data type violation

II_SS07007_NEED_USING_FOR_RES

07007

Using clause required: result

II_SS07008_INV_DESCR_CNT

07008

Invalid descriptor count

II_SS07009_INV_DESCR_IDX

07009

Invalid descriptor index

II_SS07500_CONTEXT_MISMATCH

07500

Execution context not valid

II_SS08000_CONNECTION_EXCEPTION

08000

Connection error

II_SS08001_CANT_GET_CONNECTION

08001

Cannot establish connection

II_SS08002_CONNECT_NAME_IN_USE

08002

Connection name in use

II_SS08003_NO_CONNECTION

08003

Connection does not exist

II_SS08007_XACT_RES_UNKNOWN

08007

Transaction result unknown

II_SS08500_LDB_UNAVAILABLE

08500

Star local database unavailable

II_SS0A000_FEATUR_NOT_SUPPORTED

0A000

Feature not supported

II_SS0A001_MULT_SERVER_XACTS

0A001

Multiple server transactions

II_SS22007_INV_DATETIME_FMT

22007

Invalid datetime format

II_SS22009_INV_TZ_DISPL_VAL

22009

Invalid timezone displacement

II_SS22018_INV_VAL_FOR_CAST

22018

Invalid character value in cast

II_SS22019_INV_ESCAPE_CHAR

22019

Invalid escape character

II_SS22021_CHAR_NOT_IN_RPRTR

22021

Character not in set

II_SS22023_INV_PARAM_VAL

22023

Invalid parameter value

II_SS22024_UNTERM_C_STRING

22024

Unterminated string

II_SS22025_INV_ESCAPE_SEQ

22025

Invalid escape sequence

II_SS22026_STRING_LEN_MISMATCH

22026

String data, length mismatch

II_SS22027_TRIM_ERROR

22027

Error in trim() function

II_SS2B000_DEP_PRIV_EXISTS

2B000

Dependent privileges exist

II_SS2C000_INV_CH_SET_NAME

2C000

Invalid character set name

II_SS2D000_INV_XACT_TERMINATION

2D000

Invalid transaction termination

II_SS2E000_INV_CONN_NAME

2E000

Invalid connection name

II_SS33000_INV_SQL_DESCR_NAME

33000

Invalid descriptor name

II_SS34000_INV_CURS_NAME

34000

Invalid cursor name

II_SS35000_INV_COND_NUM

35000

Invalid condition number

II_SS3C000_AMBIG_CURS_NAME

3C000

Ambiguous cursor name

II_SS3D000_INV_CAT_NAME

3D000

Invalid catalog name

II_SS3F000_INV_SCHEMA_NAME

3F000

Invalid schema name

II_SS40000_XACT_ROLLBACK

40000

Transaction rollback

II_SS40002_CONSTR_VIOLATION

40002

Integrity constraint violation

II_SS40003_STMT_COMPL_UNKNOWN

40003

Statement results unknown

II_SS42505_OBJ_NOT_FOUND

42505

Object not found

II_SS42507_RESERVED_IDENTIFIER

42507

Reserved identifier

II_SS44000_CHECK_OPTION_ERR

44000

With check option violation

II_SS50000_MISC_ING_ERRORS

50000

Miscellaneous Ingres errors

II_SS5000F_TEXTUAL_INFO

5000F

Textual information

II_SS5000G_DBPROC_MESSAGE

5000G

Database procedure message

II_SS5000I_UNEXP_LDB_SCHEMA_CHNG

5000I

Star local database schema change

II_SS5000J_INCONSISTENT_DBMS_CAT

5000J

Inconsistent DBMS catalog

II_SS5000K_SQLSTATE_UNAVAILABLE

5000K

SQLSTATE code unavailable

II_SS5000L_PROTOCOL_ERROR

5000L

Protocol error

II_SS5000M_IPC_ERROR

5000M

IPC error

II_SS5000N_OPERAND_TYPE_MISMATCH

5000N

Operand type mismatch

II_SS5000O_INVALID_FUNC_ARG_TYPE

5000O

Invalid function argument

II_SS5000P_TIMEOUT_ON_LOCK_REQUEST

5000P

Lock request timeout

II_SS5000Q_DB_REORG_INVALIDATED_QP

5000Q

Query plan invalidated

II_SS5000R_RUN_TIME_LOGICAL_ERROR

5000R

Runtime logical error

II_SSHZ000_RDA

HZ000

Remote database access error


© 2007 Ingres Corporation. All rights reserved.