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.
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.
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.
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.
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.
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.
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.
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.
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.
The INSERT statement in this LOAD/UNLOAD/INFO statement has invalid syntax. Review it for punctuation and use of keywords.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.)
You selected the Run option, but no SQL statement has been entered. Either enter a statement, or use Choose to load one.
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.
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.
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.
See the discussion of error -329.
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.
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.
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.
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.
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.
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.
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.
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.
The INSERT statement that was entered as part of this LOAD statement requires a VALUES clause. Revise the statement to include one.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
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.
A rowid column already exists for the specified table. You cannot create a rowid for a table more than once. Change your SQL statement.
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.
You specified the same dbspace more than once in a fragmentation specification. Change the fragmentation specification to use different dbspaces for each fragment.
You cannot specify the DISTRIBUTIONS ONLY option in the LOW mode of the UPDATE STATISTICS statement.
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.
See the accompanying ISAM error for more information.
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.
You must first drop rowids before you use ALTER FRAGMENT… DETACH. See the syntax and usage in the Informix Guide to SQL: Syntax.
You must first drop the rowids on the surviving table before you attach the table.
You must use separate statements to add or drop rowids with an ALTER TABLE… ADD or ALTER TABLE… DROP statement.
Before you use an ALTER FRAGMENT… ATTACH statement, you must drop any serial fields or modify the column type.
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.
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.
A fragmentation expression can reference only columns from the current table and data values from a single row. The restrictions disallow subqueries.
You specified duplicate remainder fragments. Remove one of the remainder fragments from your SQL statement.
If you specify a REMAINDER, it must be the last fragment expression. Rewrite your syntax so that you specify the remainder fragment last.
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.
You cannot use columns from different tables in a fragment expression.
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.
If you set the access mode to READ-WRITE, you cannot set the isolation level to READ-UNCOMMITTED.
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.
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.
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.
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.
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.
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.
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.
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.
Your program attempted to alter an index on a temporary table. Correct your program to avoid altering indexes on temporary tables.
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.
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.
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.
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.
If this internal error recurs, please note all circumstance, and contact Informix Technical Support.
You cannot change the object mode of a temporary table object to the disabled or filtering object mode.
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.
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.
The object name that the user specified explicitly in the SET statement is not found in the database.
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:
This error occurs in either of the following cases:
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.
The user has tried to alter or drop a table that is serving as a violations table or a diagnostics table for another table.
The user has tried to add, drop, or modify a column in a table that has a violations and diagnostics table associated with it.
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.