Error Number 400 – 499.

400 Fetch attempted on unopen cursor.

This FETCH statement names a cursor that has never been opened or has been closed. Review the program logic, and check that it will open the cursor before this point and not accidentally close it. Unless a cursor is declared WITH HOLD, it is automatically closed by a COMMIT WORK or ROLLBACK WORK statement.

401 Fetch attempted on NULL cursor.

This FETCH statement passed a cursor data structure that is invalid or a null pointer. Possibly the cursor has been freed with the FREE statement, or possibly the cursor data structure has been overwritten in memory.
Version 5.0 or later database servers do not return this error code. See errors -267 and -404.

402 Address of a host variable is NULL.

Review the way the program constructs the sqlda and related data structures; somehow it is setting up a null pointer. The error might be caused by using a row or collection host variable without having executed the necessary ALLOCATE statement.
If the program is in INFORMIX-4GL or another language in which the sqlda is not constructed directly by the program, or if this statement refers only to host variables by name, this error should not occur. If the error recurs, note all circumstances and contact Informix Technical Support.

403 The size of a received row disagrees with the expected size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

404 The cursor or statement is not available.

You probably used a statement that names a cursor that was released with the FREE statement. Review the program logic and check that the cursor specified is declared and opened, but not freed, prior to reaching this statement.
If the error occurred on a command that specifies a variable rather than a cursor, the statement was not prepared before you tried to execute it.
This error can also occur if the cursor or statement is not available because the connection to the server does not exist or was lost.
A NULL control block has been passed as an argument.
Review the way the program constructs the sqlda and related data structures; somehow it is setting up a null pointer. If the program is in INFORMIX-4GL or another language in which the sqlda is not constructed directly by the program, or if this statement only refers to host variables by name, this error should not occur. Contact Informix Technical Support.
Only Version 4.1 and earlier database servers return this error code with the meaning shown.

405 The Address of a host variable is not properly aligned.

Review the way the program constructs the sqlda and related data structures; somehow it is setting up a pointer that is not word aligned. Also, make sure that all host variables are aligned on proper address boundaries for their types. If the program is in INFORMIX-4GL or another language in which the programmer has no control over storage alignments, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

406 Memory allocation failed.

Something in the current statement required the allocation of memory for data storage, but the memory was not available. Several things can cause this error. For example, your application has a memory leak, you are asking for more resources than the system is configured to allow, or a problem with UNIX requires that you reboot the system. On a client PC, if the INFORMIXDIR environment variable or some GLS file is missing, a connection attempt fails with this error message.
Rollback the current transaction. Look for ways to make this statement simpler or move less data. On UNIX, talk with the system administrator to solve memory problems or to look for ways to make the operating system give this program more virtual memory in which to run. On Windows NT, exit to the operating-system command line, free some disk space, and resubmit your program. On a client PC, make sure that the INFORMIXDIR environment variable is set and that all GLS files are available.

407 Error number zero received from the sqlexec process.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Make sure that your program software is compatible with the database engine in use. If the error recurs, note all circumstances and contact Informix Technical Support.

408 Invalid message type received from the sqlexec process.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Make sure that your program software is compatible with the database engine in use.
This error can also occur if the CSM option is enabled on the database server side but not on the client application side, or vice versa. If you want to use a CSM, make sure that the CSM option is set in the sqlhosts file for both the database server and client application.
This error can also occur if the confidentiality option of the CSM is enabled on the database server side but not on the client application side, or vice versa. If you want to use the confidentiality option of the CSM, make sure that the confidentiality option is set for both the database server and client application. Check your sqlhosts file and CSS configuration file.
If the error recurs, note all circumstances and contact Informix Technical Support.

409 Sqlexec was not found or was not executable by the current user.

Your application contacts the database server process while it starts up. This action uses the value in the SQLEXEC environment variable (for database server versions prior to 6.0); it should point to one of two executable files: sqlexec for INFORMIX-SE or sqlturbo for INFORMIX-OnLine (versions prior to 6.0). Ordinarily these files will reside in the lib subdirectory of the directory that the INFORMIXDIR environment variable names. Check that your SQLEXEC environment variable is set up properly and that your account has access to these directories and files.

410 Prepare statement failed or was not executed.

This EXECUTE statement refers to a statement id that has not been prepared. Either no PREPARE statement was done, or one was done but returned an error code. Review the program logic to ensure that a statement is prepared and the PREPARE return code is checked. A negative error code from PREPARE usually reflects an error in the statement being prepared.

411 Cannot specify both host variables and descriptor.

This statement has a USING DESCRIPTOR clause, but it also refers to a cursor that was declared with host variables (that is, with SELECT…INTO or INSERT using variables in the VALUES clause). The purpose of both the descriptor structure and host variable names is to specify the location of the data values, and only one method may be used. Review the declaration of the cursor, and settle on a single method of specifying the location of data values.

412 Command pointer is NULL.

This statement (probably an EXECUTE or DECLARE) refers to a dynamic SQL statement that has never been prepared or that has been freed. Review the program logic to ensure that the statement has been prepared, the PREPARE did not return an error code, and the FREE statement has not been used to release the statement before this point.

413 Insert attempted on unopen cursor.

This INSERT statement names a cursor that has never been opened or that has been closed. Review the program logic, and check that it will open the cursor before this point and not accidentally close it. An insert cursor is automatically closed by a COMMIT WORK or ROLLBACK WORK statement.

414 Insert attempted on NULL cursor.

This PUT statement specifies a cursor that is invalid. Possibly the cursor has been freed with the FREE statement, or possibly the cursor data structure has been overwritten in memory.

415 Data conversion error.

The database server is unable to convert between a program variable and a database column. It performs automatic data conversion in many cases but could not in this case. For instance, a character string will be converted to a numeric type so long as the string contains the digits of a valid number, or a float or decimal number will be converted to integer so long as the receiver has enough precision for the value. Review this statement, and inspect each program variable that does not have the same data type as the matching database column.

416 USING option with open statement is invalid for insert cursor.

This OPEN statement refers to a cursor that was declared for an INSERT statement. The USING clause of the OPEN is not appropriate in this case; it is only used to specify the variables that are used with a SELECT statement. Review the program to ensure that the correct cursor has been used in this statement. If it has, and if the INSERT statement is written as part of the DECLARE statement, you can name the host variables directly in it. If the INSERT statement has been prepared, you can specify the host variables in a FROM clause in the PUT statement.

417 FLUSH can only be used on an insert cursor.

This FLUSH statement refers to a cursor that is associated with a SELECT statement, not an INSERT statement. FLUSH is only appropriate with insert cursors. Review the program to ensure that the correct cursor has been named.

418 NULL SQLDA descriptor or host variable list encountered.

Review the way the program constructs the sqlda and related data structures; somehow it is setting up a null pointer. If the program is in INFORMIX-4GL or another language in which the sqlda is not constructed directly by the program, or if this statement only refers to host variables by name, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

419 SQLDATA pointer in SQLDA or host variable is null.

Review the way the program constructs the sqlda and related data structures; somehow it is setting up a null pointer. If the program is in INFORMIX-4GL or another language in which the sqlda is not constructed directly by the program, or if this statement only refers to host variables by name, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

420 Cannot execute remote sqlexec.

Your application program is starting up and trying to make contact with the database server process in another computer. It does this using the contents of the SQLHOST environment variable. Check the SQLHOST variable, and verify that the INFORMIX-NET or INFORMIX-STAR service has been started in the other computer.

421 Unknown service for execution of remote sqlexec.

Your application program is starting up and trying to make contact with a database server in a different computer. It uses information from the file /etc/services under the service entry sql, but this file was not found. Contact the person who installed INFORMIX-NET on your system.

422 Flush attempted on unopen cursor.

This FLUSH statement names a cursor that has never been opened or has been closed. Review the program logic to ensure that it will open the cursor before this point and not accidentally close it. An insert cursor is automatically closed by a COMMIT WORK or ROLLBACK WORK.

423 A FETCH CURRENT was attempted with no current row.

This FETCH statement asks for the current row, but none exists. Either the cursor was just opened, or the previous fetch returned an error code, perhaps because it was at the end of the data. Review the program logic, and check that it uses a FETCH NEXT statement or other FETCH operation to establish a current row before it attempts this statement.

424 Cursor already declared from this prepared statement.

This DECLARE statement associates a cursor with the name of a prepared statement. However, another DECLARE statement has already been executed, and it associates a different cursor with the same statement id. This action is not supported; a given statement can be associated with only one cursor. Check all the DECLARE statements in the program, and check that they all refer to unique statements.
This error message should not appear for Version 5.0 and later.

425 Database is currently opened by another user.

Another user has opened the requested database in exclusive mode, or you have more than one connection to the database server. Repeat the statement after a short delay or when the database is known to be idle.

426 Unknown values have already been supplied.

This internal error should not occur. If this error recurs, please note all circumstances and contact Informix Technical Support.

427 Bind count routine called with a different count.

This internal error should not occur. If you can find no direct cause for the error, please note all circumstances and contact Informix Technical Support.

428 Bind routine called too many times.

This internal error should not occur. If you can find no direct cause for the error, please note all circumstances and contact Informix Technical Support.

429 Indicator variables should be 2-byte integers.

This statement names as an indicator variable, a host variable that was not declared as a small integer. The value returned to an indicator variable is a small integer value. Review the statement, especially the use of host variables as indicator variables. Make sure the names of indicator variables are spelled correctly and that they are properly declared. In a 4GL program, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

430 Type integer does not match size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

431 Type float does not match size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

432 Type date does not match size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

433 Type money does not match size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

434 Type decimal does not match size.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstances and contact Informix Technical Support.

435 Time-out value must be -1 or greater.

You provided an incorrect time-out value for your callback function/routine in INFORMIX-ESQL/C or ESQL/COBOL. Check that your time-out value is -1 or greater.

436 Call back function must be defined when time-out value is 0 or greater.

You did not provide a callback function with your time-out value. Make sure that you provide both.

437 Connection must be established before registering callback function.

You attempted to register a callback function before you connected to a database server. You must first connect to a database server and then register your callback function.

438 Call back function must be NULL if time-out value is -1.

You provided an incorrect value to unregister your callback function. Pass a null value, not a function pointer, to the callback function.

439 Database server is currently processing an SQL task.

You attempted to call an SQL routine or attempted to execute an SQL statement within a signal handling function/routine or a callback function/procedure. Use only the sqldone() and sqlbreak() library functions inside your INFORMIX-ESQL/C callback function. Use only the ECO-SQD and ECO-SQB library routines inside your ESQL/COBOL callback procedure. In addition, if you want to unregister your callback function in INFORMIX-ESQL/C, you can invoke the sqlbreakcallback() callback registration function within your callback procedure. If you want to unregister your callback procedure in ESQL/COBOL, you can invoke the ECO-SQBCB callback registration routine within your callback procedure.

440 Cannot update more than one non-Informix DBMS within a transaction.

In the application, an attempt was made to update data at more than one target DBMS accessed through a gateway. In a distributed transaction, at most one target DBMS accessed through a gateway can be updated.
You need to rewrite the application so that it updates at most one DBMS accessed through a gateway in a single distributed transaction.

441 Possible inconsistent data at the target DBMS due to an aborted commit.

Distributed commit processing failed due to a communication error, site failure, gateway failure, or other error with the target DBMS accessed through the gateway. Updates at all sites participating in the transaction have been rolled back with the possible exception of the target DBMS. The target DBMS might have committed its updates if the failure occurred after the commit message was processed by the target DBMS.
If the updates on the target DBMS were committed, then the updates should be rolled back manually. Contact the target DBMS system administrator.

442 Message number -442 not found.

443 Message number -443 not found.

444 Message number -444 not found.

445 Message number -445 not found.

446 Message number -446 not found.

447 Message number -447 not found.

448 Message number -448 not found.

449 Message number -449 not found.

450 Illegal ESQL locator, or uninitialized blob variable in 4GL.

A BYTE or TEXT host variable used in this statement is not valid. If this is a 4GL program, the variable has not been initialized by use of the LOCATE statement, or was freed after being located. Review the program logic to ensure all blob variables are located before use. If this is ESQL/C, the locator structure is invalid or uninitialized. Check that all locator structures are allocated and filled in before use.

451 Locator buffer size too small.

The locator structure provided for a BYTE or TEXT value in this statement specifies a memory buffer that is smaller than the value (in the loc_bufsize field). The actual size is in loc_indicator. No data was transferred. Revise the program to use a larger buffer, to locate the value in a file instead of memory, or to pass the value in segments through a user-provided read function. Alternatively, you can specify a substring of the value in the SELECT statement. If this is a 4GL program, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

452 loc_open() failed.

The loc_open() function provided in the locator structure for a BYTE or TEXT value in this statement was called and returned a negative return code. When the value is located using user-supplied functions (loc_loctype contains LOCUSER), this function is part of the program, and you have to diagnose its problems yourself. When the value is located in a file (loc_loctype contains LOCFILE or, in a 4GL program, the variable has been located in a file), this error indicates that the system-supplied loc_open() function was not able to open the file. Possibly the file does not exist, you do not have read permission for the file, or too many files are open.

453 loc_close() failed.

The loc_close() function provided in the locator structure for a BYTE or TEXT value in this statement was called and returned a negative return code. When the value is located using user-supplied functions (loc_loctype contains LOCUSER), this function is part of the program, and you have to diagnose its problems yourself. When the value is located in a file (loc_loctype contains LOCFILE or, in a 4GL program, the variable has been located in a file), this error indicates that the system-supplied loc_close() function was not able to close the file.

454 loc_read() failed.

The loc_read() function provided in the locator structure for a BYTE or TEXT value in this statement was called and returned a negative return code. When the value is located using user-supplied functions (loc_loctype contains LOCUSER), this function is part of the program and you have to diagnose its problems yourself. When the value is located in a file (loc_loctype contains LOCFILE or, in a 4GL program, the variable has been located in a file), this error indicates that the system-supplied loc_read() function was not able to read from the file.

455 loc_write() failed.

The loc_write() function provided in the locator structure for a BYTE or TEXT value in this statement was called and returned a negative return code. When the value is located using user-supplied functions (loc_loctype contains LOCUSER), this function is part of the program and you have to diagnose its problems yourself. When the value is located in a file (loc_loctype contains LOCFILE or, in a 4GL program, the variable has been located in a file), this error indicates that the system-supplied loc_write() function was not able to write to the file. Possibly the disk is full, you do not have write permission for the disk, or a hardware error occurred.

456 Indicator value cannot fit in host variable.

This internal error indicates a problem in the communication between the database server and the library functions that call it. Check that your program is at the same software level as the database server in use. If the error recurs, please note all circumstance, and contact Informix Technical Support.

457 Database server terminated unexpectedly.

The database server process or thread with which your application program was working has terminated. The DBA might have shut the system down. The next most likely cause is an internal error. Look for operating-system messages that might give more information. If the error recurs, please note all circumstances and contact Informix Technical Support.
Check the ISAM error code that is returned with this error. If it is -129, the database server has not terminated but simply reached a limit on the number of concurrent user sessions (see the explanation of error -129).

458 Long transaction aborted.

The database server ran out of log space in which to record this transaction. A transaction that is not fully recorded cannot be rolled back. To preserve database integrity, the operating system ended the transaction and rolled it back automatically. All changes made since the start of the transaction have been removed. Terminate the application, and replan it so that it modifies fewer rows per transaction. Alternatively, contact the database server administrator to discuss increasing the number or the size of the logical logs. Be prepared to talk about the number of rows being updated or inserted and the size of each row.

459 The database server was shut down.

The database server instance that your application was using has been shut down by its operator. Your current transaction will be rolled back automatically when the database server starts up again. Rerun the application at that time.

460 Statement length exceeds maximum.

The statement text in this PREPARE, DECLARE, or EXECUTE IMMEDIATE statement is longer than the database server can handle. The actual limit differs with different implementations, but it is always generous, in most cases up to 32,000 characters. Review the program logic to ensure that an error has not caused it to present a string that is longer than intended (for example, by overlaying the null string terminator byte in memory). If the text has the intended length, revise the program to present fewer statements at a time.

461 File open error.

The database server could not open a file required to execute this statement. Sometimes this is a general error, possibly referring to a message file that the database server cannot find. At other times this error occurs because the locator (blob) structure field loc_loctype was set to LOCFNAME, but the database server could not open the file using the pathname in loc_fname and the flags in loc_oflags. Any of the following conditions can cause the database server to report this error:

  • An environment variable setting is missing.
  • Not enough disk space is available for opening the file.
  • A file permission problem exists.
  • The limit on the number of open files was reached.
  • The database server could not access a blob of type LOCFNAME.
  • The database server is on a different machine from the client.
  • The statement transfers a value between a file and a BYTE or TEXT column.
  • The statement attempts to drop a database when a required file is not available.

Make sure your environment variables and file permissions are set correctly. For more information, check for any accompanying ISAM error code or operating-system message.

462 File close error.

This statement reads a value from a BYTE or TEXT column into a file. The database server copied the data to the file but got an operating-system error when it closed the file. Check the accompanying ISAM error code for more information, and look for operating-system messages. Typical causes include lack of disk space and hardware errors.

463 File read error.

This statement writes a value into a BYTE or TEXT column from a file. The database server got an operating-system error while reading the file. Check the accompanying ISAM error code for more information, and look for operating-system messages.

464 File write error.

This statement reads a value from a BYTE or TEXT column into a file.The database server got an operating-system error while writing the data. Check the accompanying ISAM error code for more information, and look for operating-system messages. Typical causes include lack of disk space and hardware errors.

465 No more memory for locator buffer.

This query returns a BYTE or TEXT value that is located in memory, and the locator structure asked (by setting -1 in loc_bufsize) that the database server allocate the memory. It was unable to get the necessary memory for a buffer. If you can use operating-system methods to allocate more data space memory to your program, do so and run it again. Alternatively, locate the value in a file, or use a substring to select the value in portions. If this is a 4GL program, this error should not occur. On DOS systems, exit to the operating-system command line, free some disk space, and resubmit your program. If the error recurs, please note all circumstances and contact Informix Technical Support.

466 File length error.

This statement stores a value in a BYTE or TEXT column from a file. The locator structures specified a length for the data in loc_locsize, but the database server found end of file before it had read that much data. Review the program to ensure that the input file was properly positioned and that the correct length was specified. Specify a length of -1 if the file should be read to its end. If this is a 4GL program, this error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.

467 Indicator object is missing.

This program was compiled with the -icheck flag, and the current SQL statement did return a truncated or null value, for which an indicator would normally be set, to a host variable for which no indicator variable was specified. Revise the program to use indicator variables.

468 Cannot obtain user id from system: unable to start database server.

Your application is trying to open communications to a database server. As part of this action, it has to read your user ID from the system password file, and it failed to do this. Look for operating-system error messages that might give more specific information. Consult with a system administrator to ensure that the file of user IDs is readable to all users.

469 This descriptor does not exist.

The name of the system descriptor area that is specified does not exist in the list of system descriptor areas, so it has not been allocated. You must execute the ALLOCATE DESCRIPTOR statement to allocate this descriptor name before you use it.

470 The value of occurrence must be greater than 0.

If you include the WITH MAX occurrences clause in the ALLOCATE DESCRIPTOR statement, you must specify a value of occurrences that is greater than zero. Change the value of occurrences to a positive integer, and execute the ALLOCATE DESCRIPTOR statement again.

471 An invalid descriptor name has been used.

This error is generated if the name of the SQL descriptor is either an empty string or an uninitialized host variable. Descriptor names follow the same naming rules as identifiers. Check the name of the descriptor, and verify that it has been set with the SET DESCRIPTOR statement, allocated with the ALLOCATE DESCRIPTOR statement, or otherwise initialized.

472 Occurrence value is out of range.

Change the value of the COUNT statement so that it is less than or equal to the occurrences and greater than zero, and try again.

473 The specified data type is not a X/Open standard type.

This error is generated when a GET DESCRIPTOR or a SET DESCRIPTOR statement is executed in X/Open mode, and the value for the type field is not an X/Open standard type. Check the X/Open codes for data types again, and make sure that the correct type is being used.

474 Unknown field type.

An unknown field type has been requested. Check that you are using one of the valid field types in X/Open mode, and try again. The valid field types are TYPE, LENGTH, PRECISION, SCALE, NULLABLE, INDICATOR, DATA, and NAME.

475 In a GET statement, if DATA is null, then INDICATOR must be specified.

This X/Open rule indicates that you must request the INDICATOR value in the GET DESCRIPTOR statement when DATA is null.

476 The LENGTH field must be specified when the type is SQLCHAR.

When you use a SET DESCRIPTOR statement, and TYPE is set to SQLCHAR, the LENGTH field must also be specified and set in the same SET DESCRIPTOR statement.

477 Buffer is too small.

In a GET DESCRIPTOR statement, the buffer (the character host variable) that is specified to store the NAME entry is too small. Increase the buffer size, and call the GET DESCRIPTOR statement again. This error message also is displayed when the host variable is a FILE type, and the buffer used to store its name is too small.

478 User must specify TYPE.

In the initial state, when you execute a SET DESCRIPTOR statement, you must specify TYPE as one of the fields to be set. Set the TYPE field in the SET DESCRIPTOR statement, and execute it again.

479 The number of DESCRIBED columns is greater than the allocated space.

The number of columns in the table is larger than the allocated descriptor. Use the ALLOCATE DESCRIPTOR statement to reallocate a larger occurrence value, and try the DESCRIBE statement again.

480 A descriptor with the same name already exists.

A system descriptor area with the same name has already been allocated, so this descriptor name is not unique. Change the name of this descriptor in the ALLOCATE DESCRIPTOR statement so that the descriptor is unique, and execute the statement again.

481 Invalid statement name or statement was not prepared.

The statement has not been prepared, or the format of the statement name is not valid. A valid statement name does not exceed the maximum length, begins with a letter or underscore, does not contain any blanks or nonalphanumeric characters except underscores and, in Informix Dynamic Server 9.2x or 9.3, dollar-sign characters.
The maximum length for statement names depends on the database server. In Informix Dynamic Server 9.2x or 9.3, the maximum length is 128 characters. In other Informix database servers, the maximum length is 18 characters.

482 Invalid operation on a non-SCROLL cursor.

You cannot issue a FETCH PRIOR, FETCH FIRST, FETCH LAST, FETCH CURRENT, FETCH RELATIVE n, or FETCH ABSOLUTE n statement with a non-scroll cursor. To do so, you must first declare the cursor as a scroll cursor.

483 SQL descriptor’s name is too long. Limit is 128 characters.

The maximum length for SQL descriptor names depends on the database server. In Informix Dynamic Server 9.2 or 9.3, the maximum length is 128 characters. In other Informix database servers, the maximum length is 18 characters.

484 Statement/cursor’s name must be between 1 to 128 characters.

The maximum length for statement and cursor names depends on the database server. In Informix Dynamic Server, the maximum length is 128 characters. In other Informix database servers, the maximum length is 18 characters.

485 Number of host variables does not match SELECT list.

This error can occur only if your database is ANSI compliant. The error indicates that the number of host variables in an ESQL statement is not the same as the number of values that the database server returns. In addition, a warning flag is placed in the third element of the sqlwarn structure of sqlca.
The execution of the second statement in the following ESQL/C example returns this error:
$create table mytab (i integer, f float) $select * into :var1 from mytab; –error
If your database is not ANSI compliant, this and similar statements complete without error, and the values of the host variables are set in sequence to their respective returned values. If the number of returned values is smaller than the number of host variables, the remaining host variables are undefined. As with an ANSI-compliant database, a warning flag is placed in the third element of the sqlwarn structure of sqlca.

486 Illegal data type found during data conversions.

The data type found in the system descriptor sqlvar entry is either invalid or uninitialized. You cannot use the GET DESCRIPTOR statement to get a value from an uninitialized sqlvar.

487 A cursor can only be declared as static or dynamic.

The specified SQL statement requires you to declare a cursor as static or dynamic. Declare the cursor as static or dynamic, depending on which type of cursor is required, and retry the specified operation.

488 Invalid operation on cursor.

An invalid operation has been attempted on a cursor. A cursor declared for a SELECT statement cannot be used in a PUT statement. Similarly, a cursor declared for an INSERT statement cannot be used in a FETCH statement. Check the program, and try again.

489 Exception number out of bounds.

An exception number was requested that was either less than 1 or greater than the number of diagnostic entries in the diagnostic area.

490 Database was created without NLS functionality.

You created a database that lacked NLS functionality.

491 DBNLS not set (LC_COLLATE must be string_value).

Set the DBNLS environment variable to an appropriate value. Make sure LC_COLLATE is set to the specified string_value.

492 LANG or LC_COLLATE environment variable invalid.

You specified an invalid value for a LANG or LC_COLLATE environment
variable.

493 DBNLS not set (LC_CTYPE must be string_value).

Set the DBNLS environment variable to an appropriate value. Make sure LC_TYPE is set to the specified string_value.

494 LANG or LC_CTYPE environment variable invalid.

You specified an invalid value for a LANG or LC_CTYPE environment variable.

495 LANG or LC_MONETARY environment variable invalid.

You specified an invalid value for a LANG or LC_MONETARY environment variable.

496 LANG or LC_NUMERIC environment variable invalid.

You specified an invalid value for a LANG or LC_NUMERIC environment variable.

497 LANG or LC_TIME environment variable invalid.

You specified an invalid value for a LANG or LC_TIME environment variable.

498 Bad cixtomsg file. Please check installation.

The version of the cixtomsg file, which holds the mapping table of SQLCODE to SQLSTATE values, is invalid. The cixtomsg file is located in the directory $INFORMIXDIR/msg. Check the date and size of the file. If the error recurs, please note all circumstances and contact Informix Technical Support.

499 The operation causes a rowsize to exceed the allowable limit (32767).

The maximum size of a table record is 32,767 bytes. Check the summary sizes of all the fields in the table. Make sure that the operation you have attempted does not lead to exceeding the maximum row size.

Click the link below to see
all KB articles by product.