The following is a list and brief descriptions of the Static SQL compile-time error messages:
The context specified in a WHERE clause could not be constructed.
An SQL command line has exceeded the maximum length of 2048 characters.
You have declared a cursor with a name exceeding the 128 character maximum.
You have attempted to open a cursor that was not declared.
You have attempted to use a variable of a type not supported by the SQL Precompiler.
An error has occurred during precompilation.
A character variable (i.e., a character array) has been declared with an index greater than 14 digits.
The index value has been left out of a character variable (i.e., array) declaration.
An EXEC SQL END DECLARE SECTION has been encountered before an EXEC SQL BEGIN DECLARE SECTION.
No EXEC SQL END DECLARE SECTION was found in your program to match an EXEC SQL BEGIN DECLARE SECTION.
You have not included EXEC SQL INCLUDE SQLCA as the first executable Precompiler statement in your program.
You have declared a cursor with a name that has been previously declared.
A character variable has been declared with a previously declared name.
The number of attributes do not match the number of values specified in a FETCH, INSERT or SELECT INTO statement.
A syntax error has occurred in a SQL command line.
A syntax error has been made in the section of your Precompiler program. This may be a language specific error or a Precompiler error.
You have attempted to use a variable that has not been declared for Precompiler use.
You have attempted to perform an update operation on a complex join.
A variable has been declared the name of which exceeds the maximum of 128 characters.
You have exceeded the maximum number of variables, 256, that can be declared for Precompiler use.
The following is a list and brief descriptions of the runtime error messages:
| (-0) | Open table failed |
Empress is unable to open the specified table. |
|
| (-1) | Invalid WHERE clause (msmp_api_getbegin() or msmp_api_srtbeg() error ) |
You have specified an invalid WHERE clause. |
|
| (-2) | Record cannot be deleted |
Empress is unable to delete the record specified. |
|
| (-3) | Conversion error during insert (msmp_api_putvs() or msmp_api_putvi() error) |
You attempted to insert a value of the wrong data type. |
|
| (-4) | Cursor not active |
You have attempted to use a cursor that has not been opened. |
|
| (-5) | Cannot add record |
Empress cannot add the specified record to the table. |
|
| (-6) | Cannot begin transaction |
Empress cannot begin the specified transaction. This is likely due to the presence of a currently active transaction. |
|
| (-7) | Cannot update record |
Empress cannot update the specified record. |
|
| (-8) | Conversion error during update (msmp_api_putvs() or msmp_api_putvi() error) |
You attempted to update to a value of the wrong data type. |
|
| (-10) | Read error |
Failure when retrieving a record from a table, usually in the case of record is being locked. This error message is related to the following statements:
|
|
| (-11) | Call procedure failed |
Failure when building of expressions and qualifications with the EXEC SQL CALL procedure. |
|
| (-12) | Set value failed |
Failure when building of expressions and qualifications with EXEC SQL :var = expr statement. |
|
| (-13) | Conflict with already opened cursor |
You try to open a table which is already associated to an opened cursor. This error message is related to the following statements:
|
|
| (-14) | Close table failed |
You try to close a table with EXEC SQL CLOSE TABLE table_name statement, but either the database or table does not exist, or table is not openned. |
|
| (-15) | Empress initialization failed |
Failure in the execution of initialization procedures, EXEC SQL INIT. |
|
| (-16) | Invalid database |
Failure to find a physical database in the statement EXEC SQL DATABASE IS database_name. |
The following is a list of the runtime error messages for dynamic SQL. These messages are returned by SQLERRMC. The numbers in parentheses are the error codes returned by SQLCODE.
| (-60) | Undefined prepared statement name |
Your EXECUTE command refers to a statement name which has not been defined by a PREPARE statement. Or you are attempting to open a cursor which is declared for a statement name which has not been defined. |
|
| (-61) | Incorrect number of actual parameters |
The number of variables in your USING clause is not equal to the number of parameters in the prepared statement. |
|
| (-62) | Invalid PREPARE statement |
Your PREPARE statement refers to a variable which is a NULL pointer. |
|
| (-63) | Overflow of table of prepared statements |
You attempted to prepare more than 200 statements in a program. |
|
| (-64) | Wrong data type in USING clause |
A variable in the USING clause has a data type which is not recognized. |
|
| (-65) | Error detected by the SQL processor: |
Your SQL statement could not be executed. The error message supplied by the SQL processor is usually appended to this message. The usual causes are syntax errors, or attempts to access table and/or attribute which do not exist. It may also happen if the database or the table is locked. |
|
| (-66) | Attempt to execute a SELECT statement |
Queries cannot be performed with the EXECUTE command. |
|
| (-67) | Signal caught during execution of a dynamic statement |
The execution of the SQL statement was aborted because the processor received a signal. |
|
| (-68) | Unidentified error detected during execution of dynamic statement |
The SQL statement could not be executed for an unknown reason. Check if you specified a valid database. |
|
| (-69) | Overflow of table of declared cursors |
You attempted to declare more than 200 cursors in a program. |
|
| (-70) | Attempt to redefine a cursor |
You attempted to declare a cursor using a cursor name which is already declared. |
|
| (-71) | Attempt to open a previously opened cursor |
You are not allowed to open a cursor which is already opened. You must close the cursor first, before re-opening it. |
|
| (-72) | Open cursor error |
The execution of the SQL SELECT statement associated with this cursor failed. This can be caused by syntax errors, invalid database, or tables and/or attributes which do not exist. It may also happen if the database or the table is locked. |
|
| (-73) | Close cursor error |
You attempted to close a cursor which was not opened. |
|
| (-74) | Wrong number of variables/descriptor areas in FETCH statement |
The number of variables or active areas in the descriptor specified in the INTO clause is not equal to the number of selected items in the query. |
|
| (-75) | Unsupported array base type |
The data type of the elements of the array variable is not supported. |
|
| (-76) | Wrong type of variable in FETCH/GET DESCRIPTOR statement |
A variable in the GET DESCRIPTOR statement or the INTO clause of the FETCH statement has a data type which is not recognized. |
|
| (-77) | Internal conversion error |
Empress could not perform the conversion between the internal data type of the attribute or selected item and the data type of the C variable. |
|
| (-78) | Attempt to update/delete from a cursor opened in read mode |
By default, a cursor is declared for read-only. To be able to update or delete records using the cursor, you need to declare the cursor for UPDATE or DEFERRED mode, or you can explicitly open the table in one of these modes. |
|
| (-79) | Cursors used in UPDATE/DELETE must be made up of a single table |
If a cursor is based on a SELECT statement which accesses more than one table, you are not allowed to update or delete records using this cursor. |
|
| (-80) | Wrong table name in UPDATE/DELETE statement |
The table name that you specified in the UPDATE or DELETE statement is not in the SELECT statement used to define the cursor. |
|
| (-81) | Use of a cursor containing an aggregate function in UPDATE/DELETE |
You cannot update or delete records using a cursor based on a SELECT statement which contains an aggregate function. |
|
| (-82) | Internal error detected while executing a DELETE statement |
Empress could not delete the specified record. This could be caused by referential constraints on the table. |
|
| (-83) | Wrong attribute name in UPDATE statement |
You are attempting to update an attribute using a cursor which does not select this attribute. |
|
| (-84) | Failed UPDATE statement |
Empress could not update the specified record. This could be caused by referential constraints or unique indices on the table. |
|
| (-85) | Wrong data type of variable in UPDATE statement |
A variable in the UPDATE statement has a data type which is not recognized. |
|
| (-86) | Overflow of table of allocated descriptors |
You attempted to allocate more than 200 descriptors in a program. |
|
| (-87) | Attempt to reallocate a descriptor |
You attempted to allocate a descriptor using a descriptor name which already exists. |
|
| (-88) | Use of a deallocated descriptor |
You are attempting to use a descriptor which has been deallocated. |
|
| (-89) | Wrong statement name |
You attempted to describe a descriptor for a statement name which has not been defined by a PREPARE statement. |
|
| (-90) | Descriptor contains fewer areas than required |
The descriptor that you are using to describe a statement contains fewer areas than the number of parameters (for input) or the number of selected items (for output). |
|
| (-91) | Descriptor must be associated with current cursor |
You attempted to fetch using a descriptor which was not described for the statement associated with this cursor. |
|
| (-92) | Wrong specification of descriptor area |
You attempted to access an area which is invalid for this descriptor. |
|
| (-93) | Attempt to update an output descriptor |
You cannot assign values to fields in a descriptor which was described for output. |
|
| (-94) | Invalid descriptor in GET DESCRIPTOR statement |
You attempted to access a descriptor which is not valid for this operation. |
|
| (-95) | Wrong data type of variable in GET DESCRIPTOR statement |
A variable in the statement has a data type which is not valid for the field being accessed. |
|
| (-96) | Output descriptor used in EXECUTE/OPEN statement |
You attempted to use an output descriptor in the USING clause of a EXECUTE or OPEN statement. You should use an input descriptor instead. |
|
| (-97) | Descriptor has not been prepared for specified statement |
You attempted to EXECUTE a statement or OPEN a cursor or FETCH using a descriptor which was not described for the corresponding statement. |
|
| (-98) | Input descriptor used in FETCH statement |
You attempted to use an input descriptor in the FETCH statement. You should use an output descriptor instead. |
|
| (-99) | Attempt to use an inactive cursor |
You attempted to access a cursor which is not open. |
|
| (-100) | Attempt to open a cursor based on a non-SELECT statement |
You are attempting to open a cursor declared for a SQL statement which is not a SELECT statement. |
|
| (-101) | Attempt to describe a statement with no parameters |
You attempted to describe for input a prepared statement which does not contain parameters. |
|
| (-102) | Ambiguous DESCRIBE OUTPUT: two or more opened cursors are based on the same statement |
You are attempting to describe for output a statement which has more than one opened cursor associated with it. Empress does not know which cursor the descriptor should be associated with. |