Oracle Error Messages

Oracle error numbers and connector error numbers are returned in $dberror.

When an Oracle error or a connector error has occurred, a descriptive error message is available in the message frame. Oracle error numbers are positive, although negative error numbers may occur in some Oracle environments such as PL/SQL. Connector error numbers are negative.

Oracle error messages that contain Unicode are supported by the ORA connector and Uniface.

Both the ORA connector and PL/SQL accumulate error messages. This means that when an error occurs, not only is the original connector or Oracle error number returned in $dberror, but you may also see multiple error messages in the message frame. The most important connector errors that can occur are listed in the following table. ORA connector internal errors are not listed.

Errors Generated by the ORA Connector

$dberror value

Message

-4

Dynamic memory allocation failed.

-7

Value out of range: Value.

-8

Syntax error or illegal value in USYS$ORA_PARAMS assignment.

-9

Invalid combination of connector options in USYS$ORA_PARAMS assignment.

-11

User-defined 3GL set uopenflag, but Logon Data Area (ulda) is invalid.

-13

Maximum number of concurrent logon paths to Oracle exceeded.

-15

User-defined 3GL set uopenflag, but obsolete 3GL services are not enabled.

-16

User-defined 3GL set uopenflag, but the connector is already logged on.

-19

An element in the logon information string is too long.

-20

Syntax error in logon information string.

-23

Request for user name/password (Info mode 1) failed.

-24

User name without password, or password without user name specified.

-25

Row does not exist.

-27

Selected data too large for SQL Workbench (maximum length is 8K).

-30

Zero or more than one row(s) were deleted.

-31

Zero or more than one row(s) were updated.

-47

Package created with compilation errors. Query the Oracle data dictionary view USER_ERRORS or DBA_ERRORS for the error messages.

-51

Generated SQL statement too large for internal buffer.

-54

Storage required for I/O buffer exceeds system limits. Reduce array size.

-55

The table would contain more than one Long or Long Raw column.

-56

The number of columns (plus one for the ROWID) exceeds Oracle’s maximum number of select list items.

-60

Number fetched from Oracle exceeds size constraint of packing code.

-62

Data was truncated on fetch.

-66

One row expected, but zero or more than one row fetched.

-68

selectdb ProcScript statement is not supported on segmented fields. Field name: FieldName.

-75

Actual length of Long or Long Raw data exceeds platform specific memory limitation.

-79

No SQL statement to process.

-80

Column has incorrect Oracle storage format: Table TableName, Column ColumnName, expected storage format StorageFormat, actual storage format is StorageFormat.

-81

No more cursors available for statement processing. Increase value of ‘open cursors’ in USYS$ORA_PARAMS.

-82

Package does not exist, or is inaccessible: package name.

-83

Major version number of package in the database not acceptable: Package PackageName, major version of package in database is VersionNumber, current major package version number of ORA connector is VersionNumber.

-86

Obsolete syntax in logon path specification: ‘@’ preceding database.

-87

Incorrect number format.

-88

Invalid WHERE clause expression requested (check ProcScript u_where).

-89

odescr() OCI routine returned invalid data type code: Data type returned is not the correct type.

Related Topics