Error codes 800 – 899
800 Corresponding types must be compatible in CASE expression.
All the result values in all the WHEN clauses in the CASE expression should be of compatible types. In the linearized use of the CASE expression, the value-expression that follows the CASE keyword should be compatible with the value-expressions that follow all the WHEN keywords in the CASE expression. Reissue the query after modifying the CASE expression so that all related expressions are of compatible types.
801 SQL Edit buffer is full.
The text editor cannot expand the buffer in which it stores your SQL statements because no more data space memory is available. If you have multiple statements in the buffer, execute them one at a time.
802 Cannot open file for run.
The SQL command file that you specified cannot be opened for reading. Review the filename that you specified. If it is spelled as you intended, check that it exists in the current directory or in a directory that is named in the DBPATH environment variable and that your account has read permission for it.
803 The file is too large for internal editing.
The SQL command file that you selected with the Choose option is too large for the edit buffer to hold. The size of the edit buffer is dynamic, and the program was unable to allocate enough memory to hold the contents of the command file. (In DOS, this error also appears if the command file exceeds 64 kilobytes.) Check that you specified the file you intended and that it is in fact an SQL command file. If it is the file that you intended, break it into smaller parts, and use them separately.
804 Comment has no end.
This statement includes a comment that is enclosed in braces ({ }), but the closing brace is missing. Review the punctuation of the statement, and check that all braces appear in matching pairs.
805 Cannot open file for load.
The input file that is specified in this LOAD statement could not be opened. Check the accompanying ISAM error code for more information. Possibly a more complete pathname is needed, the file does not exist, or your account does not have read permission for the file or a directory in which it resides.
806 Cannot open file for unload.
The output file that is specified in this UNLOAD statement could not be opened. Check the accompanying ISAM error code for more information. Possibly a more complete pathname is needed; the file exists, but your account does not have write permission for it; or the disk is full.
807 Cannot open file for output.
The program cannot create the file that you specified with the Save option. The file should be saved in the current directory. Possibly your account does not have write permission in that directory. Possibly a read-only file of the same name exists (to eliminate this possibility, try to save the file under a different name). Possibly the disk is full. Look for operating-system error messages that might give more information.
808 Cannot open file for choose.
The SQL command file that you specified for the Choose menu option cannot be opened for input. Check that the file is in the current directory and readable to your account.
809 SQL Syntax error has occurred.
The INSERT statement in this LOAD/UNLOAD/INFO statement has invalid syntax. Review it for punctuation and use of keywords.
810 Cannot open file for save.
The SQL command file could not be saved. Check that your account has operating-system permission to write in the current directory and that the disk is not full.
811 Cannot open printer for output.
The application is trying to open the device that is specified in the DBPRINT environment variable but is failing. Check the setting of that variable, and rerun the program.
812 Cannot open pipe for output.
Under the Output option, you selected To-pipe and specified a program or command to receive the output. However, INFORMIX-SQL was unable to open the pipe to that program or command. Review the program or command that you typed to ensure that it is a syntactically valid UNIX or DOS command and that it names only programs that are in your current execution path. Also look for operating-system error messages; you might have exceeded a system quota on memory or processes.
813 Cannot write to pipe for output (no reading process).
Under the Output option, you sent output to a command or program through a pipe. Although the pipe was established (indicating that the command had correct syntax and named existing programs), it has since closed unexpectedly. This condition indicates that the (first) program in the pipe terminated before it had received all the output. Possibly it quit due to an error, or possibly you or another user terminated it with a kill command. Look for messages from the pipe program that might explain why it quit.
814 Message number -814 not found.
815 Message number -815 not found.
816 Cannot write file (check file permissions).
The file that is specified in the prior command cannot be written. Probably your account does not have operating-system permission to write to the file. Check the permissions, and run the program again.
817 Cannot read file (check file permissions).
The file that is specified in the prior command cannot be read. Probably your account does not have operating-system permission to read the file. Check the permissions, and run the program again.
818 Specified user menu not found.
The user menu that was requested cannot be found. Check the spelling of the menu name. If it is as you intended, check the contents of the sysmenus table in the current database; the menu might not be defined in this database.
819 There are no menu items in the menu.
The menu that you selected contains no items. You can choose a different menu or modify the current one. If you think that the menu should have items, check the contents of the sysmenuitems table in the current database.
820 No more data to display.
The display of selected rows is finished. With no scrolling display, you cannot show the rows again. Restart the query from the beginning, or enter a new query.
821 Cannot open file for default report.
You requested creation of a default-report specification. This file is saved in the current directory, but some problem prevented it. Possibly the disk is full, or possibly your account does not have operating-system permission to write in that location.
822 Statements are already saved.
The current SQL statement has already been saved under the name that is shown at the top of the screen. (This message does not appear to occur any longer.)
823 There are no statements to run.
You selected the Run option, but no SQL statement has been entered. Either enter a statement, or use Choose to load one.
824 Missing values clause on insert statement.
Probably no current Informix product returns this message. If this message does appear, refer to the discussion of error -836. If the error recurs, please note all circumstances and contact Informix Technical Support.
825 Program not found.
No supporting executable file could be located. The file should have existed in the directory that the INFORMIXDIR environment variable names. Consult the person who installed the Informix software.
826 Fork system call failed.
This internal error indicates an inability to start a subordinate process. Possibly it stems from an attempt to enter vi from DB-Access when using the Use-editor option. Look for operating-system error messages that might give more information. Retry the operation. If the error recurs, contact your system administrator. In DOS systems, you probably are out of memory; exit to the operating-system command line, and resubmit your program.
827 Database not found.
See the discussion of error -329.
828 Command file not found.
The SQL command file that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
829 Form not found.
The compiled form specification that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
830 Report not found.
The compiled report specification that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
831 Error(s) found in Report specifications.
One or more errors was found during compilation of the report specification. Edit the report-specification file, and compile it again. Follow the prompts to see the error messages. To look them up, use the finderr utility.
832 Error(s) found in Form specifications.
One or more errors was found during compilation of the report specification. Edit the report specification file, and compile it again. Follow the prompts to see the error messages. To look them up, use the finderr utility.
833 Saceprep could not compile Report.
The report compiler, saceprep, encountered an error while it was compiling a report specification. Look for other error messages, from saceprep and the operating system, that might give more information.
834 Sformbld could not compile Form.
The report compiler, sformbld, encountered an error while it was compiling a report specification. Look for other error messages, from sformbld and the operating system, that might give more information.
835 Current clause is invalid in interactive mode.
The WHERE CURRENT OF clause is meaningful only in a program that uses a cursor to read rows. In this interactive context, you must specify a condition other than CURRENT in your WHERE clause.
836 Insert statement has no values clause.
The INSERT statement that was entered as part of this LOAD statement requires a VALUES clause. Revise the statement to include one.
837 There is not enough memory available.
INFORMIX-SQL needed to allocate memory for one of a number of small work areas but was not able to do so. Stop the program, and restart it. If this action does not eliminate the problem, see your system administrator about getting more memory. On DOS systems, you need to free some disk space.
Database servers after Version 4.1 do not produce this error message. For a related error, see error message -208.
838 A line in the load file is too long.
Each line of the input file to LOAD must be read into storage in full to be processed. INFORMIX-SQL resizes its memory buffer as required to hold the current line. But in this case, it was not able to allocate a large enough buffer. This error is most likely when the load file contains TEXT or BYTE data values or very large CHAR values. All of the values for one row must be contained in one line of the file. If you cannot rerun the program with more memory available, modify the input file to have fewer or shorter values in each row. Or use the dbload utility to try to load the file.
839 Table not found.
You specified the name of a table that does not exist in the current database. Review the spelling of the table name, and check that you are using the correct database. Refer to the discussion of error -310 for a way to display all table names.
840 Name is too long.
Names of databases, reports, forms, and other files must be 10 characters or shorter. Select a new, shorter name, and repeat this operation. In DOS systems, filenames can be a maximum of 8 characters plus a 3-character extension.
841 Name must start with a letter or “_” and contain letters, digits, or “_”.
Names of databases, reports, forms, and other files must conform to this rule. Repeat this operation with a name that conforms to the rule. Beginning with Version 6.0, the name of the following identifiers, as well as server and cursor names, can begin with an underscore: column, connection, constraint, database, index, procedure, synonym, table, trigger, and view.
842 Cannot read temp file.
INFORMIX-SQL created a temporary file; now it is trying to read back the temporary file. However, it received an unexpected operating-system return code. Possibly you or another user removed the file, or possibly a hardware error occurred.
843 Cannot write temp file.
INFORMIX-SQL is trying to write the current SQL source file into a temporary file for editing but received an unexpected operating-system return code. Look for operating-system error messages that might give more information. On UNIX systems, possibly your account does not have write access to /tmp or the directory that is named in the DBTEMP environment variable, or the disk might be full. With Version 5.01 and later, the INFORMIX-SE database server uses the DBTEMP environment variable, but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.
844 Statement is too long — out of memory.
INFORMIX-SQL was unable to allocate a memory buffer large enough to hold this statement. Find a way to shorten the statement, or run it in two or more parts.
845 There are no user-menus in the database.
This database does not contain the sysmenus table, it is empty, or possibly the top-level menu is not named main. Check that you are using the database you intended. Consult with the person who defined the user menus for this database.
846 Number of values in load file is not equal to number of columns.
The LOAD processor counts the delimiters in the first line of the file to determine the number of values in the load file. One delimiter must exist for each column in the table or for each column in the list of columns if one is specified. Check that you specified the file that you intended and that it uses the correct delimiter character. An empty line in the text can also cause this error.
If the LOAD statement does not specify a delimiter, verify that the default delimiter matches the delimiter that is used in the file. If you are in doubt about the default delimiter, specify the delimiter in the LOAD statement.
847 Error in load file line number.
A problem exists with the data on the indicated line of the load data file. The operation stopped after it inserted lines up to but not including the line that is noted (number-1 rows have been inserted). If this operation is inside a transaction, roll back the transaction. If not, either delete the inserted rows from the table or remove the used lines from the file before you repeat the operation. To correct the file, look for additional error messages that might help isolate the problem. Possibly not enough, or too many, fields (delimiters) exist on the indicated line. Possibly a data conversion problem exists, (for example, nonnumeric characters in a numeric field, an improperly formatted DATETIME value, or a character string that is too long). Possibly a null (zero-length) field exists in a column where nulls are not allowed. Edit the load file to correct the problem. Look for similar problems in following lines, and then repeat the operation.
848 Form4gl could not compile Form.
You asked for a form specification to be compiled, but the form compiler reported one or more errors. Correct the errors in the form specification, and repeat the operation. The error messages are in the formname.err file.
849 Warning(s) found in Form specifications.
You asked for a form specification to be compiled, and it was done, but the form compiler reported one or more warnings. You are not required to correct a warning before you try the form, but Informix recommends it. The error messages are in the formname.err file.
850 User does not have permission to modify this menu.
Only the user who created the sysmenus table in this database can modify the menu structure. That user first selected the Modify option of the User-Menu display while this database was current. To determine who that user is, query systables as follows:
SELECT owner FROM systables WHERE tabname LIKE ‘sysmenu*’
If this action is not appropriate, ask that person to drop the sysmenus and sysmenuitems tables, and then have the person who should maintain the menus re-create them.
851 Cannot drop file (check file permissions).
You requested that a file be dropped, but it could not be dropped, probably because your account does not have write permissions on it or on the directory in which it is stored. Use operating-system commands to check the file permissions.
852 Write failed. count rows unloaded (check ulimit or disk space).
After writing count lines of output to the unload file, an error occurred trying to write the next line. Look for operating-system messages that might give more information. Possible causes include a full disk or a disk quota limit.
853 Current transaction has been rolled back due to error or missing COMMIT WORK.
While INFORMIX-SQL was executing SQL statements from a command file, it received an error return code or reached the end of the file but found no COMMIT WORK statement. Since a transaction was in progress (either the file contained BEGIN WORK, or the database is ANSI compliant), INFORMIX-SQL rolled the transaction back. (It cannot leave the transaction open, and it cannot assume success even when no error was returned.)
854 Back end not found. Or back end is busy.
In DOS, the application cannot establish a connection to the local INFORMIX-SE engine or to the INFORMIX-NET PC communications module.
The SE engine (for accessing a local database) or the INFORMIX-NET PC communications module (for accessing a remote database) must be loaded before trying to connect to it by means of, for example, a DATABASE statement. To load the SE engine, run PSTARTSQ. To load the INFORMIX-NET PC communications module, run REMSQL.
If the SE engine or the INFORMIX-NET PC communications module has previously been loaded, and you get this error message, either another application currently has a connection to the SE engine, or the INFORMIX-NET PC communications module (they can have only one connection at a time), or the current application encountered an internal error and lost the connection.
If another application has a connection to the SE engine or to the INFORMIX-NET PC communications module, you must first release that connection before you can connect the current application. If the other application is a 4GL or an ESQL/C program, that application releases its connection by executing a CLOSE DATABASE statement, calling the SQLEXIT( ) function, or exiting.
In extreme situations where an internal error has occurred, you must exit the application and kill the SE engine or the INFORMIX-NET PC communications module from the DOS command line. To kill the SE engine, run PSTARTSQ with the -T option. After you kill the SE engine, run PSTARTSQ with no options to reload it.To kill the INFORMIX-NET PC communications module, run SETNET with the -T option. After you kill the INFORMIX-NET PC communications module, run REMSQL to reload it.
This error message also might appear when a client Windows application uses the wrong .DLL file to connect to a database server across a network. Client Windows applications that work with INFORMIX-NET PC Version 4.1 (such as Version 4.1 ESQL/C) can also work with INFORMIX-NET for Windows Version 5.01. Check to see whether INFORMIX-NET PC Version 4.1 and INFORMIX-NET for Windows Version 5.01 reside on the same client computer concurrently. If so, check that Version 5.01 of the LDLLSQLW.DLL file appears in your PATH environment variable setting before Version 4.1 of the LDLLSQLW.DLL file. In addition, Version 4.1 of the LDLLSQLW.DLL file must not reside in the current directory, the Windows directory, the Windows \SYSTEM directory, or the directory that contains the executable file of the application that you are running.
855 Cannot drop rowids on a non-fragmented table.
You tried to use the ALTER TABLE…DROP syntax to drop the rowid column on a table that is not fragmented. A non-fragmented table has a rowid column, but you cannot drop it.
856 Rowids already exist on table.
A rowid column already exists for the specified table. You cannot create a rowid for a table more than once. Change your SQL statement.
857 Rowids do not exist on table.
You cannot drop a nonexistent rowid. You specified a rowid that does not exist in the specified table. Avoid using rowids in your SQL statement. Instead, use a primary key to delete data.
858 Cannot specify the same dbspace twice in a fragmentation specification.
You specified the same dbspace more than once in a fragmentation specification. Change the fragmentation specification to use different dbspaces for each fragment.
859 “Distributions Only” is not meaningful in an update statistics LOW request.
You cannot specify the DISTRIBUTIONS ONLY option in the LOW mode of the UPDATE STATISTICS statement.
860 A fragmented object must have more than one fragment.
You fragmented an object into one fragment. To put the object in a single dbspace, use the IN clause instead of the FRAGMENT BY clause.
861 Cannot create new PDQ thread.
See the accompanying ISAM error for more information.
862 Alter fragment attach must have at least one consumed table specified.
You have not specified a table to be consumed. See the syntax and usage for ALTER FRAGMENT… ATTACH in the Informix Guide to SQL: Syntax.
863 Cannot detach a table with rowids.
You must first drop rowids before you use ALTER FRAGMENT… DETACH. See the syntax and usage in the Informix Guide to SQL: Syntax.
864 Cannot attach a table with rowids.
You must first drop the rowids on the surviving table before you attach the table.
865 Cannot add or drop rowids in combination with other alter table options.
You must use separate statements to add or drop rowids with an ALTER TABLE… ADD or ALTER TABLE… DROP statement.
866 Cannot attach tables that contain serial fields.
Before you use an ALTER FRAGMENT… ATTACH statement, you must drop any serial fields or modify the column type.
867 Cannot generate new rowid.
See the accompanying ISAM error for more information. A table cannot hold more than 2 gigabytes of records if it has serial or rowid columns.
868 Cannot check constraints on the attaching table.
You cannot attach a table if a check, referential, primary-key, or not null constraint exists on the surviving table.
Drop any check, referential, primary-key, or not null constraint. Then attach the table and if you still want to use the constraint, re-create it.
869 Subqueries not allowed in fragmentation expressions.
A fragmentation expression can reference only columns from the current table and data values from a single row. The restrictions disallow subqueries.
870 Cannot specify duplicate remainder fragments.
You specified duplicate remainder fragments. Remove one of the remainder fragments from your SQL statement.
871 Remainder fragment must be specified last.
If you specify a REMAINDER, it must be the last fragment expression. Rewrite your syntax so that you specify the remainder fragment last.
872 Invalid fragment strategy or expression for the unique index.
The round-robin method cannot fragment unique indexes. If the expression method fragments the indexes, all the columns that are used in the fragmentation expressions must also be part of the index key.
873 Invalid fragment expression column.
You cannot use columns from different tables in a fragment expression.
874 Floating point exception error has occurred.
This internal error affects the cost calculations that the query optimizer makes. If the error recurs, please note all circumstances and contact Informix Technical Support.
875 Incompatible Access Mode and Isolation Level.
If you set the access mode to READ-WRITE, you cannot set the isolation level to READ-UNCOMMITTED.
876 Cannot issue SET TRANSACTION once a transaction has started.
When a transaction is active, do not issue a SET TRANSACTION statement. A transaction becomes active when a DDL or a DML statement is issued. The only statements that you can place between the BEGIN WORK and the SET TRANSACTION statements are SET statements such as SET EXPLAIN, SET CONSTRAINT, SET DATASKIP, and so on.
877 Isolation Level previously set by “Set Transaction”.
Your program attempted to reset the isolation level that a preceding SET TRANSACTION statement established. Do not use a SET ISOLATION statement after a SET TRANSACTION statement.
878 Invalid operation for a READ-ONLY transaction.
You specified a READ-ONLY transaction in a SET TRANSACTION statement and then attempted to alter the database. In other words, READ-ONLY ensures that you can read data, but you cannot alter data. If you want to alter the data, specify READ WRITE in the SET TRANSACTION statement. If you only want to read the data, correct your program so that it does not attempt to alter the data.
879 Trim character must be null or have a length of 1.
The TRIM function evaluated to NULL. However, the TRIM character value expression must be null or contain a single character. Your program is incorrectly written. Every time the TRIM function evaluates to NULL, the value your program inserts into the TRIM character value expression is not null or contains more than one character. Correct, recompile, and rerun your program.
880 Trim character and trim source must be of string data type.
You used a TRIM function where the TRIM character value expression and the source character value expression were conflicting data types. The character and source value expressions must be the string data type. Check the syntax of the TRIM function, and check that the character and source values contain string data type values.
881 Resulting string length from TRIM must range from 1 character to 255 characters.
The TRIM function returned a string whose length did not span a range from 1 to 255 characters. The TRIM function returns a VARCHAR string. A VARCHAR string must have a length that ranges from 1 character to 255 characters. Check that the TRIM function returns strings whose length is within that range.
882 Cannot create rowids on a non-fragmented table.
You tried to use the ALTER TABLE… ADD syntax to add a rowid column to a table that is not fragmented. This usage is not valid. If a rowid column already exists, rowids already exist on non-fragmented tables.
883 Cannot evaluate the fragmentation expression.
A fragmentation expression in your program is invalid. Check the expression, and correct it. Check the logic of that expression. Also, some components of that expression might not represent existing or defined elements such as columns, hash values, ranges, index key values, and so on.
884 Cannot alter an index on a temporary table.
Your program attempted to alter an index on a temporary table. Correct your program to avoid altering indexes on temporary tables.
885 Invalid or NULL utc time given to dbinfo(utc_to_datetime).
You attempted to pass an invalid or NULL value to the dbinfo() function. Make sure you pass a valid or non-null value to the dbinfo() function.
886 Cannot drop table or view because of existing dependencies.
When you issue a DROP TABLE or DROP VIEW statement, you cannot drop the table or view if you specify the RESTRICT option and a view or foreign-key constraint exists that depends on that table or view.
You also cannot drop a table if you specify the RESTRICT option and a violations and diagnostics table exists for that table.
887 Cannot revoke because of dependent privileges, views, or constraints.
You cannot use the RESTRICT option to REVOKE a privilege if that action will cause abandoned privileges, abandoned views, or abandoned table constraints. Refer to the Informix Guide to SQL: Tutorial for more information.
888 Cannot attach a table with primary-key constraints.
You cannot attach a table if a primary-key or unique constraint exists on the surviving table or consumed table.
Drop the primary-key constraint and then attach the table. If you still want to use the primary-key constraint, re-create it.
889 Internal dataskip condition, should reposition to next row and continue.
If this internal error recurs, please note all circumstance, and contact Informix Technical Support.
890 Message number -890 not found.
891 Temporary table objects can only be enabled.
You cannot change the object mode of a temporary table object to the disabled or filtering object mode.
892 Cannot disable object object-name due to other active objects using it.
Other objects are using this object. If the object being disabled is an index, then a unique constraint, primary constraint, or referential constraint might be using that object. If the object is a unique or a primary-key constraint, then a referential constraint might be using that object.
893 Cannot activate/create object object-name because of its dependencies.
The user has issued a SET statement to set a database object to the enabled or filtering object mode, or the user has issued a CREATE INDEX, CREATE TRIGGER, or CREATE TABLE statement to create a database object in the enabled or filtering object mode. However, this object needs other disabled objects. For example, before enabling a referential constraint on a table, the user must first enable the indexes that the constraint needs.
894 Cannot find object object-name.
The object name that the user specified explicitly in the SET statement is not found in the database.
895 Cannot create violations/diagnostics table.
The user has issued a START VIOLATIONS TABLE statement for a target table. The database server is not able to create the violations and diagnostics tables for this target table. Any one of the following situations might be the reason for the failure:
- The target table already has a violations and diagnostics table.
- The names that are specified for the violations and diagnostics table in the START VIOLATIONS TABLE statement are not valid. For example, if you omitted the USING clause from the statement and the number of characters in the target table name plus four characters is longer than the maximum identifier length, the generated names of the violations and diagnostics tables would be longer than the maximum identifier length. If the names of the violations and diagnostics tables are invalid for this reason, the user can give explicit names to the violations and diagnostics tables in the USING clause of the START VIOLATIONS TABLE statement to rectify the problem.
- The names that were specified for the violations and diagnostics tables in the START VIOLATIONS TABLE statement match the names of existing tables in the database.
- The target table contains columns with the names informix_tupleid or informix_optype. Because these two column names would duplicate the informix_tupleid or informix_optype columns in the violations table, the database server cannot create the violations table.
- The target table is a temporary table.
- The target table is serving as a violations or diagnostics table for some other table.
- The target table is a system catalog table.
896 Violations table is not started for the target table.
This error occurs in either of the following cases:
- A STOP VIOLATIONS TABLE was executed before the START VIOLATIONS TABLE statement or after the START VIOLATIONS TABLE statement was rolled back.
- A violations table has not been started for the target table and an INSERT, DELETE, or UPDATE statement fails to satisfy any filtering-mode object on the target table.
A violations table must exist before execution of the STOP VIOLATIONS statement.
To prevent this error, you can start a violations table for the target table.
897 Cannot modify/drop a violations/diagnostics table.
The user has tried to alter or drop a table that is serving as a violations table or a diagnostics table for another table.
898 Cannot alter a table which has associated violations/diagnostics tables.
The user has tried to add, drop, or modify a column in a table that has a violations and diagnostics table associated with it.
899 Too many violations.
The number of records in the diagnostics table either exceeds or will exceed the limit that is specified. Limits are specified in the MAX VIOLATIONS clause of the START VIOLATIONS TABLE statement for Extended Parallel Server or the MAX ROWS clause for other Informix database servers.
When a single statement on the target table (such as an INSERT or SET statement) causes more records to be inserted into the diagnostics table than the limit that is specified by the MAX ROWS clause, this error is returned to the user who issued the statement on the target table.
Related articles