Isam error informix

How to get the ISAM error from ODBC. Includes a sample ODBC program which demonstrates the technique.

Troubleshooting

Problem

How to get the ISAM error from ODBC. Includes a sample ODBC program which demonstrates the technique.

Resolving The Problem

Sometimes when an error occurs while executing a SQL statement with an IBM Informix engine, a secondary error called the ISAM error will be generated in addition to the normal SQL error number. The ISAM error gives additional information about why the SQL error occurred.

The IBM Informix ODBC Driver returns the ISAM error in the SQL_DIAG_ISAM_ERROR field of the diagnostic record. To get the error, make a call to the SQLGetDiagField ODBC function using the following syntax:

    SQLGetDiagField(SQL_HANDLE_STMT, hstmt, 1,

 SQL_DIAG_ISAM_ERROR,(SQLPOINTER)&errornum,
SQL_IS_INTEGER, NULL);

    hstmt

      This is a valid ODBC statement handle.

    errornum

      This is an integer variable. The ISAM error will be placed in errornum. A value of zero returned in errornum indicates there was no ISAM error.

SAMPLE PROGRAM

This sample program connects to the stores demo database and tries to insert a value that is already in the table. It then uses the technique described above to get the ISAM error generated. The ISAM error returned will be -100.

    isamex.c.txt

Compiling

In order to use isamex.c do the following.

1. Copy the file isamex.c.txt given above to a working directory.

2. Rename the file isamex.c

3. Edit isamex.c to change the variables in the section marked with the following comment:

      /***** Change these values *****/
    Modify the variables to reflect the proper data source name, user name, and password.

4. Compile and run isamex.c as you would any other ODBC program. Use the option -DNO_WIN32 if not compiling on Windows.

Sample compile and run

On Unix/Linux:

    $ cc -I${INFORMIXDIR}/incl/cli -DNO_WIN32 isamex.c -o isamex -L${INFORMIXDIR}/lib/cli -lifcli -lifdmr -lm -lnsl $  ./isamex
    SQLAllocEnv successfull
    SQLAllocConnect successfull
    SQLConnect successfull
    SQLAllocStmt successfull
    Error in SQLExecDirect
    ERROR: -268 : 23000 : [Informix][Informix ODBC  Driver][Informix]Unique constraint (informix.u105_16) violated.
    ISAM Error: -100

On Microsoft Windows:

    C:testing>cl -I»%INFORMIXDIR%/incl/cli» isamex.c odbc32.lib
    Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80×86
    Copyright (C) Microsoft Corp 1984-1998. All rights reserved.isamex.c
    Microsoft (R) Incremental Linker Version 6.00.8447
    Copyright (C) Microsoft Corp 1992-1998. All rights reserved./out:isamex.exe
    isamex.obj
    odbc32.libC:testing>isamex.exe
    SQLAllocEnv successfull
    SQLAllocConnect successfull
    SQLConnect successfull
    SQLAllocStmt successfull
    Error in SQLExecDirect
    ERROR: -268 : 23000 : [Informix][Informix ODBC Driver][Informix]Unique constraint (informix.u105_16) violated.
    ISAM Error: -100

[{«Product»:{«code»:»SSVT2J»,»label»:»Informix Tools»},»Business Unit»:{«code»:»BU053″,»label»:»Cloud & Data Platform»},»Component»:»Informix Client Software Development Kit (CSDK)»,»Platform»:[{«code»:»PF002″,»label»:»AIX»},{«code»:»PF025″,»label»:»Platform Independent»},{«code»:»PF008″,»label»:»DYNIX/ptx»},{«code»:»PF010″,»label»:»HP-UX»},{«code»:»PF015″,»label»:»IRIX»},{«code»:»PF016″,»label»:»Linux»},{«code»:»PF026″,»label»:»Reliant UNIX»},{«code»:»PF027″,»label»:»Solaris»},{«code»:»PF033″,»label»:»Windows»}],»Version»:»1.0;1.1;1.2;1.3;1.4;1.5;1.6;2.0;2.1;2.2;2.3;2.4;2.5;2.6;2.7;2.8;2.9;3.0;4.0;4.1;4.2;5.1;6.0;7.2;7.3″,»Edition»:»»,»Line of Business»:{«code»:»LOB10″,»label»:»Data and AI»}}]

View Documentation By
 
 

0 Success.

The operation succeeded. The database server returns this SQLCODE value
to an application when an SQL statement executes successfully.

100 No matching records found.

The database server did not find any more data. This message is an ANSI-
standard SQLCODE value. If you attempted to select or fetch data, you
encountered the end of the data, or no data matched the criteria in the
WHERE clause. Check for an empty table. Use this SQLCODE value to determine
when a statement reaches the end of the data. For more information, see
the discussion of SQLCODE in the INFORMIX-ESQL/C Programmer’s Manual.
The database server can return this SQLCODE value to a running program.

For the High-Performance Loader (HPL), this message can indicate that
the map might be from a project other than the default project. Use
the -p option in the onpload command line to provide a project name
for mappings.

1203 Cannot find message file.

DataExtract cannot locate a needed message file. Check that you specified
the appropriate pathname when you set the INFORMIXDIR and DBLANG environment
variables. Contact your system administrator if you need help setting
these environment variables.

1204 Your system encountered an unknown type of terminal.

Check that you set the TERM environment variable correctly. Check the
database name for correct spelling. Contact your system administrator
if you need help setting the environment variable.

2005 Database database-name not found or not correct format.

Check the database name for correct spelling.

2008 The table table-name does not exist in the database.

The database that is specified in the DATABASE section does not contain
the table name that is included in the TABLE section of the form specification
file. Check the table name for correct spelling.

2009 You did not select any database tables.

You must include one or more table names in the TABLES section of the
form-specification file.

2020 The following tables are involved in an error: table-name.

Check the accompanying message for an indication of system action. The
specified error(s) involves the indicated tables.

4074 Cannot find a C language compiler in any directory in your path.

For this 4GL compiler message, you need a C compiler to finish compiling
your program. Change your execution path so that a C compiler can be executed
under the name cc.

4102 See error number -number.

For this 4GL compiler message, look up the message for -number.

4150 Program error at module, line number line.

The indicated line contains incorrect code that generated this 4GL runtime
message. Sometimes the actual error or omission exists in the preceding
lines of code. Look for additional messages that explain the error.

4152 FORMS statement error number -number.

For this 4GL runtime error, check the message for -number.

4153 SQL statement error number -number.

For this 4GL runtime error, check the message for -number.

4154 Program stopped at module, line number line.

This 4GL runtime message tells where a program stopped due to an error.
Look for additional messages that explain the error.

4155 4GL run-time error number -number.

For this 4GL runtime error, check the message for -number.

4156 ISAM error number -number.

For this 4GL runtime error, check the message for -number.

4157 SYSTEM error number -number.

For this 4GL runtime error, check the message for -number.

8009 See error number errno.

Check the accompanying message for an indication of system action. Use
the finderr utility to locate the indicated error message.

16755 oninit: VPCLASS VPCLASS_name duplicate class name.

The VPCLASS parameter in the onconfig file has a duplicate name. The VPCLASS
name must be unique. Correct the onconfig file and restart oninit.

16872 Logical Recovery Complete — no log replay was necessary.

During restore, the database server determined that none of the dbspaces
involved had any logging activity since they were backed up. You do not
need to look through log backups on tape because nothing would be found.

You do not need to take any action.

16888 Logslice successfully altered by adding logs.

Logical logs were added to all new dbspaces in the altered dbslice.

Perform a level-0 backup or fake backup to enable the new logical
logs.

16889 Dbslice successfully altered by adding dbspaces.

Dbspaces were added to all named coservers.

You do not need to take any action.

19568 oninit: Too many VPCLASS parameters specified.

Too many VPCLASS parameter lines exist in the onconfig file. Reduce the
number of VPCLASS lines and restart oninit.

19569 oninit: VPCLASS VPCLASS_name bad affinity specification.

The affinity specification for the VPCLASS line is incorrect. Affinity
is specified as a range where x is less than or equal to z, and both x
and z are greater than zero.

x: use processor x

x — z: use processors in the range x to z inclusive

19570 oninit: Cannot mix VPCLASS cpu and NUMCPUVPS, SINGLE_CPU_VP,
AFF_SPROC, AFF_NPROCS, or NOAGE parameters.

CPU VPs can be configured using either VPCLASS CPU or the old parameters
NUMCPUVPS and so on. However, CPU VPs cannot be configured by mixing both
formats.

19571 oninit: Cannot mix VPCLASS aio and NUMAIOVPS parameters.

AIO VPs can be configured with VPCLASS AIO or the old parameter NUMAIOVPS.
However, AIO VPs cannot be configured with both formats.

19572 oninit: VPCLASS VPCLASS_name number of VPs is out of the range
0 to 10000.

The initial number of VPs specified by a VPCLASS parameter line must be
in the range 0 to 10,000. Correct the onconfig file and restart oninit.

19573 oninit: VPCLASS VPCLASS_name maximum number of VPs is out of
the range 1-10000.

The maximum number of VPs specified by a VPCLASS parameter line must be
in the range 0 to 10,000. Correct the onconfig file and restart oninit.

19574 oninit: VPCLASS VPCLASS_name number of VPs is greater than
the maximum specified.

The initial number of VPs specified by a VPCLASS parameter is greater
than the maximum specified by the same VPCLASS parameter. Correct the
onconfig file and restart oninit.

19575 oninit: VPCLASS VPCLASS_name bad scheduler specification.

One of the options for a VPCLASS parameter is illegal. Check your Administrator’s
Guide for legal values. Correct the onconfig file and restart oninit.

19750 Invalid serial number. Please consult your Installation Guide.

This RSAM error message indicates an incorrect serial number.

19812 Illegal use of replication shadow columns.

The specified operation cannot be performed on the replication shadow
columns while replication is enabled.

19813 Cannot add CRCOLS when the table already has replication shadow
columns.

The specified table was created with the WITH CRCOLS clause and therefore
already has the replication shadow columns defined. You cannot alter this
table to add CRCOLS to it.

19814 Cannot drop CRCOLS when table does not have replication shadow
columns.

The specified table was not created with the WITH CRCOLS clause, or it
has not been altered to include the CRCOLS. You cannot alter this table
and drop the CRCOLS because these columns do not exist on this table.

19815 Cannot create a temp table with CRCOLS.

You cannot create a temporary table to include the replication shadow
columns. If you did not intend to name a temporary table, check the spelling
of the table name.

19816 Cannot perform this operation on a table defined for replication.

The specified operation cannot be performed on a table if replication
is defined on the table. If you want to perform the specified operation,
you must delete all replicates defined on this table.

19820 Informix OUTER JOIN and ANSI JOIN in the same query block.

You cannot have Informix OUTER JOIN and ANSI JOIN in the same query block.
Informix OUTER JOIN and ANSI JOIN are two different mechanisms and should
not be combined in a single query. You can use only one of these.

21957 Invalid block size.

You have specified inadequate block size for the tape device in your onload
or onunload command. Make the block size larger than the size (in kilobytes)
that the accompanying error message indicates. The onload and onunload
utilities require a block-size parameter with a minimum value of 4 for
2-kilobyte-page computers or 8 for 4-kilobyte-page computers.

25500 The sqlexecd daemon is not licensed for remote use.

You entered an incorrect serial number or serial-number key while you
were running the Informix client/server product installation script. Obtain
the proper serial number and key and reinstall your Informix client/server
product.

25501 You must log in as root to start the sqlexecd daemon.

Log in as root and start the sqlexecd daemon process.

25502 The sqlexecd daemon cannot execute the fork system call.

Contact your system administrator to solve system problems.

25503 Informix network features not supported on this product.

The sqlexecd daemon does not support your network connections. Check that
you specified the correct database or database server in the DBPATH environment
variable. Consult your system administrator about INFORMIX-NET licensing
issues.

25504 The sqlexecd daemon cannot open a socket.

Check that you correctly installed the TCP/IP network. Check for malfunctions
in the TCP/IP network.

25505 The sqlexecd daemon cannot bind a name to the socket.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25506 The sqlexecd daemon cannot accept a connection on the socket.

Check that you correctly installed the TCP/IP network. Check for malfunctions
in the TCP/IP network.

25507 You specified an unknown service name or protocol.

Tell your database administrator to examine the sqlhosts file entry. Check
that the NETTYPE settings in the ONCONFIG file match the NETTYPE settings
in the sqlhosts file.

If you are using the TCP/IP protocol, check that the correct service
name appears in the /etc/services file. If you are using NFS, use ypmake
to check the /etc/services file. Sometimes the daemon does not recognize
service names that are added after a default boot.

25510 execv could not start the database engine , system
errno .

Enter your request again. If the problem persists, refer to your system
manual for more information.

25511 The sqlexecd daemon could not receive data from client.

Check that you correctly installed the TCP/IP network. Check for malfunctions
in the TCP/IP network.

25512 Cannot access the database server program.

Check that you can access the requested database server program.

25514 The sqlexecd daemon cannot open the log file.

Check that you can write to the requested log file.

25515 You passed too many arguments to the sqlexecd daemon.

Refer to your Informix product manuals. Check the version information
that is associated with your Informix client/server products to verify
compatibility between those products.

25518 You specified an unknown network type in DBNETTYPE. Assuming
STARLAN.

If your network supports STARLAN connections, set the DBNETTYPE environment
variable to starlan. If your network supports TCP/IP connections, set
the DBNETTYPE environment variable to tcp/ip. Informix Version 6.0 and
later database servers do not use this message.

25519 The sqlexecd daemon cannot open the network device.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25520 The sqlexecd daemon cannot allocate the call structure.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25521 The sqlexecd daemon cannot allocate the return structure.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25522 The sqlexecd daemon cannot allocate the call structure.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25523 The sqlexecd daemon cannot bind the network structures.

The sqlexecd daemon process attempted to use the same service number that
is allocated to another running process. Check that the system administrator
does not need to use the running sqlexecd process, and then kill the sqlexecd
process, and start a new one. Or add a new entry to the /etc/services
file, and start a daemon for the service using the new service number.
For more information, refer to your system manual.

25526 The sqlexecd daemon cannot listen on the network device.

Enter your request again. If the problem persists, run your network diagnostics
to determine the source of the problem.

25528 The sqlexecd daemon cannot accept a connection.

Check that you correctly installed your network hardware and software.
Check for malfunctions in the network.

25529 The sqlexecd daemon cannot get a host structure.

Check that you requested a valid host name. Verify that the /etc/hosts
file contains the requested host-name entry.

25530 The sqlexecd daemon cannot bind to the required port address.

Check that no other daemons are running on the port address.

25531 The sqlexecd daemon cannot bind to the required address.

Check that no other daemons are running on the port address.

25533 The sqlexecd daemon cannot close the network.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25534 The sqlexecd daemon cannot allocate a structure.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25535 Address translation failed in sqlexecd daemon.

Enter your request again. If the problem persists, refer to your system
manual for more information.

25537 The sqlexecd daemon cannot connect to network.

Check that you correctly installed your TCP/IP or StarGROUP network. Check
for malfunctions in the network.

25543 You specified an unknown service name or protocol.

Examine the /etc/services file to verify that the requested service name
exists. Also check that the /etc/services file specifies the correct protocol
and/or port number.

25544 The sqlexecd daemon cannot find a host structure.

Check that you requested a valid database server name. Examine the /etc/hosts
file to verify that you correctly defined the requested database server
name, client address, and host names.

25545 The sqlexecd daemon cannot advertise the specified service
name.

You are starting the sqlexecd daemon on a system that is running portable
INFORMIX-OnLine for NetWare with IPX/SPX as the network protocol, but
the daemon is unable to advertise the service name for the database server
on the NetWare network. It is possible that another sqlexecd daemon is
already using the same service name, a recently stopped sqlexecd daemon
with the same service name was unable to de-advertise its service, or
the database server is down.

The service name of each database server must be unique across the
entire NetWare network. The default service name is sqlexec. If another
sqlexecd daemon or database server on the network already uses the name,
use a different service name to start the sqlexecd daemon. You can explicitly
specify a service name as a parameter in the sqlexecd command line.

If you are restarting a recently terminated sqlexecd daemon, the previous
sqlexecd probably has not finished de-advertising or was unable to de-advertise
the service name. When you terminate an sqlexecd daemon, use the TERM
signal (15) only (that is, kill -15 pid or kill pid). If you do not
terminate a service properly, depending on your database server configuration,
it might take about three minutes for a terminated service to be de-advertised
automatically.

29061 EDA warning (EDA_warning).

The SQL statement has executed successfully, but the EDA client or server
issued a warning. The EDA_warning field contains the warning information.

The format of the EDA_warning field is the same as for the EDA_Error
field that is described for error message -29060.

32700 Cannot find license file.

The program cannot open the license file. It first tries to open the file
that the user specified in LM_LICENSE_FILE. If you have not set this environment
variable, the program tries to open the license file in the default location
$INFORMIXDIR/etc/ifmxld.dat. If you intend to use LM_LICENSE_FILE, check
that you have set your license-file pathname correctly in that file.

32701 Invalid license file syntax.

This error occurs if the feature name, daemon name, or server name exceeds
the maximum length allowed, or if the feature line is incomplete. If you
have edited the license file after installation, check that you did not
make a mistake. The maximum length for the server name is 32 characters.
The feature name, daemon name, and feature lines are generated automatically
during installation.

32702 Cannot connect to a license daemon server.

If you edited the license file after installation, check that you did
not make a mistake. This error occurs if the daemon name specified in
the license-file feature line does not match the vendor-daemon name or
if the attempt to connect the vendor daemon on all server nodes was unsuccessful.
Check that the daemons on all license servers are still running and that
the network is working properly.

32703 Licensed number of users already reached. Check the daemon
log.

Check the network-licensing activities by using lmstat or by checking
the license-daemon log file to decide whether you need to purchase more
user capacity from Informix.

32704 No such feature exists.

The feature could not be found in the license file. Be sure that the license
file contains the feature line for the product that you are trying to
use and that the product is properly licensed.

32705 No TCP/IP license service exists.

Check the license file in use to ensure that the TCP/IP port number on
the server line or lines is valid. If the TCP/IP port number is not valid,
modify the license file to use a valid one.

32706 No socket connection to license manager server.

This error indicates that an internal error occurred during sending or
receiving of the message. Note all observed behavior and any other error
message. Check with the system administrator to ensure that the system
is functioning properly.

32707 Encryption code in license file is inconsistent.

This error indicates that the code in a license-file line does not match
the other data in the license file. This error usually occurs when all
the software components are not built with the same encryption code. Check
create_license.c, ls_vendor.c, and your application code carefully to
make sure that they have the same vendor code. Do not modify the encryption
code in the license file after it has been generated during installation.

32708 Invalid host.

This error occurs when the host ID specified in the license file does
not match the node on which the software is running.

32709 Feature has expired.

The present date exceeds the expiration date of the feature in the license
file. Decide if you want to change from an evaluation version to a regular
version of this Informix product and contact Informix for the procedure
that you need.

32710 Invalid date format in license file.

Check that the date field in the license file is in the format dd-mmm-yyyy
where dd is two digits for the day, mmm is three letters for the month,
and yyyy is four digits for the year. The installation procedure generates
these dates. If you did not modify the license file on those fields, report
this problem, along with the output of the license file, to Informix Technical
Support.

32711 Invalid returned data from license daemon server.

Be sure that no other services use the port numbers on the server lines.
Check with your system administrator to ensure that the network is functioning
properly. Check the license-daemon-server log for all error messages.

32712 No server lines in license file.

No server line exists in the license file. All nonzero license-count features
need at least one server line.

32713 Cannot find SERVER hostname in network database.

Check all relevant system files, such as /etc/hosts, to ensure that the
server host name is known across the network.

32714 Cannot read data from license daemon server.

Be sure that the daemons in all license servers are running. Check the
daemon log for any error message.

32715 Cannot write data to license daemon server.

Check with your system administrator to ensure that the network is functioning
properly. Also check the daemon log for other error messages.

32716 License daemon server does not support this feature.

The feature has expired or has not yet started, or the version of the
product you are attempting to use is not the licensed version. Check that
the license files in both the license-daemon servers and the computer
that is running this Informix-licensed product are set up properly.

32717 License daemon server busy (no majority).

The license-daemon server is busy establishing a quorum of server nodes
so that licensing can start. Retry this operation later.

32718 License file does not support this version.

Be sure that the version of the product that you are attempting to use
is licensed. Check the license file to ensure that the version of the
desired product on the feature line is the same as or later than the version
that you want to use.

32719 Feature checkin failure detected at license daemon server.

The check-in request did not receive a proper reply from the vendor daemon.
(The license might still be considered in use.) Check the daemon log output
to see if there are any more error messages. If the error recurs, please
note all circumstances and contact Informix Technical Support.

32720 License daemon server temporarily busy (new server connecting).

The vendor daemon is busy establishing a quorum condition. New requests
from clients are deferred during this period. Retry this operation later.

32721 License daemon server does not support this version of this
feature.

The version that you are attempting to use is more recent than the version
for which you are licensed. Check the feature line in the license file
to ensure that the version of the desired product is the same as or later
than the version that you are trying to use.

32722 Request for more licenses than this feature supports.

A checkout request was made for more licenses than are supported in the
license file. Be sure that you did not make a change to the license checkout
request to check out more licenses than it is capable of handling. Check
out only one license for each request.

32723 Cannot read license file.

Be sure that the license file has the correct read permission.

32724 Bad encryption handshake with daemon.

The client performs an encryption handshake operation with the daemon
before any licensing operations can occur. This handshake operation failed.
Check with the system administrator to ensure that the system and the
network are working properly. If the error recurs, please note all circumstances
and contact Informix Technical Support.

32725 Feature database corrupted in daemon.

The runtime-feature data structures of the daemon are corrupt. This internal
daemon error indicates that a serious problem exists. If the error recurs,
please note all circumstances and contact Informix Technical Support.

32726 Cannot allocate dynamic memory.

The malloc() call failed to return sufficient memory. This error can occur
while the system is reading the features from the license file (especially
if the user has set an extremely long LM_LICENSE_FILE path). Check with
your system administrator to ensure that the system is working properly.

32727 Feature was never checked out.

This message provides information to the user. It is not an error.

32728 Clock setting check not available in daemon.

This message provides information to the user. It is not an error.

32766 Unknown error message number.

The program that you have started cannot locate the Informix error message
file. The INFORMIXDIR environment variable is probably not set properly.
INFORMIXDIR points to the directory that contains the msg directory where
message files are stored.

32788 Dbspaces added to a mirrored Dbslice must be mirrored.

The database administrator attempted to add dbspaces to an existing mirrored
dbslice by using the ALTER DBSLICE ADD DBSPACE command without the MIRROR
clause for each chunk.

Reissue the ALTER DBSLICE ADD DBSPACE command with the MIRROR clause
for each chunk.

32789 Dbspaces added to a non-mirrored Dbslice must not be mirrored.

The database administrator attempted to add dbspaces to an existing unmirrored
dbslice by using the ALTER DBSLICE ADD DBSPACE command with at least one
MIRROR clause for a chunk.

Reissue the ALTER DBSLICE ADD DBSPACE command without the MIRROR clause
for each chunk.

32792 Coservers successfully blocked.

The EBR BLOCK command completed successfully.

32793 Coservers successfully unblocked.

The EBR UNBLOCK command completed successfully.

33987 External Space successfully created.

The onspaces command that you used to create the external space was successful.

33988 External space creation failed.

The database server could not add the external space. Check the error
returned with this failure.

33989 External Space successfully dropped.

The onspaces command that you used to drop the external space was successful.

33990 External space drop fails.

An attempt to drop the external space failed. Check the error associated
with this failure.

33991 External Space reference count not zero. Drop fails.

The reference count for this external space was not 0. Check the reference
count for the external space before you attempt to drop the space.

33992 onmode: Unknown option argument.

Unknown argument passed to onmode. Retry with the correct argument list.

35201 SQLCODE used in SQL statement or declared as IN parameter.

Remove SQLCODE from the SQL statement and/or remove IN from the parameter
list. SQLCODE is an out parameter only.

35202 SQLCODE parameter must be declared with type SQLCODE_TYPE.

Only declare SQLCODE as an SQLCODE_TYPE parameter.

35579 General Table Manager: Invalid argument.

An invalid argument was passed while you were attempting to create a table.
If this internal error recurs, please note all circumstances and contact
Informix Technical Support.

35580 General Table Manager: No table allocated.

The table has not been created or was deleted. If this internal error
recurs, please note all circumstances and contact Informix Technical Support.

35581 General Table Manager: No memory.

Allocation of memory for a table or a table entry failed. Try to decrease
the amount of memory that is used so some memory is freed for the table
or table entry.

35582 General Table Manager: Mutex cannot be created.

Table or entry mutexes cannot be created. Try to decrease the amount of
memory that is used so some memory is freed for the creation of the mutex.

35583 General Table Manager: Duplicate keys not allowed.

Table entries with the same key are not allowed. If this internal error
recurs, please note all circumstances and contact Informix Technical Support.

35584 General Table Manager: Table is full.

Table is full and cannot be extended. If this internal error recurs, please
note all circumstances and contact Informix Technical Support.

35585 General Table Manager: Entry is locked.

Entry of a table is already locked (not yet used). If this internal error
recurs, please note all circumstances and contact Informix Technical Support.

35586 General Table Manager: Table is locked.

Table is already locked (not yet used). If this internal error recurs,
please note all circumstances and contact Informix Technical Support.

35587 General Table Manager: No entry.

The required entry does not exist. If this internal error recurs, please
note all circumstances and contact Informix Technical Support.

35588 General Table Manager: Invalid entry specification.

The specification of an entry is invalid (for example, a NULL pointer).
If this internal error recurs, please note all circumstances and contact
Informix Technical Support.

35589 Running oninit without setuid causes use of descriptor limit.

When you run the database server in developer mode (not suid to root),
this message is a reminder that the number of file descriptors available
to the database server is now limited by the shell from which the database
server is initialized. File descriptors are needed for accessing chunks
and making network connections. If the database server runs out of file
descriptors, you need to choose one of the following solutions: limit
the number of connections, limit the number of chunks used, or run as
root.

35590 You do not have the correct permission to run the database
server without the -U option.

The user was not root or informix and was not in the group informix. The
only way to run the database server without permissions is with the -U
option.

35591 You must be the owner of this server to start it.

You are attempting to boot the database server but are not the owner.
Try again after you log in as the correct user.

35592 You are not the owner of this server.

You attempted to run onstat or onmode against a database server that you
do not own.

38002 Unknown event mnemonic or code event-mnemonic.

An unknown event mnemonic or code was encountered in the audit trail.
Check the event mnemonic or code, correct the command line or the load
file, and try again.

38005 Invalid path name, pathname (errcode = number).

You have specified an invalid pathname. Check your entry and try again.

38006 Invalid file name, filename (errcode = number).

You have specified an invalid filename. Check your entry and try again.

38007 No read permission on file filename.

You do not have read permission for the specified file. Check the permissions
and try again.

38008 Cannot create file filename (errcode = number).

The specified file cannot be created. Check the path and directory permissions
and try again.

38010 Internal error: Illegal use of set_msg (bounds exceeded).

The set_msg function has exceeded the allocated storage in the error buffer.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

38047 Invalid serial number. Please consult the Installation Instructions.

You have entered a serial number that is not valid. Check the installation
instructions for your product and try again.

38053 Bad option usage: -u required for add.

Your add command for onaudit is incomplete; you did not specify a user
name. Check the usage information and try again.

38054 Bad option usage: -u required for modify.

Your modify command for onaudit is incomplete; you did not specify a user
name. Check the usage information and try again.

38055 Unknown option ‘-x’.

Your command line for onaudit has incorrect or incomplete syntax. You
have specified an unknown option. Check the usage information and try
again.

38060 Badly formatted mask/role/event definition at line line-number.

The database server failed to parse the mask/role/event definition in
a load file. Edit the load file and try again.

38061 Actions must be the first argument to onaudit.

Your command line for onaudit has incorrect or incomplete syntax. Actions
must be the first argument. Check the usage information and try again.

38062 Option without required argument found.

Your command line for onaudit has incorrect or incomplete syntax. You
have not included a required argument with an option. Check the usage
information and try again.

38064 No more than two events sets may be defined.

Your command line for onaudit has incorrect or incomplete syntax. You
have specified more than two event sets. Check the usage information and
try again.

38065 Unable to connect to shared memory.

Confirm that the database server is up and try again.

38083 Masks cannot be modified during a bulk operation (line line-number).

The mask that was defined in a load file already exists. Either edit the
load file or delete the existing definition.

38084 OS mode auditing not supported for this platform.

The -O option is not implemented for this platform. Delete it from the
command and try again.

38085 Cannot locate ONCONFIG file.

The database server could not locate the $INFORMIXDIR/etc/$ONCONFIG file,
and/or ADTPATH and/or DBSERVERNAME is not defined.

38086 Badly formatted audit record found.

The audit trail traversal contains a parsing error. Check the path and
directory permissions and try again.

38088 Failed to action user user-name — error number occurred.

This general onaudit failure message could indicate that a command is
incorrect or incomplete, the database is inaccessible, or the user is
not informix. Check the permissions, ID, and command-line syntax, and
try again.

38089 Failed to action — error number occurred.

This general onaudit failure message could indicate that a command is
incorrect or incomplete, the database is inaccessible, or the user is
not informix. Check the permissions, ID, and command-line syntax, and
try again.

38090 Skipped existing audit trail filename.

The database server could not overwrite an existing audit-trail file.
This message might appear when the database server comes up and ADTPATH
holds old audit data. Remove all old audit trails.

38091 Audit trail creation failed for filename.

The database server could not open the next audit file because the call
to aio_fopen() failed. Check that ADTPATH points to a valid directory
to which the user or group informix can write.

38092 Could not open next audit file.

The database server could not open the next audit file because the call
to aio_fopen() failed. Check that the ADTPATH points to a valid directory
to which the user or group informix can write.

38093 Informix level audit write failure (errcode = number).

The database server could not write the current audit record to the audit-trail
file. Check that ADTPATH points to a valid directory to which the user
or group informix can write and that space is available. Also, check the
directory and audit-trail file permissions.

38094 string is invalid setting for ADTERR.

The ONCONFIG file contains a bad parameter. Fix the ONCONFIG file so that
the parameter is 0/1.

38095 string is invalid setting for ADTMODE.

The ONCONFIG file contains a bad parameter. Fix the ONCONFIG file so that
the parameter is 0/1.

43007 Data required to insert a row into table_name.

An insert into this table cannot occur without the specified data. Verify
that the required data exists before you attempt another insert in this
table.

43008 Failed to build WHERE clause for query.

Attempt to build a WHERE clause for the specified query failed. Verify
that the data needed to create the WHERE clause exists.

43010 Missing data for table_name.

Required data is missing. Verify that the data exists.

43011 Updates to table_name primary key are not allowed.

Updating the primary key for a table is not allowed. Delete the row and
then insert a new row with the new primary key.

43012 Unable to open connection to server.

The database server is in an incorrect state. Bring the database server
to the correct state. For a backup, the database server should be in on-line
or quiescent mode. For a warm restore, the database server should be in
on-line, quiescent, backup, or recovery mode. For a cold restore, the
database server should be off-line. Use the onmode or oninit commands.

43014 Unable to read $ONCONFIG parameters.

The ONCONFIG file is inaccessible. It might be missing or have incorrect
permission values. Verify that an ONCONFIG file exists and that its permissions
are correct. For details, see your Administrator’s Guide.

43015 Unable to set INFORMIXSHMBASE.

Unable to attach to shared memory. Contact your database system administrator.

43018 Must be user root or informix.

Only users root and informix and are allowed to execute ON-Bar. Log in
as root or informix before you attempt the backup, restore, or database
logging mode change.

43019 User is not a member of the Informix-Admin group.

Only users listed in the Informix-Admin Group can execute ON-Bar. Ask
your system administrator to add your user name to the Informix-Admin
Group.

43039 Version version_number of the XBSA shared library is not compatible
with version version_number of ON-Bar.

Either Informix has not certified the XBSA shared library that the Storage
Management Vendor provides, or an error occurred during installation of
ON-Bar. Verify that ON-Bar was installed properly. Verify that the XBSA
library is certified.

43040 DB/BLOBspace dbspace_name/blobspace_name does not exist.

Verify that the storage space exists in this database server.

43043 Must restore logical logs from date_time or later.

The user wants to stop the restore at a logical log that is too early.
A storage-space backup occurred after the log that the user specified.
Retry the restore up to the specified logical log or later.

43047 Cannot warm restore-critical media: dbspace_name.

The user wants to stop the restore at a logical log that is too early.
A storage-space backup occurred after the log that the user specified.
Retry the restore up to the specified logical log or later.

71561 This command can be executed only by members of the Informix-Admin
group.

The account under which you are logged on might not be a member of the
Informix-Admin group. Contact your Windows NT system administrator.

71562 Use the -iy option to initialize the database server.

The command-line option that was specified in the Control Panel->Services->Startup
dialog box was -i. When the database server runs as a service, it does
not prompt you for confirmation.

If you are sure that you want to initialize the root dbspace completely,
start the database server with the -iy option instead.

71563 The database server cannot access %INFORMIXDIR%dbssodir or
%INFORMIXDIR%aaodir.

First, check access rights to path segments that lead to dbssodir and
aaodir. If %INFORMIXDIR% is on a network drive, make sure the oninit process
privileges are not altered. In addition, make sure that the AAO and DBSSO
group names in the following registry key are valid:

HKEY_LOCAL_MACHINESOFTWAREInformixOnLineCurrentVersionSecurity

71564 Warning: SYSTEM command not supported in SPL routines.

Prior to Version 7.21, INFORMIX-OnLine Dynamic Server for Windows NT did
not support system commands in SPL routines (stored procedures). This
feature was added in Version 7.21.

Run the system command outside of the SPL routine.

71565 The root dbspace is not large enough for the specified configuration.
The actual size is xxx pages, and the required size is yyy pages.

Try to free some space on the drive that contains the root dbspace and
re-initialize the database server.

71566 The value specified for TAPEDEV or LTAPEDEV in the ONCONFIG
file is invalid.

Specify a valid value for TAPEDEV and/or LTAPEDEV. For specific information
about setting configuration parameters, see your administrator’s guide.

71567 The database server failed to start in Recovery Mode. Check
Event Log for errors.

Check the Event Log for errors from the database server and correct them.

71568 oninit: DBSERVERNAME `servername’ not found under SQLHOSTS
key in the Registry.

Add key into the registry. For more information, refer to your administrator’s
guide.

71569 The database server failed to start in Recovery Mode. Service
already running.

Check the registry settings for INFORMIXSERVER under the SQLHOSTS key.

71570 System() command «» in SPL routine cannot be
executed because user «» did not connect with a password.

Log on again with a password and execute the SPL routine.

71571 Insufficient buffer size for error message.

The buffer size allocated for the error message is not sufficient. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

71572 System() command in SPL routine failed.

Check the message log for more information.

79511 Warning: DB_LOCALE environment variable does not match locale
of the database.

The dbaccess utility issues this message when you connect to a database
that does not match the value of your $DB_LOCALE environment variable.
For more information, see the section on performing code-set conversions
in the Informix Guide to GLS Functionality.

80622 Illegal DBSERVERNAME or DBSERVERALIAS: must begin
with a letter.

The onconfig file has a value for DBSERVERNAME or DBSERVERALIASES that
does not begin with a letter.

Edit the onconfig file. Make sure the DBSERVERNAME value and all DBSERVERALIASES
values begin with a letter.

-1 Not owner.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Check the ownership and permissions of
files and directories that are used in the current operation. Look for
other operating-system error messages that might give more information.

-2 No such file or directory.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information.

-3 No such process.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-4 Interrupted system call.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. You might have pressed the interrupt
key at a crucial moment, or the software might have generated an interrupt
signal such as the UNIX command kill. Look for other operating-system
error messages that might give more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-5 I/O error.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. In particular, try to determine
what device produced the error and whether that device held the database
or some other kind of file.

-6 No such device or address.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. You might have made an error when you
configured the database software or in the REPORT TO clause of a report.
Look for other operating-system error messages that might give more information.

-7 Arg list too long.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
refer to the Appendix entitled «Trapping Errors» in your Administrator’s
Guide to acquire additional diagnostics. Contact Informix Technical Support
with the diagnostic information.

-8 Exec format error.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-9 Bad file number.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-10 No children.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-11 No more processes.

Your application could not start a database server process or could not
create a process that some subordinate function such as a REPORT TO pipe
or a network-access program needed. This error probably reflects a limit
that was configured in your operating system. Look for other operating-system
error messages that might give more information.

-12 Not enough core.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Core probably refers to data space in
memory that an operating-system function needed. Look for other operating-system
error messages that might give more information.

-13 Permission denied.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This error code usually follows an attempt
to execute a file that is not a program or shell script; it might reflect
an error in a REPORT TO specification in a report. Look for other operating-system
error messages that might give more information.

-14 Bad address.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-15 Block device required.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An error might exist in the configuration
of the database software. That error might include an incorrect address
in the chunk-device or tape-device parameters that were given to the database
server. Look for other operating-system error messages that might give
more information.

-16 Mount device busy.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-17 File exists.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This error may reflect an attempt in
a REPORT TO specification to replace an existing file. Look for other
operating-system error messages that might give more information.

-18 Cross-device link.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-19 No such device.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An error might exist in the configuration
of the database software. That error might include an incorrect address
in the chunk-device or tape-device parameters that were given to the database
server. Or an error might have occurred in a REPORT TO specification in
a report. Look for other operating-system error messages that might give
more information.

-20 Not a directory.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. Some database servers store
databases as directories that are named database.dbs. If you place a file
(not a directory) with the .dbs suffix in your DBPATH, this error might
result.

-21 Is a directory.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. A file-type operation has been directed
to a directory. Some database servers store tables, indexes, and lock
files as files with particular suffixes in the database directory. If
a directory replaced such a file, this error might result. Look for other
operating-system error messages that might give more information.

-22 Invalid argument.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information. If the error recurs, please
refer to the Appendix entitled «Trapping Errors» in your Administrator’s
Guide to acquire additional diagnostics. Contact Informix Technical Support
with the diagnostic information.

-23 File table overflow.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This error probably reflects a limit
that was configured in your operating system. Look for other operating-system
error messages that might give more information.

-24 Too many open files.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This error probably reflects a limit
that was configured in your operating system. Look for other operating-system
error messages that might give more information.

-25 Not a typewriter.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An error might exist in the configuration
of the database software. That error might include an incorrect address
in the log-device parameter given to the database server. Look for other
operating-system error messages that might give more information. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-26 Text file busy.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the current operation requires the
use of a text file (such as the input file to LOAD or to a PRINT FILE
statement in a report), retry the operation later. Look for other operating-system
error messages that might give more information.

-27 File too large.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Check the documentation for your operating
system to find out what too large might mean in the context of the current
operation.

-28 No space left on device.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Either a database table or an ASCII output
file has probably filled the available disk space. Look for other operating-system
error messages that might give more information.

-29 Illegal seek.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information, such as the device on which
the error occurred. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-30 Read-only file system.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An entire file system (a disk or disk
partition) has been made read-only. Contact your system administrator
to find out why.

-31 Too many links.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information, especially which file or files
are involved. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-32 Broken pipe.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. A pipe is a data path between two processes;
a pipe is broken if one of the processes has unexpectedly quit while the
other is waiting for data. Look for other operating-system error messages
that might give more information, especially which processes were involved.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-33 Argument too large.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-34 Result too large.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-35 Operation would block.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-36 Operation now in progress.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-37 Operation already in progress.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-38 Socket operation on non-socket.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information, particularly the operation
in question and the processes that are involved. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-39 Destination address required.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-40 Message too long.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-41 Protocol wrong type for socket.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-42 Option not supported by protocol.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-43 Protocol not supported.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-44 Socket type not supported.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-45 Operation not supported on socket.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstance, and contact Informix Technical Support.

-46 Protocol family not supported.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-47 Address family not supported by protocol family.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-48 Address already in use.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-49 Can’t assign requested address.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-50 Network is down.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to find out when the
network will be backed up. If not, please note all circumstances and contact
Informix Technical Support.

-51 Network is unreachable.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to find out what the
network problem is. If not, please note all circumstances and contact
Informix Technical Support.

-52 Network dropped connection on reset.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-53 Software caused connection abort.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-54 Connection reset by peer.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-55 No buffer space available.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information.

-56 Socket is already connected.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-57 Socket is not connected.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-58 Can’t send after socket shutdown.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-59 Too many references: can’t splice.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-60 Connection timed out.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-61 Connection refused.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-62 Too many levels of symbolic links.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. The database server does not normally
use symbolic links. Look for other operating-system error messages that
might give more information, particularly which file or files were being
accessed.

-63 File name too long.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An error might exist in the coding of
a REPORT TO statement of a report. If not, please note all circumstances
and contact Informix Technical Support.

-64 Host is down.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-65 Host is unreachable.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If you are attempting to use INFORMIX-STAR
or INFORMIX-NET, contact your system administrator to report a network
problem. If not, please note all circumstances and contact Informix Technical
Support.

-66 Directory not empty.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information, particularly what directory
was being removed. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-67 Too many processes.

Your application was unable to start a database server process or was
unable to create a process that was needed for some subordinate function
such as a REPORT TO pipe or a network-access program. This error probably
reflects a limit configured in your operating system. Look for other operating-system
error messages that might give more information.

-68 Too many users.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This error probably reflects a limit
configured in your operating system. Look for other operating-system error
messages that might give more information.

-69 Disc quota exceeded.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. A disk-quota limit is probably configured
in your operating system. Look for other operating-system error messages
that might give more information, particularly the disk involved. Contact
your system administrator to inquire about more liberal quotas.

-70 Stale NFS file handle.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. An error exists in a file server on a
networked file system. Although Informix database servers do not support
database access to NFS-mounted file systems, this error can occur when
the database server executable files or other files that are related to
the database server are located on an NFS-mounted disk. (In other words,
the INFORMIXDIR environment variable names an NFS-mounted disk.) The error
is usually transient, reflecting a crash and subsequent restart of the
file server. Remount the file system to your workstation and rerun your
application.

-71 Too many levels of remote in path.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-72 Not a stream device.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. Look for other operating-system error
messages that might give more information, particularly which device is
involved. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-73 Timer expired.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-74 Out of stream resources.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-75 No message of desired type.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-76 Not a data message.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-77 Identifier removed.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-78 Deadlock situation detected/avoided.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. If the error recurs, please note all
circumstances and contact Informix Technical Support.

Under AIX, this code means connection timed out.

-79 No record locks available.

An operating-system error code with the meaning shown was unexpectedly
returned to the database server. This implementation of the Informix database
server probably uses kernel locking, the use of the operating-system facilities
to lock rows of tables. The capacity of the operating-system lock table
has been exceeded. Contact your system administrator and inquire about
configuring the operating system to support more locks. Also examine your
database application to see if it can use fewer locks by updating fewer
rows in each transaction or by locking whole tables instead of rows.

-100 ISAM error: duplicate value for a record with unique key.

A row that was to be inserted or updated has a key value that already
exists in its index. For C-ISAM programs, a duplicate value was presented
in the last call to iswrite, isrewrite, isrewcurr, or isaddindex. Review
the program logic and the input data. For SQL products, a duplicate key
value was used in the last INSERT or UPDATE.

-101 ISAM error: file is not open.

The ISAM processor has been asked to use an unopened file (table). For
C-ISAM programs, the program has tried to use a file before opening it
with a call to isopen or has tried to write to a file that was opened
in read-only mode. If the error recurs, please refer to the Appendix entitled
«Trapping Errors» in your Administrator’s Guide to acquire additional
diagnostics. Contact Informix Technical Support with the diagnostic information.

-102 ISAM error: illegal argument to ISAM function.

A parameter that was presented to one of the C-ISAM functions is outside
the range of acceptable values. For C-ISAM programs, review the parameters
that were used in this function call, and compare them to the documentation
for the function. If the error recurs, please refer to the Appendix entitled
«Trapping Errors» in your Administrator’s Guide to acquire additional
diagnostics. Contact Informix Technical Support with the diagnostic information.

-103 ISAM error: illegal key descriptor (too many parts or too long).

The ISAM processor has been given an invalid key descriptor. For C-ISAM
programs, review the key descriptor. Each key descriptor has a maximum
of 8 parts and 120 characters. If the error recurs, please refer to the
Appendix entitled «Trapping Errors» in your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the diagnostic
information.

-104 ISAM error: too many files open.

The ISAM processor has reached its limit of open files. For C-ISAM programs,
review the program logic and change it so that fewer files are open concurrently.
Use isclose to close unneeded files. For SQL products, this query is too
complex; it uses too many tables concurrently. Perform the query in steps,
and use temporary tables.

-105 ISAM error: bad ISAM file format.

The contents of an ISAM file (table or index) have been corrupted. For
C-ISAM, if you used transaction logging, you can use the isrecover program
to recover the file. Otherwise, re-create the file or restore it from
backup. For SQL products, use the bcheck or secheck utility to get more
information on the problem and possibly correct it (use the oncheck utility
(or tbcheck with INFORMIX-OnLine versions 6.0 and earlier). If the utility
cannot recover the table or index, you will have to re-create or restore
it.

-106 ISAM error: non-exclusive access.

The ISAM processor has been asked to add or drop an index but it does
not have exclusive access. For C-ISAM programs, the file must be opened
with exclusive access before you perform this operation. Review the program
logic, and make sure that it opens this file by passing the ISEXCLLOCK
flag to isopen. For SQL products, the database server returns this error
when an exclusive lock is required on a table. For example, this error
appears when a second user tries to alter a table that the first user
has locked.

-107 ISAM error: record is locked.

Another user request has locked the record that you requested or the file
(table) that contains it. This condition is normally transient. A program
can recover by rolling back the current transaction, waiting a short time,
and re-executing the operation. For interactive SQL, redo the operation.
For C-ISAM programs, review the program logic and make sure that it can
handle this case, which is a normal event in multiprogramming systems.
You can obtain exclusive access to a table by passing the ISEXCLLOCK flag
to isopen. For SQL programs, review the program logic and make sure that
it can handle this case, which is a normal event in multiprogramming systems.
The simplest way to handle this error is to use the statement SET LOCK
MODE TO WAIT. For bulk updates, see the LOCK TABLE statement and the EXCLUSIVE
clause of the DATABASE statement.

-108 ISAM error: key already exists.

The ISAM processor has been asked to create an index that already exists.
For C-ISAM programs, review the program logic. The program must delete
this existing index before it defines another. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-109 ISAM error: the key is the file’s primary key.

The ISAM processor has been asked to delete the primary key index. For
C-ISAM programs, the isdelindex call cannot delete the primary key. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-110 ISAM error: end or beginning of the file.

Reading rows sequentially, forward or backward, the ISAM processor has
reached one end of the file (table). For C-ISAM programs, this message
is the normal signal for end of file. Use a different retrieval mode of
isread to reposition the file. For SQL products, see the SQL error message
or return code.

-111 ISAM error: no record found.

The ISAM processor cannot locate the requested record. For C-ISAM programs,
no record was found with the requested index value or record number, depending
on the retrieval mode in use. Make sure that the correct index is in use.
For SQL products, see the SQL error message or return code. Probably no
row was found for this query.

-112 ISAM error: there is no current record.

The ISAM processor has been asked to return the current record, but none
has been established. For C-ISAM programs, review the program logic. Before
the program uses the ISCURR retrieval mode, it must use another retrieval
mode, such as ISFIRST, to establish a current record. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-113 ISAM error: the file is locked.

Another user request has opened the file (table) that was requested in
exclusive mode. In systems that use files for locking, a tablename.lok
file exists. Possibly such a file was left behind when another program
terminated abnormally. If you are sure that is the case, you can release
the lock by emptying that file. Lock files are not used in many systems,
and they are never used with Informix Dynamic Server or INFORMIX-OnLine
Dynamic Server.

This error occurs with Informix Dynamic Server or INFORMIX-OnLine
Dynamic Server when a user attempts to access a table that has been
locked.

For C-ISAM programs, rerun the program after the file is unlocked.
For SQL products, tables are locked explicitly using the LOCK TABLE
statement and implicitly during the execution of the CREATE INDEX or
ALTER TABLE statement. Rerun the program or query when the table is
unlocked.

If you get this error (-113) when using a transaction isolation mode
of REPEATABLE READ or SERIALIZABLE, and if your query did not use an
index (and therefore had to use a sequential scan of the entire table),
the cause of the error might be that another user had either an exclusive
lock or a promotable lock on at least one row in the table. If you are
in REPEATABLE READ or SERIALIZABLE mode and your query requires a scan
(search) of every single record in the table to find all the records
that meet the conditions in the WHERE clause, then the engine will need
to lock every record in the table to maintain the repeatability of the
read. In practice, rather than locking every single record, the engine
will try to lock the entire table. But if there are any exclusive locks,
or even promotable locks, on any row in the table, then the engine will
not be able to get a shared lock on the entire table, and the query
will fail.

-114 ISAM error: the file name is too long.

The ISAM processor has been asked to open or create a file with a filename
longer than 10 characters. For C-ISAM programs, this length exceeds the
maximum for the product. Choose a shorter filename. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-115 ISAM error: cannot create lock file.

The ISAM processor has been asked to access a file or row using locking.
Because this operating system uses files for locking, ISAM must create
a tablename.lok file. When it tried to do so, it received an error code
from the operating system. The disk might be full, or your account might
not have write permission in the relevant directory. Look for operating-system
error messages that might give more information.

-116 ISAM error: cannot allocate memory.

The ISAM processor needed to allocate memory for data storage but was
unable to do so. A problem may exist in the operating system; look for
operating-system error messages that might give more information. One
cause of this error might be selecting a row that contains large BYTE
or TEXT columns into a temporary table or as part of an INSERT or UPDATE.
In some releases, an entire row that includes BLOB values is buffered
in memory. For C-ISAM programs, review the program to look for ways that
it can use less memory. For SQL products, simplify the program, form,
or report if possible.

-117 ISAM error: bad custom collating sequence.

No current Informix product displays this message. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-118 ISAM error: cannot read log record.

The ISAM processor is trying to roll back a transaction or recover a file
but has encountered an error while reading the transaction log. Look for
operating-system error messages that might give more information. Use
the dblog or selog utility to get more information about the problem.
If the file (table) cannot be recovered, you will have to re-create it
or restore it from backup.

-119 ISAM error: bad log record.

The ISAM processor is trying to roll back a transaction or recover a file
but has encountered bad data in a transaction log record. The dblog or
selog utility can be used to get more information about the problem. If
the file (table) cannot be recovered, you will have to re-create it or
restore it from backup.

-120 ISAM error: cannot open log file.

The ISAM processor is trying to open the transaction log file but has
received an error from the operating system. Look for operating-system
error messages that might give more information. For C-ISAM programs,
review the parameter passed to islogopen. Make sure that it specifies
the correct filename of an existing, writable log file and that it includes
a path if the file is not in the current directory. For SQL products,
the START DATABASE statement establishes the transaction log file. Make
sure that the log file still exists in the same directory location as
when START DATABASE was issued and that your account has write access
to it.

-121 ISAM error: cannot write log record.

The ISAM processor is trying to add a record to the transaction log but
has received an error from the operating system. The disk might be full.
Look for operating-system error messages that might give more information.
The transaction-log file can grow quite large. To reduce its size, you
must do two things. First, make a backup copy of the data file (for C-ISAM)
or all database files (for SQL). Second, make the transaction-log file
an empty file. If you perform these steps routinely, you can control the
size of the log file.

-122 ISAM error: transaction not available.

The ISAM processor has been asked to mark the start or end of a transaction,
but transaction logging is not in effect. For C-ISAM programs, this file
was not opened with logging. Review the calls to isopen, and make sure
that the ISTRANS parameter is included. For SQL products, this database
does not support transaction logging. If you are using the database server,
have the database server administrator enable logging for this database.
Otherwise, use the START DATABASE statement to begin transaction logging.
In all cases, logging should only start immediately after the database
has been fully backed up.

-123 ISAM error: no shared memory.

This implementation of ISAM uses shared memory; however, the shared-memory
partition has not been established. Contact the system administrator or
the person who installed the product.

-124 ISAM error: no begin work yet.

The ISAM processor has been asked to mark the end of a transaction, but
no transaction has been started. For C-ISAM programs, review the program
logic to make sure that it calls isbegin before it calls iscommit or isrollback.
For SQL products, make sure that you execute BEGIN WORK before COMMIT
WORK or ROLLBACK WORK.

-125 ISAM error: can’t use nfs.

The ISAM processor has been asked to open a file that is located on a
disk attached to another computer and that is accessed using the Network
File System (NFS). This action is not supported. Database files must be
on disks that are physically attached to the computer on which the ISAM
processor is running. To use a database on a different computer, you must
install the INFORMIX-STAR or INFORMIX-NET networking software. Then an
application on this computer can communicate with a database server that
is running on the computer to which the disks are attached.

-126 ISAM error: bad row id.

The ISAM processor was asked to retrieve a row by its physical location
but could not find a row at that location.

For C-ISAM programs, if you are using access by record number, review
the number stored in isrecnum; it is invalid. Otherwise, the current
index might be damaged; run the bcheck or secheck utility.

For SQL products, the index has been damaged. Run the oncheck utility
to check and repair the index if you are using Informix Dynamic Server
2000, Informix Dynamic Server, INFORMIX-Universal Server, or INFORMIX-OnLine
Dynamic Server. Run bcheck or secheck if you are using the INFORMIX-SE
database server. Run tbcheck if you are using the INFORMIX-OnLine database
server.

-127 ISAM error: no primary key.

The ISAM processor was called for a function that requires a unique primary-key
index, but no such index exists for this file. For C-ISAM programs, review
the design of the data file; it was created with a zero-part primary index
(that is, for retrieval by record-number sequence). If that is not the
case, the index might be damaged; run the bcheck or secheck utility. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-128 ISAM error: no logging.

The ISAM processor was called for a function that requires a transaction
log, but none exists for this file. For C-ISAM programs, review the creation
of the data file. Before the program uses functions such as isbegin, it
must set up a log using islogopen. For SQL products, this database does
not support transaction logging. If you are using the database server,
have the database server administrator enable logging for this database.
Otherwise, use the START DATABASE statement to begin transaction logging.
In all cases, start logging only immediately after the database has been
fully backed up.

-129 ISAM error: too many users.

This implementation of ISAM uses shared memory, and it has reached the
maximum number of concurrent users for which the shared memory was configured.
You might need to increase the value of the USERTHREADS and TRANSACTIONS
configuration parameters in the ONCONFIG file. If the problem recurs,
contact the system administrator or the person who installed the product.

The word users can be misleading; the limit is on the number of concurrent
application programs using the database server. It is possible for one
user to start multiple applications at the same time. For example, when
a user starts the INFORMIX-4GL Programmer’s Environment, it opens a
session with the database server. When that user issues a command to
compile a 4GL program, the 4GL compiler starts and also opens a session
with the database server. During a compile, this user has two sessions
running.

-130 ISAM error: no such dbspace.

This code indicates one of two problems. The most likely problem is that
this operation specifies a dbspace by name (for example, in the IN clause
of a CREATE TABLE statement or in the DBSPACETEMP environment variable
setting), but that name has not been defined. You can run the tbstat or
onstat utility with the -d option to see the names of defined dbspaces.
Ask the database server administrator about creating a new dbspace.

If the operation does not explicitly name a dbspace, or if the name
is correct, the problem might be more serious. The error might reflect
corruption of reserved pages in the root dbspace. Use the tbcheck or
oncheck utility with the -cr option to check for this condition.

-131 ISAM error: no free disk space.

Not enough contiguous free disk space is available to complete the current
operation. For C-ISAM programs, if transaction logging is in use, roll
back the current transaction. Make some disk space available, and run
the program again. For SQL products, roll back the current transaction,
if possible. Contact the system administrator about acquiring more disk
space for databases.

-132 ISAM error: rowsize too big.

The limit on a single row is the disk page size that the database server
supports.

Define the table differently, so that each row is shorter. Consider
splitting the table into two or more tables or using more compact data
types.

-133 ISAM error: audit trail exists.

The ISAM processor has been asked to operate on a file in a way that is
incompatible with an audit trail, yet an audit trail exists for the file.
For C-ISAM programs, you cannot call iscluster while an audit trail exists.
First call isaudit with the AUDSTOP mode. For SQL products, you cannot
create a clustered index on a table while it has an audit trail. First
use the DROP AUDIT statement to drop the audit trail.

-134 ISAM error: no more locks.

The ISAM processor needs to lock a row or an index page, but no locks
are available. The number of locks that an operation requires depends
primarily on the number of rows that a single transaction modifies. You
can reduce the number of locks that an operation needs by doing less in
each transaction or by locking entire tables instead of locking rows.
Depending on the implementation that you are using, the number of locks
that is available is configured in one of three places: the operating-system
kernel, the shared-memory segment, or the database server. Consult your
database server administrator about making more locks available.

-135 ISAM error: tblspace does not exist.

This error might indicate corruption of control information in the root
dbspace, a serious problem that might require restoring the system from
archive. In the short term, roll back the current transaction, and terminate
the application. Then the database server administrator should run the
tbcheck, oncheck, or onutil utility.

-136 ISAM error: no more extents.

The database server needs to add an extent to a table but cannot do so.
Either not enough disk space is available in the dbspace, or the table
has been given the maximum number of extents that is allowed. The database
server administrator can determine the cause as follows:

1. Determine the tblspace number for the table. It is the
value in the partnum column of the systables table for this table.

2. Convert the tblspace number to hexadecimal and extract
its most-significant 2 digits (the high-order byte). This chunk number
indicates where the table resides.

3. Use the tbstat or onstat utility -t option to find out
disk usage for this table. Note particularly the values reported for
npages (disk pages available), nused (disk pages used), and nextns (number
of extents).

If nused is less than npages, and nextns is large (over 200), the table
has too many extents. The upper limit of extents per table is between
200 and 50. The limit varies with the table definition and the disk-page
size in use. Reallocate the table using fewer, larger extents. Unload
the table data to a flat file. Drop the table. Re-create the table, specifying
a first-extent size sufficient to hold all its current data and a next-extent
size between one-fourth and one-sixteenth its current size. Then reload
the data into the table.

If nextns is small or the difference between npages and nused is less
than the size of the next-extent size for the table, not enough disk
space is available in the dbspace where the table resides. Use the chunk
number from step 2 and the ON-Monitor or ON-Monitor Chunks display to
determine the dbspace, then add a new chunk to that dbspace.

-137 ISAM error: chunk table overflow.

The database system administrator sees this error message. The database
server is configured to handle a certain number of disk chunks. The limit
has been reached, so a chunk could not be added. Increase the CHUNKS parameter
of the TBCONFIG or ONCONFIG file, and initialize shared memory.

-138 ISAM error: dbspace table overflow.

The database server administrator sees this error message. The database
server is configured to handle a certain number of dbspaces. The limit
has been reached, so a dbspace could not be added. Increase the DBSPACES
parameter of the TBCONFIG or ONCONFIG file, and initialize shared memory.

-139 ISAM error: logfile table overflow.

The database server administrator sees this error. The database server
is configured to handle a certain number of logical logs. The limit has
been reached, so a log could not be added. Increase the LOGSMAX parameter
of the TBCONFIG or ONCONFIG file and initialize shared memory.

-140 ISAM error: operation illegal on a DR secondary.

A DR secondary server is meant for read-only operations. Any kind of write
operation to a nontemporary dbspace is not allowed. For example, you cannot
create a table in a regular dbspace, and you cannot do an insert, update,
or delete operation on a table in a regular dbspace.

Review your application logic and rewrite it to remove any operations
that would write to a nontemporary dbspace.

-140 ISAM error: global section disallowing access.

This error occurs only in the VMS operating system. An internal error
occurred during initialization of shared memory. If the error recurs,
note all circumstances and contact Informix Technical Support.

-141 ISAM error: tblspace table overflow.

The database server is configured to handle a certain number of open tblspaces
(which correspond approximately to tables). This limit has been reached,
so a table that is used in this statement could not be opened. In the
short term, roll back the current transaction and then re-execute it when
fewer concurrent operations are going on. To prevent recurrence, the database
server administrator should configure the system to handle more open tblspaces.
The TBLSPACES parameter of the TBCONFIG or ONCONFIG file sets the limit.
The ovrtable count in the ON-Monitor or ON-Monitor Profile display reflects
the number of times this error occurs.

-142 ISAM error: overflow of tblspace page.

An internal error (probably obsolete) occurred. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-143 ISAM error: deadlock detected.

The database server has detected an impending deadlock between your request
and other, concurrent user requests. Each user request is waiting for
a resource (a row or disk page) that is held by another request in the
chain; if your requested operation went forward, the chain would be closed
and all requests would be deadlocked. In the short term, treat this error
the same as -107 (record is locked). Roll back the current transaction,
and re-execute it after a delay. To prevent recurrence, review the design
of the applications that use the same tables and execute concurrently.
Various design strategies can minimize the probability of deadlock.

When INFORMIX-STAR is active, and your application is using tables
in both this system and another system, deadlock detection is no longer
deterministic but probabilistic, based on the duration of a delay waiting
for resources in another system. The database server administrator can
set the length of the delay after which deadlock is assumed.

-144 ISAM error: key value locked.

The current operation inserts a row with a certain primary key value or
updates a row with a certain primary key value, but a transaction that
has not yet been committed has deleted that key value from the index.
This error occurs only when the lock mode is set to NOT WAIT. Treat it
the same as error -107 (record is locked). Roll back the current transaction,
and re-execute it after a delay. Then, if the other transaction was committed,
the lock no longer exists. If it was rolled back, the key exists, and
this operation receives a duplicate-key error.

-145 ISAM error: system does not have disk mirroring.

The database server administrator sees this error. This database server
has not been initialized to support disk mirroring. Before you can add
a mirror chunk, you must reconfigure the database server to support mirroring.

-146 ISAM error: the other copy of this disk is currently disabled
or non-existent.

The database server administrator sees this error. You must bring the
other chunk of this mirror pair to on-line status before you can take
this chunk off line.

-147 ISAM error: archive in progress.

The database server administrator sees this error. The action that you
have requested cannot be carried out while an archive is being made. For
example, you cannot add a log or a mirror during archiving. Cancel the
archive or wait until it is complete, and then reissue the command.

-148 ISAM error: dbspace is not empty.

The database server administrator sees this error. You cannot remove a
dbspace until all tables that are in it have been dropped. To find the
names of remaining tables, use the tbcheck or oncheck utility with the
-pe option; its report lists tables by chunk within dbspaces.

-149 ISAM error: INFORMIX-OnLine daemon is no longer running.

Your application was in communication with the database server, but the
database server is no longer running. Your current transaction will be
rolled back when the database server goes through fast recovery as it
next starts up. Terminate the application, and contact the database server
administrator to find out what happened and when the database server will
be restarted.

-150 The limits of the INFORMIX Demo Version have been exceeded.

You are using a demonstration version of the database server. This version
has severe limits on the number of tables and the size of the tables that
it can manage. The current operation causes it to exceed one of those
limits. Contact your Informix representative about buying the production
version of the software.

-151 ISAM error: Illegal value in varchar length field.

This internal error occurs when the leading byte in a VARCHAR column on
disk indicates a VARCHAR length greater than the column was defined to
hold when the column was created. If the error recurs, please refer to
the Appendix entitled «Trapping Errors» in your Administrator’s Guide
to acquire additional diagnostics. Contact Informix Technical Support
with the diagnostic information.

-152 ISAM error: Illegal message type received from remote process.

This internal error should not occur. Note all the details about the network
software in use and the version level of the database servers in this
and the other host system. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-153 ISAM error: not in ISMANULOCK mode.

The ISAM processor has been asked to lock or unlock the current file (table),
but the file was not opened in the appropriate mode. For C-ISAM programs,
review the uses of isopen, and make sure that the ISMANULOCK flag is passed
when the program opens a table for manual locking. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-154 ISAM error: Lock Timeout Expired.

This network operation has been suspended, awaiting a response from another
database server, for the maximum duration allowed. The local database
server assumes that a distributed deadlock exists and that this user request
is awaiting a resource that was locked by a user in a different system,
which is awaiting a resource that this user owns. Roll back the current
transaction, and retry it after a delay. If this error occurs frequently,
ask the database server administrator to adjust the length of the deadlock
time-out interval.

This code is also returned when an explicit wait time limit expires;
that is, if you have SET LOCK MODE TO WAIT 3, and your request is queued
for more than 3 seconds for a lock, the operation ends with this ISAM
error code.

-155 ISAM error: Primary and Mirror chunks are bad.

The primary chunk (and the mirror chunk, if one exists) are unusable.
Roll back the current transaction and terminate the application. Contact
the database server administrator. New disk chunks must be defined, and
then the system must be restored.

-157 ISAM error: Interrupted ISAM call.

An interrupt that was detected from client process has terminated the
operation. Restart the operation.

-158 ISAM error: Operation disallowed on SMI pseudo table.

You have attempted an SQL operation that is not supported on System Monitoring
Interface (SMI) pseudo tables. Try another operation.

-159 ISAM error: Collation sequence invalid.

You are attempting to use a collation sequence that is either not supported
or does not match the sequence originally used to create the ISAM file.
Use islanginfo() to determine the language of the ISAM file.

-160 ISAM error: only one TEXT or BYTE field may be open at any time.

This internal error should not occur. The database server has called the
isbopen function twice in a row. If the error recurs, please note all
circumstances and contact Informix Technical Support.

-161 ISAM error: no TEXT or BYTE field is open.

This internal error should not occur. The database server has called a
TEXT or BYTE function without first calling isbopen. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-162 ISAM error: Storage space does not exist.

The most likely cause of this error is that the current statement attempts
to define a BYTE or TEXT column using the clause IN blobspace, but no
storage space of that name has been defined. However, if the storage space
was correctly spelled and should exist, a reserved page in the root dbspace
might have been corrupted. In that case, the database server administrator
should run tbcheck -cr, oncheck -cr, or onutil to check the situation.
If the statement makes no reference to TEXT or BYTE columns, possibly
the root dbspace is full or corrupted; contact the database server administrator
for further help.

-163 ISAM error: begin and end page stamps are different.

The database server is reporting evidence of corruption of the database.
Each disk page has time stamps at each end that should be identical when
the page is read from disk. This test of data integrity has failed, indicating
either that a disk page was not fully written to disk or that one has
been partially overwritten on disk or in memory. In any case, you should
roll back the current transaction and terminate the application. Then
notify the database server administrator, who should run the tbcheck,
oncheck, or onutil utility to get more information about the failure.

-164 ISAM error: TEXT or BYTE stamp is incorrect.

This operation has returned an invalid BYTE or TEXT value. Possibly the
data pages have been corrupted. Roll back the current transaction. Have
the database server administrator use tbcheck -D, oncheck -D, or onutil
to get more information about the problem.

If the program is operating with Dirty Read or Committed Read isolation,
this code might indicate that another process or thread has deleted
the BYTE or TEXT value and its pages have been partly reallocated to
an unrelated value. A program using Dirty Read isolation can read rows
that have been deleted if the deletion has not yet been committed. If
the deletion is committed while the program is reading a BYTE or TEXT
value, and if the space allocated to the value is reused for some other
program, this error code might be returned.

When a program uses Committed Read isolation, it does not see a row
that has been marked for deletion; however, no lock is placed on a row
that is not read for update. BYTE or TEXT data is read in a second step,
after the row has been fetched. During this lengthy step, it is possible
for another program to delete the row and commit the deletion and for
the storage space to be reused. To determine if this has occurred, the
program should stop processing the BYTE or TEXT value and reread the
row. If the program can no longer read the other fields in the row,
the row has been deleted. If the program can still read the row, the
storage space is corrupted.

-165 ISAM error: TEXT or BYTE column does not exist.

This internal error should not occur. The database server has called the
isbcreate function for a table column that is not defined as BYTE or TEXT.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-166 ISAM error: Storage space is full.

This operation attempts to insert or update the value of a BYTE or TEXT
column, but not enough space is available in the storage space in which
that column is stored. Roll back the current transaction, and terminate
the application. Then ask the database server administrator to add a chunk
of disk space to this storage space.

When BYTE and TEXT values are deleted or replaced, the pages that
they occupy in the storage space do not become available for reuse until
the logical log in which that transaction appears has been freed. A
logical log has been freed if the log is backed up to tape and all transactions
in the log are closed.

-167 ISAM error: Storage-space size is not multiple of PAGESIZE.

The database server administrator sees this error. When you define a storage
space, you must specify a page size that is an integral multiple of the
system page size. The system page size is set in the Parameters screen
when the database server is first initialized.

-168 ISAM error: archive is blocking storage space allocation.

Allocation of disk pages in a storage space is frozen while an on-line
archive is being made. Therefore, pages that contain TEXT or BYTE data
at the time that the archive began are not freed and overwritten by new
pages before they can be written to the archive tape. As soon as all the
used pages in the chunk are archived, allocation in that chunk can resume.
Normal row data can go on changing while the archive is being made because
changed dbspace pages can be written, or rewritten, on the tape at any
point.

-169 ISAM error: Pages for TEXT or BYTE data can’t be allocated from
a chunk until chunk add is logged.

When a storage space containing TEXT or BYTE data has been extended by
adding a new chunk, no pages can be allocated until the log record showing
the addition of the chunk has been logged. If this rule were not enforced,
certain anomalies could occur during recovery. You do not have to wait
until the log is full; you can run the tbmode or onmode utility with the
-l option to force a switch to the next log.

-170 ISAM error: illegal use of a storage space for TEXT or BYTE
data.

You attempted to add a log to a storage space for TEXT or BYTE data. You
can add logs only to dbspaces.

-171 ISAM error: ISAM file format change detected.

A program that uses a particular locking method or index-node size has
attempted to access an ISAM file that was created using a different locking
method or index-node size.

If you are migrating files from a platform that uses another index-node
size, you must run the bcheck or secheck utility with the -s option
against all of the ISAM files (.dat and .idx) to resize the index nodes.

For INFORMIX-SE, if you are migrating applications between platforms
that use different locking methods, you must set the environment variable
RESETLOCK to convert ISAM files as you access them. You can access all
files for a given database by running UPDATE STATISTICS in that database,
if time permits.

For C-ISAM applications, if you are migrating applications between
platforms that use different locking methods, you must set the environment
variable RESETLOCK to convert C-ISAM files as you access them.

-172 ISAM error: Unexpected internal error.

You encountered an unanticipated internal event. Consult the online.log
to see if the diagnostics preserved any additional information regarding
this event. If the error recurs, refer to your Administrator’s Guide to
acquire additional diagnostics. Contact Informix Technical Support with
the diagnostic information.

-173 ISAM error: An error has occurred during logical log back up.

This generic message indicates that the logical-log backup has failed.
The SQL API also contains useful error text that is associated with this
error.

-174 ISAM error: An error has occurred during archive back up.

This generic message indicates that the archive backup has failed. The
SQL API also contains useful error text that is associated with this error.

-175 ISAM error: An error has occurred during physical restore.

This generic message indicates that the physical restore has failed. The
SQL API also contains useful error text that is associated with this error.

-176 ISAM error: An error has occurred during logical restore.

This generic error indicates that the logical restore has failed. The
SQL API also contains useful error text that is associated with this error.

-178 ISAM error: Database is locked; pending change to logging mode.

A request has been made to change the logging status of a database. Until
a level-0 archive is done for all the storage spaces that the database
uses, access to the database is blocked.

-179 ISAM error: No free disk space for sort.

While performing a sort, the database server did not find enough contiguous
free disk space to create necessary temporary files. You might have insufficient
disk space and need to make more disk space available before you run the
program again. You might have made an error when you specified the names
of temporary dbspaces in DBSPACETEMP or directory names in PSORT_DBTEMP.
Check the spelling of your temporary space names as specified in DBSPACETEMP.
If you specified multiple temporary dbspaces, check that you used colons
(:) or commas (,) as delimiters.

-181 ISAM error: No Optical Subsystem connection.

The Optical subsystem is not present. This message usually means that
you requested an Optical operation on a database server that is being
used without the Optical subsystem or INFORMIX-OnLine/Optical.

-182 ISAM error: Duplicate optical BLOBSpace name.

A storage space for TEXT or BYTE data has been defined with the same name
as an Optical family name.

-187 ISAM error: User Defined Routine execution failed.

A user-defined routine (UDR) failed to execute properly. Typically, this
occurs when the UDR raises an error.

For more specific information, see the message log.

-188 ISAM error: Cannot add transaction logging on a DR primary with
DR on.

Transaction logging cannot be added to a database on the primary database
server of a data replication (DR) pair while data replication is in use.
Data replication has to be turned off for transaction logging to be added.

Adding transaction logging to a database after turning DR off requires
bringing up the DR pair again through a level-0 archive on the primary
database server and its physical restore on the secondary database server.
Restarting DR is necessary to avoid DR failures due to inconsistencies
between the primary and secondary database servers, caused by the addition
of transaction logging.

-190 ISAM error: Transaction table overflow.

No more slots are available in the transaction table. To see this table,
run onstat with the -x option.

-191 ISAM error: No such chunk.

The chunk that was specified to be dropped does not exist.

-192 ISAM error: Can not drop first chunk.

The first chunk of a storage space is never a candidate to be dropped.
Select a different chunk.

-193 ISAM error: Chunk is busy.

Logical recovery cannot roll forward a chunk add because the chunk already
exists. This error results when the chunk is dropped from a storage space,
or the space is dropped, and the chunk is reused for another storage space
without a level-0 backup performed first.

-194 ISAM error: Chunk not empty.

A chunk is not empty and therefore cannot be dropped.

-196 ISAM error: Operation not allowed in temporary dbspace.

An operation was executed on a temporary dbspace that required functionality
that temporary dbspaces do not provide (most likely logging). Use a nontemporary
dbspace for this operation.

-197 ISAM error: Partition recently appended to; can’t open for write
or logging.

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

-198 Cannot alter table. Too many in-place alters of the table in
progress.

Informix limits the number of outstanding in-place ALTER TABLE requests
to 255. A 256th in-place alter of a table was requested before the completion
of the first in-place alter. Completion means that all rows of the table
in the first in-place alter have been physically altered.

To recover from this error, you must take one of the following steps:

  • Wait until the first in-place alter is complete, and issue another
    in-place ALTER TABLE statement.
  • Change the format of the ALTER TABLE statement to request an alter
    that does not add columns to the end of the table. Such a statement
    will use the older algorithm instead of the in-place alter algorithm.
  • Perform an update of each row in the table to force the outstanding
    alters to complete. Because rows are only modified to the latest schema
    as they are updated, the only way to force an in-place alter to complete
    physically is to update each row in the table. To accomplish this
    result, use a dummy update in which a column in the table is set to
    its own value. The dummy update forces the row to be updated to the
    latest schema in the process without actually changing column values.
    Rows are always altered to the latest schema, so a single pass through
    the table that updates all rows will complete all outstanding in-place
    alters.

-199 ISAM error: Dbspace is full.

The dbspace is full. If you are adding a logical log through onparams,
there is not enough space in the dbspace for a log of the size specified.
This error also occurs if you attempt to create a temporary table with
log (the default log setting for temporary tables) when the DBSPACETEMP
variable in ONCONFIG is set to TEMP or NOTCRITICAL.

To add the logical log, either add one or more chunks to the dbspace
or specify a smaller log size.

To create temporary tables, either set DBSPACETEMP to ALL or create
temporary tables with no log.

-199 Smart Disk Error.

An error has occurred with the Smart Disk system. For more information,
see the accompanying message.

-200 Identifier is too long.

An SQL identifier exceeded the maximum number of characters. In Informix
Dynamic Server 2000, the maximum length for identifiers in SQL statements
is 128 characters. In other Informix database servers, the maximum length
for identifiers in SQL statements is 18 characters.

Check that no identifier in the statement is longer than the maximum
length and that no punctuation error, such as a missing space or comma,
combines two identifiers into one.

-201 A syntax error has occurred.

This general error message indicates mistakes in the form of an SQL statement.
Look for missing or extra punctuation (such as missing or extra commas,
omission of parentheses around a subquery, and so on), keywords misspelled
(such as VALEUS for VALUES), keywords misused (such as SET in an INSERT
statement or INTO in a subquery), keywords out of sequence (such as a
condition of «value IS NOT» instead of «NOT value IS»), or a reserved
word used as an identifier.

Database servers that provide full NIST compliance do not reserve
any words; queries that work with these database servers might fail
and return error -201 when they are used with earlier versions of Informix
database servers.

The cause of this error might be an attempt to use round-robin syntax
with CREATE INDEX or ALTER FRAGMENT INIT on an index. You cannot use
round-robin indexes.

-202 An illegal character has been found in the statement.

A character that cannot be interpreted as part of an SQL statement is
embedded in this statement. If a program constructed the statement, the
character might be a nonprinting control character. Make sure the statement
contains only printable ASCII characters, and reexecute it.

-203 An illegal integer has been found in the statement.

Where an integer value is expected, an unacceptable numeric constant appears.
Inspect the statement and look for numbers that should be integers but
that contain a decimal point or the letter e or that are larger than 2,147,483,647
((2 to the 31st power) — 1).

-204 An illegal floating point number has been found in the statement.

A numeric constant that is punctuated like a floating-point number (with
a decimal point and/or an exponent starting with e) is unacceptable. Possibly
the exponent is larger than can be processed.

-205 Cannot use ROWID for views with aggregates, group by or on multiple
tables.

The keyword ROWID stands for a virtual column that exists only in simple
tables. This message refers to the ROWID of a table that is actually a
view that is based on a selection involving aggregate functions, grouping,
or a join of two or more tables. Such query products do not have ROWID
columns. Therefore this view does not have a ROWID, even though it appears
to be a table. In order to use ROWID in a query, you have to apply the
query to the tables that underlie the view.

-206 The specified table is not in the database.

The database server cannot find a table or view specified in the statement.
The table or view might have been renamed or dropped from the database.

Check the names of tables and views in the statement. If the names
are spelled as you intended, check that you are using the database you
want. To find the names of all tables in the database, query the systables
table. To find the names of all views, query the sysviews table.

-207 Cannot update cursor declared on more than one table.

The cursor that is used in this statement was declared FOR UPDATE but
with a SELECT statement that joins two or more tables. This action is
not supported; the database server does not know how to distribute update
values across multiple tables. If you declared the SELECT statement with
the cursor, modify either it or the FOR UPDATE clause. If a program constructed
the SELECT statement and associated it with the cursor dynamically, the
program should inform its user not to use a multitable SELECT statement
in this application. (This message occurs only with Version 4.0 or earlier.)

-207 Cannot declare a SELECT INTO statement FOR UPDATE.

When you declare a cursor, you may not use both the INTO clause and the
FOR UPDATE clause. To use this cursor to update selected rows, omit the
INTO clause. Instead, use an INTO clause on the FETCH statement (or in
4GL, the FOREACH statement).

-208 Memory allocation failed during query processing.

The database server needed to allocate data-space memory in order to process
the query, but none was available. This error may reflect a hardware limit,
an operating-system configuration limit, or a temporary shortage of space.

Try the query again after a delay. If it still fails, consult your
system administrator. If possible, revise your query to join fewer tables,
to order or group on fewer columns, or to operate in two or more separate
statements. On DOS systems, exit to the operating-system command line,
free some disk space or reduce the complexity of your program, and resubmit
the program.

In versions later than 5.01, only this error message informs you that
the database server is unable to allocate memory.

-209 Incompatible database format.

An obsolete version of the database software built this database. Convert
the database to work with the current software. Use the dbupdate utility.
You will have to run it before you use the data. (This message is not
current since Version 4.0.)

-210 Explicit path name too long.

This statement contains a file pathname that exceeds the maximum length
of 64 characters. Inspect the statement to make sure that the pathname
is that long. It is possible a punctuation error caused other parts of
the statement to be included in the pathname. If this is not the case,
either relocate the file or rename some directories along the path with
shorter names.

-211 Cannot read system catalog .

The database server refers to the tables of the system catalog while it
processes most statements. When it cannot read one of these important
tables, a serious error results. Check the accompanying ISAM error code
for more information. The effect of the error depends on the statement
that is being executed and the particular table, as follows:

  • CREATE TABLE statement, systabauth not read; the table is created,
    but PUBLIC is not granted authorization as it normally is.
  • DROP TABLE statement, systables not read; no action taken.
  • DROP TABLE statement, sysviews not read; the table is dropped but
    any views that depended on the table were not automatically dropped.
  • DROP VIEW statement, sysviews not read; no action taken.
  • DROP INDEX statement, sysindexes or systables not read; no action
    taken.
  • DROP SYNONYM statement, systables or syssynonyms not read; no action
    taken.
  • DROP DATABASE statement, systables not read; no action taken.
  • START DATABASE statement, systables not read; no action taken.
  • DATABASE statement, systables or sysusers not read; the database
    was not selected (no current database; for subsequent operations,
    see error -349).

Other statements might be partially complete before the error is detected.
Roll back the current transaction and then investigate the cause of the
error. Use the oncheck utility (secheck with INFORMIX-SE or tbcheck with
INFORMIX-OnLine) to check and repair indexes. If necessary, restore the
database from backup and logical-log tapes.

-212 Cannot add index.

This statement attempts to add an index, either explicitly with CREATE
INDEX or implicitly as part of processing a SELECT on multiple unindexed
tables. In any case, some error prevents the index from being created.
For more information, check the accompanying ISAM error code. Insufficient
disk space is a common cause of this problem.

-213 Statement interrupted by user.

The database server received an interrupt signal from the user, probably
because the user pressed the interrupt key (usually Delete or Control-C).
The statement ended early. A program should roll back the current transaction
and terminate gracefully. If the statement could modify a table, an interactive
user should execute the ROLLBACK WORK statement to remove any partial
modifications.

-214 Cannot remove file for table table-name.

The database server cannot completely remove the table. Check the accompanying
ISAM error code for more information. Problems with operating-system file
permissions, read-only files, or hardware might cause this error.

-215 Cannot open file for table table-name.

The database server cannot open the operating-system file or files in
which the table is stored. Check the accompanying ISAM error code for
more information. Problems with operating-system file permissions, insufficient
memory, or hardware might cause this error.

-216 Cannot remove index.

The database server cannot completely drop an index. Check the accompanying
ISAM error code for more information. Problems with operating-system file
permissions, read-only files, or hardware might cause this error.

-216 Cannot remove ISAM index on file.

The database server cannot completely drop an index. Check the accompanying
ISAM error code for more information. Problems with operating-system file
permissions, read-only files, or hardware might cause this error.

-217 Column column-name not found in any table in the query (or SLV
is undefined).

The name appears in the select list or WHERE clause of this query but
is not defined in a table and does not appear as a statement local variable
(SLV) definition. Check that the column name or SLV name and the names
of the selected tables are spelled as you intended.

If all names are spelled correctly, you are not using the right tables,
the database has been changed, or you have not defined the SLV. If the
name not found is a reference to a column, that column might have been
renamed or dropped. If the name not found represents an SLV and you
defined the SLV in the statement, make sure that the SLV definition
appears before all other references to that SLV name.

This error message can also appear during the execution of an ALTER
TABLE statement when the engine tries to update views that depend on
the table.

-218 Synonym synonym-name not found.

The synonym is not defined in this database. Check that the name is spelled
as you intended. Check that you are using the right database. If so, the
synonym was probably dropped. Possibly it was dropped automatically when
the table for which it stood was dropped. To display all defined synonyms,
query systables as follows:

SELECT tabname FROM systables WHERE tabtype = ‘s’

-219 Wildcard matching may not be used with non-character types.

The WHERE clause in this statement includes a test of a noncharacter column
using the LIKE or MATCHES keyword and the special characters that stand
for multiple characters (for example, asterisk and question mark in MATCHES
and percent and underscore with LIKE). Use these tests only with columns
that are defined as CHAR or VARCHAR in the database. No automatic data
conversion is provided. Check that the columns in the WHERE clause are
as you intended. If so, the definition of the table(s) has probably changed.

-220 There is no FROM clause in the query.

Every SELECT statement must include a FROM clause to name the table or
tables that it queries. Check that FROM was spelled and that no extra
semicolon ends the statement prematurely. To select only a constant, or
to select the only value of a function that is unrelated to any table
(such as USER or TODAY), you nevertheless have to name a table. You can
select a known row from a system catalog, as in this example.

SELECT ‘today is’, TODAY, ‘and I am’, USER FROM systables

WHERE tabid = 100

The tabid value of the first user-defined table in a database is always
100, so this query always returns exactly one row if any tables are defined.
(Version 4.1 and later produce syntax error -201 when the FROM clause
is missing.)

-220 Cannot begin savepoint.

Version 4.1 and later can detect this internal error. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-221 Cannot build temporary file for new table table-name.

The database server cannot create a temporary disk file. The file should
be created in the directory specified by the DBTEMP environment variable.
If DBTEMP is not defined, the database server searches by default in the
root directory for a subdirectory named tmp in which to create the temporary
disk file. Check the accompanying ISAM error code, and look for operating-system
error messages that might give more information. Possibly your account
does not have write permission in that directory, or the disk might be
full. Since Version 5.01, INFORMIX-SE database server uses the DBTEMP
environment variable, but Informix Dynamic Server and INFORMIX-OnLine
Dynamic Server do not.

-222 Cannot write to temporary file for new table table-name.

The database server created a temporary disk file but received an error
while it attempted to write into the file. Check the accompanying ISAM
error code, and look for operating-system messages that might give more
information. On UNIX systems, the file should have been created in the
directory specified by the DBTEMP environment variable (/tmp by default);
on DOS systems, the file should be in the current directory. Possibly
that disk is full, or a hardware error occurred. Since Version 5.01, the
INFORMIX-SE database server uses the DBTEMP environment variable, but
Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.

-223 Duplicate table name table-name in the FROM clause.

The table name appears twice in the list that follows the word FROM. Review
the statement to see if you intended to name some other table the second
time. If you intended to join a table to itself, use a table alias for
the second and subsequent instances of the table. The following example
shows one way to find customers with the same last name:

SELECT main.lname, main.customer_num, sub.customer_num FROM customer
main, customer sub WHERE main.lname = sub.lname AND main.rowid != sub.rowid

When you use table aliases (the words main and sub in the example),
the table may be selected from two or more times.

-224 Cannot open transaction log file.

The database server cannot open the file in which transaction-log entries
are made. No transactions can start until this file is repaired. (In an
ANSI-compliant database, nothing can be done; in other databases, only
queries can be made.) Report this problem to the database server administrator.
For INFORMIX-SE database servers, check the accompanying ISAM error code,
and look for operating-system error messages that might give more information.
A START DATABASE statement specifies the path to the log file. If the
file has been deleted, you can re-create it as an empty file. If the path
has changed, you can issue a new START DATABASE statement to redefine
it.

-225 Cannot create file for system catalog table-name.

The database server is trying to create one of the tables for the system
catalog, probably as part of a CREATE DATABASE statement. A problem with
the host operating system prevents it. Check the accompanying ISAM error
code for more information, and look for operating-system error messages.
A shortage of disk space or operating-system file-access permission problems
probably caused this error.

-226 Cannot create index for system catalog table-name.

The database server is trying to create one of the tables for the system
catalog, probably as part of a CREATE DATABASE statement. It created the
table, but a problem with the host operating system prevents it from making
an index. Check the accompanying ISAM error code for more information,
and look for operating-system error messages. Insufficient disk space
probably caused this error.

-227 DDL operations on ROWID prohibited.

This statement attempts to change the column named ROWID. That column
is a part of every table except a fragmented table. You can select it
with a SELECT statement and compare it in a WHERE clause, but you cannot
alter it with a DDL statement.

-228 UPDATE or INSERT on ROWID prohibited.

This statement names the column ROWID in the list of columns for insertion
or update. The row ID is an intrinsic property that cannot be modified.
You can select it in a SELECT statement and compare it in a WHERE clause,
but you cannot modify its contents.

-229 Could not open or create a temporary file.

The database server cannot create a temporary disk file. The file should
be created in the directory that the DBTEMP environment variable specifies
(or /tmp by default on UNIX systems). Check the accompanying ISAM error
code and look for operating-system error messages that might give more
information. Possibly your account does not have write permission in that
directory, or the disk is full. Since Version 5.01, the INFORMIX-SE database
server uses the DBTEMP environment variable, but Informix Dynamic Server
and INFORMIX-OnLine Dynamic Server do not.

On a UNIX system, try increasing the maximum number of open files
(NFILES parameter on some systems) to approximately 400.

-230 Could not read a temporary file.

The database server created a temporary file in the directory specified
by the DBTEMP environment variable (or /tmp by default on UNIX systems)
but encountered an error when it tried to read the file back. Check the
accompanying ISAM error code, and look for operating-system error messages
that might give more information. Possibly a hardware failure occurred,
or possibly another user erased the temporary file accidentally. Since
Version 5.01, the INFORMIX-SE database server uses the DBTEMP environment
variable, but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server
do not.

-231 Cannot perform aggregate function with distinct on expression.

This statement selects DISTINCT (expression) within an aggregate function.
This action is not supported. Select the DISTINCT value and other columns
into a temporary table; then select ALL from that table applying the aggregate
function.

-232 A SERIAL column column-name may not be updated.

You cannot alter the contents of a column with the SERIAL data type in
the UPDATE statement, even when the updating value is zero. (You can specify
a value of zero for a serial column when you use the INSERT statement;
the database server ignores the zero and inserts a generated number.)
Revise the statement so that only nonserial columns are updated.

-233 Cannot read record that is locked by another user.

Another user has locked a row that this statement selects. If you executed
the statement interactively, you can do one of two things. You can wait
a short time and reenter the statement. Or you can execute the statement
SET LOCK MODE TO WAIT, after which you will rarely see this message again.

In a program, you should roll back the current transaction, wait for
an interval of random length, and rerun the transaction. If you run
the transaction with a LOCK MODE of WAIT, you can reduce the frequency
of this error. But it can still arise in some cases, such as when deadlock
is detected. An ISAM error code (-107, -113, -134, -143, -144, or

-154) usually accompanies this error, and a program might need to
make a different response to each of these errors.

-234 Cannot insert into virtual column column-name.

This INSERT statement is directed to a view, not to a real table, and
one of the columns that is defined in the view is actually the value of
an expression. Insertions and updates are not allowed on views that have
such columns. Apply the INSERT to the real table on which the view is
based.

-235 Character column size is too big.

This statement specifies a width for a column of CHAR data type that is
greater than 32,767, or a width for a VARCHAR column that exceeds 255.
If you need a column of this size, use the TEXT data type, which allows
unlimited lengths. Otherwise, inspect the statement for typographical
errors.

-236 Number of columns in INSERT does not match number of VALUES.

Each column that is named or implied in an INSERT statement must have
a separate value expression. If the statement does not list specific columns,
review the definition of the table for the number of columns and their
data types. Also check that the list of expressions in the VALUES clause
has no extra or missing comma that might result in an incorrect number
of values. Be especially careful of long character strings and expressions
with parentheses.

-237 Cannot begin work.

The database server cannot execute a BEGIN WORK statement. Check the accompanying
ISAM error code for more information. A problem probably exits in accessing
the transaction log.

-238 Cannot commit work.

The database server cannot execute a COMMIT WORK statement. Check the
accompanying ISAM error code for more information. A problem probably
exists in accessing the transaction log.

-239 Could not insert new row — duplicate value in a UNIQUE INDEX
column.

The row that is being inserted (or being updated to have a new primary
key) contains a duplicate value of some row that already exists, in a
column or columns that are constrained to have unique values. Another
cause of this error might be a locking conflict if the table lock mode
is page. The new or updated row is not inserted.

Roll back the current transaction and execute it again without any
duplicate rows or with the locking conflict resolved.

If you are using repeatable read isolation, then the error could be
due to a unique constraint being violated. Please refer to error -268.

-240 Could not delete a row.

The database server cannot finish execution of a DELETE statement. Roll
back the current transaction; then check the accompanying ISAM error code
for more specific information.

-241 Cannot rollback work.

The database server cannot execute a ROLLBACK WORK statement. Check the
accompanying ISAM error code for more information. A problem probably
exists in accessing the transaction log.

-242 Could not open database table table-name.

The database server cannot begin reading a table. Check the accompanying
ISAM error code for more information. The problem might be file permissions,
a hardware error, or a corrupted system catalog. Unless the ISAM error
code or an operating-system message points to another cause, run the bcheck
or secheck utility to verify file integrity.

-243 Could not position within a table table-name.

The database server cannot set the file position to a particular row within
the file that represents a table. Check the accompanying ISAM error code
for more information. A hardware error might have occurred, or the file
might have been corrupted (truncated). Unless the ISAM error code or an
operating-system message points to another cause, run the bcheck or secheck
utility to verify file integrity.

-244 Could not do a physical-order read to fetch next row.

The database server cannot read the disk page that contains a row of a
table. Check the accompanying ISAM error code for more information. A
hardware problem might exist, or the table or index file might have been
corrupted. Unless the ISAM error code or an operating-system message points
to another cause, run the bcheck or secheck utility to verify file integrity.

-245 Could not position within a file via an index.

The database server encountered an error when it attempted to look up
a row through an index. Check the accompanying ISAM error code for more
information. The table file or the index file might have been corrupted.
Unless the ISAM error code or an operating-system message points to another
cause, run the oncheck or bcheck utility to verify file integrity.

-246 Could not do an indexed read to get the next row.

The database server encountered an error when it attempted to look up
a row through an index. Check the accompanying ISAM error code for more
information. The table file or the index file might have been corrupted.
Unless the ISAM error code or an operating-system message points to another
cause, run the bcheck or secheck utility to verify file integrity.

-247 Rollforward database failed.

The database server could not apply an audit trail to roll a database
forward. Check the accompanying ISAM error code for more information.

-248 Cannot commit savepoint.

Version 4.1 and later products can detect this internal error. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-249 Virtual column must have explicit name.

When you select INTO TEMP, you are creating a table. As with any table,
the columns of a temporary table must all have names. When you select
a single column, the column in the temporary table receives the same name.
When you select an expression, you must supply a name using a column alias,
as in the following example:

SELECT order_num, ship_date, ship_date + 14 expected

FROM orders INTO TEMP ord_dates

The temporary table ord_dates has three columns, which are named order_num,
ship_date, and expected. The same principle applies to a view: each column
must have a name. When you select every column of a view from a table,
the view can have the same column names by default. When you derive any
column of a view from an expression, you must give all the columns explicit
names, as in the following example:

CREATE VIEW ord_dates(order_num, ship_date, expected)

AS SELECT order_num, ship_date, ship_date + 14 FROM orders

-250 Cannot read record from file for update.

The database server cannot get a row of a table prior to update. Check
the accompanying ISAM error code for more information. Possibly another
user has locked the row or the table, or possibly a more serious problem
exists.

-251 ORDER BY or GROUP BY column number is too big.

The ORDER BY or GROUP BY clause uses column-sequence numbers, and at least
one of them is larger than the count of columns in the select list. Check
that you entered the clause correctly and that you did not omit an item
from the select list.

-252 Cannot get system information for table.

The database server cannot access system information associated with the
table. Check the accompanying ISAM error code for more information. Unless
the ISAM error code or an operating-system message points to another cause,
run the oncheck utility to verify file integrity.

-253 Identifier length exceeds the maximum allowed by this version
of the server.

An SQL identifier exceeded the maximum number of characters. In Informix
Dynamic Server 2000, the maximum length for identifiers in SQL statements
is 128 characters. In other Informix database servers, the maximum length
for identifiers in SQL statements is 18 characters.

Check that no identifier in the statement is longer than the maximum
length and that no punctuation error, such as a missing space or comma,
combines two identifiers into one.

-254 Too many or too few host variables given.

The number of host variables that you named in the INTO clause of this
statement does not match the number of «?» place holders that you wrote
into the statement. Locate the text of the statement (in a PREPARE or
DECLARE statement), and verify the number of place holders. Then review
the list in the INTO clause to see which item is incorrect.

-255 Not in transaction.

The database server cannot execute this COMMIT WORK or ROLLBACK WORK statement
because no BEGIN WORK was executed to start a transaction. Because no
transaction was started, you cannot end one. Any database modifications
that were made are now permanent; they cannot be rolled back but do not
need to be committed. Review the sequence of SQL statements to see where
the transaction should have started.

This error can occur when you open a cursor for update and have not
started a transaction yet.

-256 Transaction not available.

You cannot begin a transaction in this database because it does not have
a transaction log. In order to support transactions, you must start a
transaction log. Refer to your Administrator’s Guide for information on
how to start a transaction log.

-257 System limit on maximum number of statements exceeded, maximum
is count.

The database server can handle only a fixed number of prepared SQL statements
for each user. This limit includes statements that were prepared with
the PREPARE statement and cursors that were declared with the DECLARE
statement. This statement (PREPARE, DECLARE, or PREPARE IMMEDIATE) exceeds
that limit and is not executed. The FREE statement releases prepared statements.
Review the logic of your program, and change it so that it frees prepared
statements when it no longer needs them.

Version 5.0 and later database servers do not have this restriction.
However, programs that must be compatible with earlier versions should
use FREE to stay under the limit.

-258 System error — invalid statement id received by the sqlexec
process.

The current statement (EXECUTE or OPEN) refers to a prepared SQL statement
or a cursor that does not exist. Possibly the statement id is invalid,
or possibly the statement was prepared and then released with the FREE
statement. Review the program logic to make sure that the statement or
cursor that is named in this statement is valid, has been properly prepared
or declared, and has not been freed prior to this point.

If the program executes a prepared DATABASE statement successfully,
the database server automatically frees the prepared statement. As a
result, if you free a prepared DATABASE statement, you will receive
this error on the FREE statement. You can ignore it in this case.

-259 Cursor not open.

The current statement refers to a cursor that has not been opened. Review
the logic of the program to see how it failed to execute the OPEN statement
before it reached this point. Statements that end transactions (COMMIT
WORK and ROLLBACK WORK) also close cursors unless the cursors are declared
WITH HOLD.

-260 Cannot execute a SELECT statement that is PREPAREd — must use
cursor.

Although you can prepare a SELECT statement, the only way you can then
execute that SELECT statement is to associate its statement id with a
cursor (use a DECLARE statement) and then open the cursor.

An important exception is the SELECTINTO TEMP statement, which you
can execute. You cannot use it with a cursor.

You can execute other prepared statements with the EXECUTE statement.
If you know the contents of this SELECT statement at the time you are
writing the program, and if you are certain that it will return only
a single row of data, you can embed it in the program. If it must be
prepared dynamically while the program is running, revise your program
to execute it through a cursor.

-261 Cannot create file for table table-name.

In general, the database server cannot create the file that will represent
this table. Check the accompanying ISAM error code for more information.
The file would be created in the database.dbs directory (unless you supplied
an IN pathname clause) with INFORMIX-SE. Its filename would begin with
the first few letters of table-name, followed by a 3-digit number and
the suffix .dat, or .idx. With INFORMIX-SE, a problem might exist with
file permissions, or possibly the disk is full.

Informix Dynamic Server 2000, Informix Dynamic Server, INFORMIX-Universal
Server, and INFORMIX-OnLine Dynamic Server allow table fragmentation,
which might involve extensive use of dbspaces. You need to check the
dbspace that was specified for the table. If no dbspace was specified,
then the dbspace in which the database was created is used. For database
creation, if no dbspace is specified, then the rootdbs is used. The
specified dbspace might not exist, or the disk might be full.

-262 There is no current cursor.

This internal error should not occur. Note all the details of the network
software in use and the version number of the database servers in this
and the other host system. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-263 Could not lock row for UPDATE.

This statement, probably a FETCH statement that names a cursor declared
FOR UPDATE, failed because the row it should have fetched could not be
locked. Check the accompanying ISAM error code (usually -107, -113,-134,
-143, -144, or -154) for more information. Probably another program is
using the row (-107) or table (-113). You can use SET LOCKMODE TO WAIT
to eliminate these errors, but detection of deadlock (-143 or -154) and
lock table full (-134) can still occur.

-264 Could not write to a temporary file.

The database server created a temporary file in the directory that the
DBTEMP environment variable (or /tmp by default on UNIX systems) specifies,
but it encountered an error when it tried to write data into the file.
Check the accompanying ISAM error code, and look for operating-system
error messages that might give more information. Possibly a hardware failure
occurred, or the disk is full. Since Version 5.01, the INFORMIX-SE database
server uses the DBTEMP environment variable, but Informix Dynamic Server
and INFORMIX-OnLine Dynamic Server do not.

-265 Load or insert cursors must be run within a transaction.

You attempted to open an insert cursor. This database has a transaction
log. In such a database, you must execute a BEGIN WORK statement before
you open a cursor that is declared with an INSERT statement or with the
FOR UPDATE clause. Revise the logic of your program so that it starts
a transaction before it opens the cursor.

You can ensure that the program also works in databases that do not
have a transaction log. Change the program so that immediately after
it executes the DATABASE statement, it saves the contents of the second
element of the SQLAWARN array of warning flags in the SQL communications
area. This element will contain a space if the database does not use
transactions, and the letter W if it uses them. At each point where
a transaction logically begins or ends, test the saved value. If it
contains W, execute the transaction statement to begin or end a transaction.

-266 There is no current row for UPDATE/DELETE cursor.

The current statement uses the WHERE CURRENT OF cursor-name clause, but
that cursor has not yet been associated with a current row. Either no
FETCH statement has been executed since it was opened, or the most recent
fetch resulted in an error so that no row was returned. Revise the logic
of the program so that it always successfully fetches a row before it
executes this statement.

-267 The cursor has been previously released and is unavailable.

The FREE statement released the resources that are attached to the cursor
named in this statement. Before you can use the cursor, you must again
prepare the SQL statement that is associated with it. If the cursor was
declared FOR a statement, re-execute its DECLARE statement. If it was
declared FOR a statement identifier, execute the PREPARE statement again.

-268 Unique constraint violated.

During execution of this statement, a duplicate value was introduced into
a column or columns that a unique constraint protects. The row with the
duplicate value was not allowed into the table (not inserted or not updated).
For Informix Dynamic Server 2000 or Informix Dynamic Server, any changes
that this statement made prior to the discovery of the duplicate value
have been rolled back. (The effects of preceding statements in the transaction,
if there were any, remain in effect. They must be explicitly rolled back
or committed.)

This error occurs in a logging database. However, if you are using
repeatable read isolation, error -239 will display instead.

-269 Cannot add column column-name that does not accept nulls.

This statement requests a new column that has the NOT NULL constraint.
However, when a column is added to an existing table, null values have
to be installed in the existing rows. Define a new table that includes
this column, then INSERT the data from the old table into it to provide
some suitable nonnull values for this column.

-270 Could not position within a temporary file.

The database server created a temporary file in the directory specified
by the DBTEMP environment variable (or /tmp by default on UNIX systems)
but encountered an error when it tried to position (seek) within it. Check
the accompanying ISAM error code, and look for operating-system error
messages that might give more information. Possibly a hardware failure
occurred, or another user truncated the file. Since Version 5.01, the
INFORMIX-SE database server uses the DBTEMP environment variable, but
Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.

-271 Could not insert new row into the table.

This problem has many possible causes, including a locked table or a full
disk. Check the accompanying ISAM error code for more information.

-272 No SELECT permission.

The person who created this table has not granted Select privilege to
your account name or to the public. The owner of the table or the DBA
must grant this privilege before you can select data from the table.

This error message may also occur if you are using the LOAD command
in DB-Access because DB-Access uses the SELECT command to get information
about a table before loading or inserting rows.

-273 No UPDATE permission.

The person who created this table has not granted Update privilege to
your account name or to the public. The owner of the table or the DBA
must grant this privilege before you can update a row in this table.

-274 No DELETE permission.

The person who created this table has not granted Delete privilege to
your account name or to the public. The owner of the table or the DBA
must grant this privilege before you can delete a row in this table.

-275 No INSERT permission.

The person who created this table has not granted Insert privilege to
your account name or to the public. The owner of the table or the DBA
must grant the privilege before you can insert a row into this table.

-276 Cursor not found.

The cursor that is named in this statement was not declared in the current
session. The current session runs from the execution of a DATABASE statement
to the next DATABASE or CLOSE DATABASE statement. Review the logic of
the program to see that it executes the DECLARE statement for this cursor
after the DATABASE statement.

-277 UPDATE table table-name is not the same as the cursor table.

This UPDATE WHERE CURRENT OF cursor statement refers to a different table
than the table referenced by the SELECT statement that was declared with
the cursor. Review the program logic to make sure that an update through
a cursor updates only the table that the cursor is reading. This message
also applies to cursor statements that use DELETE WHERE CURRENT OF.

-278 Too many ORDER BY columns.

This SELECT statement calls for ordering on more columns than the database
server can support. The limit depends on the database server in use, but
all can handle sorting on as many as eight columns. Revise the statement
to order on fewer columns. (Version 4.0 and later products have no arbitrary
limit on the number of ORDER BY columns. But complex sorts may cause the
database server to run out of memory or disk space while it carries out
the sort operation.)

-278 Cannot rollback savepoint.

Version 4.1 and later products can detect this internal error. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-279 Cannot grant or revoke database privileges for table or view.

This statement names one or more of the database-level privileges (CONNECT,
RESOURCE, and DBA), but it also uses the ON table-name clause. A statement
that does not mention a particular table (does not contain the ON clause)
must grant or revoke the database-level privileges. The table-level privileges
such as INSERT require an ON clause. Do not mix the two kinds in the same
statement.

-280 A quoted string exceeds 256 bytes.

A character literal in this statement exceeds the maximum length. Check
the punctuation and length of all quoted strings in the statement. Possibly
two missing quotes make a long string out of two short ones. You must
revise the statement to use a shorter character string.

-281 Could not add index to a temporary table.

Check the accompanying ISAM error code to find out the specific problem,
and look for operating-system error messages that might give more information.
Possibly the disk is full.

-282 Found a quote for which there is no matching quote.

Inspect the current statement, examining the punctuation of all quoted
strings. To include the quote character in a literal string, use single
apostrophes as string delimiters, as in the following example:

SELECT ‘»‘, fname,'»‘, «»», lname, «»» FROM customer

-283 Found a non-terminated comment («{» with no matching «}»).

Inspect the current statement, and examine the punctuation of comments
and quoted strings. You can use curly braces to insert comments into SQL
statements, but the braces must balance. Or you can use the double-hyphen
to append comments to the end of a line.

-284 A subquery has returned not exactly one row.

A subquery that is used in an expression in the place of a literal value
must return only a single row and a single column. In this statement,
a subquery has returned more than one row, and the database server cannot
choose which returned value to use in the expression. You can ensure that
a subquery will always return a single row. Use a WHERE clause that tests
for equality on a column that has a unique index. Or select only an aggregate
function. Review the subqueries, and check that they can return only a
single row.

This error can also occur when you use a singleton SELECT statement
to retrieve multiple rows. You must use the DECLARE/OPEN/FETCH series
of statements or the EXECUTE INTO statement to retrieve multiple rows.

-285 Invalid cursor received by sqlexec.

The cursor that this statement uses has not been properly declared or
prepared, or the FREE statement has released it. Review the program logic
to ensure that the cursor has been declared. If it has, and if the DECLARE
statement refers to a statement id, check that the referenced statement
has been prepared.

-286 Default value of the primary key column column-name is NULL.

A column that is part of a primary key cannot have null as its default
value.

-287 Cannot add serial column column-name to table.

You cannot add a column of SERIAL data type to an existing table. Such
columns may not contain null values, but when you add a column, the database
server must put null values in all existing rows. You can add a serial
column in three steps. First, add the column with an INTEGER data type.
Then update the table with nonnull, unique values in each row of the new
column. Finally, use ALTER TABLE MODIFY to change the data type of the
column to SERIAL.

-288 Table table-name not locked by current user.

This UNLOCK TABLE statement names a table that has not been locked. If
you locked the table earlier, it has already been unlocked. Tables are
unlocked automatically when a transaction ends or when the database is
closed. If another user locked the table, you cannot unlock it.

-289 Cannot lock table table-name in requested mode.

The table is already locked in exclusive mode. You will have to wait for
the table to be unlocked before you proceed.

-290 Cursor not declared with FOR UPDATE clause.

This statement attempts to update with a cursor that was not declared
for update. The database server does not allow this action, as both a
security measure that is designed to prevent program errors and a performance
feature. To use a cursor with the UPDATE or DELETE statements, you must
declare it for update. Review the program logic to make sure that this
statement uses the intended cursor.

In an ANSI-compliant database, any cursor can be used for updating;
the FOR UPDATE clause is not required (and generates a warning).

-291 Cannot change lock mode of table.

The current LOCK TABLE statement cannot be executed because you have already
locked the same table using a different mode (EXCLUSIVE or SHARE). To
change the lock mode, arrange to unlock the table before you lock it again.

-292 An implied insert column column-name does not accept NULLs.

This INSERT statement does not supply values for all the columns in the
table. At least one of the columns that it omits is constrained to be
not null. Because the database server would have to insert a null value
for every unmentioned column, it cannot perform this insert. Review the
statement against the definition of the table. Possibly the definition
of the table has been changed.

-293 IS [NOT] NULL predicate may be used only with simple columns.

The test for a null value can be applied only to a column name (not to
a subscripted character column or an expression, for example).

Review the use of these keywords in the WHERE clause and in any CASE
statements.

This message does not apply to 8.21 and later 8.x database servers,
which allow expressions as arguments of the IS [NOT] NULL operator.

-294 The column column-name must be in the GROUP BY list.

In a grouping SELECT, you must list every nonaggregate column in the GROUP
BY clause to ensure that a well-defined value exists for each selected
column in each grouped row. A column contains either a single aggregate
value or a value unique to that group. If a selected column were neither
an aggregate nor in the list, two or more values for that column might
possibly exist in some group, and the database server could not choose
which value to display. Revise the query to include either the column
name or its positional number in the clause.

-295 Referenced and referencing tables have to be in the same database.

Referential constraints cannot cross databases. In other words, both the
referenced and referencing columns (or parent and child keys) must be
in the same database.

-296 Referenced table table-name not found.

The table that is specified in a referential constraint does not exist.

-297 Cannot find unique constraint or primary key on referenced table
.

The database server cannot locate the referenced constraint in the sysconstraints
system catalog table, and the referenced constraint was not created in
the same ALTER TABLE statement as the referencing constraint. The referenced
constraint might not exist, or a foreign key might refer to a table with
a unique but not primary-key constraint.

Check that you have entered a valid column name with the appropriate
constraints that are associated with it. Valid constraint columns indicate
an internal error. If the error recurs, note all circumstances and contact
Informix Technical Support.

-298 Cannot grant permission to public with grant option.

The clause WITH GRANT OPTION allows the receiver of the grant to grant
the same privilege to others. In this case, the receiver of the grant
is PUBLIC. If this statement were executed, everyone would have the privilege,
and everyone could grant the privilege. This operation is prohibited.
Either name specific grantees, or omit the clause WITH GRANT OPTION.

-299 Cannot grant permission to self.

This GRANT statement includes your user id as one of the grantees. If
you can grant the privilege, you already have the privilege. Rewrite the
statement to omit your user name from the TO clause.

-300 There are too many GROUP BY columns.

The number of columns that can be listed in the GROUP BY clause is an
implementation limit of the database server. All database servers support
at least eight columns. Review the current statement to ensure that the
punctuation of the GROUP BY clause is correct. If it is as you intended,
you will have to find a way to make this query in two or more stages.
Since you must list all nonaggregate selected columns in the GROUP BY
clause, and the length of the list is restricted, you must select only
the non-aggregate values that are required to distinguish each group.
Put the group results in a temporary table, and join this table to the
original table to select other non-aggregate values.

-301 The total size of the GROUP BY columns is too big.

The database server limits the total number of bytes in the combined columns
that the GROUP BY clause lists. All database servers support at least
120 bytes. See the discussion of error -300 for more information.

-302 No GRANT option or illegal option on multi-table view.

This GRANT statement cannot be executed. The grantor does not have the
right to grant the specified privilege for this table, the table name
is a synonym, or the table is a view for which this option cannot be granted.
If the grantor does have the right to grant the privilege, the table in
question might be a synonym or a view that is not modifiable and cannot
be used for insert, update, or delete operations.

To grant any privilege for a table, you must be the owner of the table
or you must have been granted the same privilege with the GRANT option.
To use the AS GRANTOR clause, you must have DBA privilege.

-303 Expression mixes columns with aggregates.

This SELECT statement uses an aggregate function in its WHERE clause.
This action is not allowed. The WHERE clause must be applied row by row
as a table is scanned, but an aggregate function can only be calculated
after all rows have been chosen and grouped. Review the statement with
this fact in mind. If you intended to select only certain groups of records,
you can put that test in the HAVING clause; it is applied to grouped rows.

The text of this message is somewhat deceptive. You can, in fact,
mix column names and aggregate functions in expressions. However, you
can do so only in the select list or the HAVING clause (not in the WHERE
clause), and the columns must appear in the GROUP BY clause.

Database servers after Version 5.01 do not use this error message.

-304 HAVING can only have expressions with aggregates or columns
in GROUP BY clause.

The HAVING clause is used to select completed rows after grouping has
been done. Therefore, the only selected values that it can test are values
that are available in completed groups of rows, namely the single columns
that are named in the GROUP BY clause and aggregate values. Review the
HAVING clause with this rule in mind. If you want to select particular
rows before grouping has taken place, use the WHERE clause.

-305 Subscripted column column-name is not of type CHAR, VARCHAR,
TEXT nor BYTES.

You may select substrings only from columns of the types mentioned. Review
all uses of square brackets in this statement, and make sure that each
follows the name of a column that has one of these types. If that is the
case, verify that you are using the database you intended, and double-check
the definition of the table. Possibly one of the columns in the table
has been altered to use a different type.

-306 Subscript out of range.

This statement refers to a substring of a character variable. The substring
values (two numbers in square brackets) are incorrect. The first is less
than zero or greater than the length of the column, or the second is less
than the first. Review all uses of square brackets in the statement to
find the error. Possibly the size of a column has been altered and makes
a substring fail that used to work.

-307 Illegal subscript definition.

This statement refers to a substring of a character variable. The substring
values (two numbers in square brackets) are incorrect. The first is less
than zero or greater than the length of the column, or the second is less
than the first. Review all uses of square brackets in the statement to
find the error. Possibly the size of a column has been altered and makes
a substring fail that used to work.

-308 Corresponding column types must be compatible for each UNION
statement.

All rows produced in a union of SELECT statements must have the same format,
so the corresponding columns for each UNION statement must have the same
data type or compatible data types. Two data types are compatible if you
can convert one of them into the other; for example, int and float are
compatible data types because you can convert int values to float values.
In the current statement, a column in the second or subsequent SELECT
statement does not agree with the corresponding column in a preceding
SELECT statement.

Review and compare all the SELECT statements. Check each point at
which one statement selects a column that is not identical to a column
in the preceding SELECT statement. If the column data types do not match,
then one type must be convertible to the other type.

-309 ORDER BY column column-name must be in SELECT list.

The indicated column appears in the ORDER BY clause of this SELECT, but
it is not in the select list (the list of values that follows the word
SELECT). This action is not supported. All sort keys must be present in
the output rows in order to sort. Revise the statement to follow this
rule. If you want to sort only on an expression that involves this column,
not on the column itself, refer to the expression by the number of its
position in the select list.

-310 Table table-name already exists in database.

This statement tries to create a table with the name that is shown, but
one with that name already exists. Only one table with a given name can
exist in a single database. (In an ANSI-compliant database, the name of
the user that created a table name qualifies it, so one table of a given
name per user can exist.)

Check the spelling of the name; if it is as you intended, and you
are sure it should not exist, check that you are using the right database.
You can review the names of all tables in this database by querying
systables as follows:

SELECT tabname FROM systables WHERE tabid > 99

This statement will display only names of permanent tables, not temporary
tables. Temporary tables do not appear in systables. If the name does
not appear, end your database session and start a new one. Temporary
tables will be dropped.

-311 Cannot open system catalog table-name.

The database server cannot access one of the tables in the system catalog.
Check the accompanying ISAM error code for detailed information, and look
for operating-system error messages that might give more information.

-312 Cannot update system catalog table-name.

The database server cannot record a change in the system-catalog table.
Check the accompanying ISAM error code for more detailed information.
Insufficient disk space is a common cause of this error.

-313 Not owner of table.

This statement tries to do something, such as dropping a table, that only
the owner of the table or a user who has Database Administrator privileges
can do. Check that the statement names the table you intended. If it does,
you will have to get its owner or a DBA to execute this statement. To
find out who to contact, you can query the system catalog as follows:

SELECT tabname, owner FROM systables WHERE tabid > 99; SELECT username
FROM sysusers WHERE usertype = ‘D’

-314 Table table-name currently in use.

This statement tries to do something, such as dropping a table, that cannot
be done while another user is using the table. Wait a short time, and
try again. To ensure that no table is in use, open the database with DATABASE
EXCLUSIVE.

-315 No create index permission.

This statement tries to create an index for a table. Either you do not
have INDEX privilege on this table, or the table itself is a view or synonym.
If the table that is named really is a table, contact the owner of the
table or a database administrator (see the discussion of error -313) and
ask to be granted this privilege.

-316 Index index-name already exists in database.

This statement tries to create an index with the name shown, but an index
of that name already exists. Only one index of a given name can exist
in a single database. (In an ANSI-compliant database, the name of the
user who creates an index name qualifies it, so one index of a given name
per user can exist.) Check the spelling of the name; if it is as you intended,
and you are sure it should not exist, make sure you are using the right
database. To review the names of all indexes and their owners, join systables
and sysindexes as follows:

SELECT T.tabname, I.idxname, I.owner FROM systables T, sysindexes
I

WHERE I.tabid = T.tabid AND T.tabid > 99

-317 Must have the same number of selected columns in each UNION
element.

All rows that are produced in a union must have the same format, so each
SELECT statement in the union must select the same number of columns.
In this union, one of the second or subsequent SELECT statements does
not list the same number of columns as the preceding one. Review the entire
union, and check that all select lists are alike in number and data type.
If no appropriate column exists for one of the statements, specify a literal
value of the appropriate type at that position. For example, where you
need to match a numeric column, specify a literal zero.

-318 File with the same name as specified log file already exists.

The transaction log file you specify in the WITH LOG IN clause cannot
already exist. The database server must start a new log file; it cannot
append log data to an old log file. An existing log file contains recovery
information that might be crucial, so it does not simply empty an existing
file. To begin logging for a database that has not been logged before,
lock the database, copy all of the database directory to a backup medium,
and use the START DATABASE statement to name a new file. To make a partial
archive subsequently, lock the database, copy the log file to a backup
medium and store it with the full archive, erase or rename the log file,
and use the START DATABASE statement.

-319 Index does not exist.

This statement refers to an index that does not exist. Review the spelling
of the index name; if it is as you intended, and you are sure it should
exist, make sure you are using the right database.

In an ANSI-compliant database, an index that you do not own must be
qualified with its owner’s name. See the discussion of error -316 for
a way to check the names and owners of all indexes.

-319 Index does not exist in ISAM file.

This statement refers to an index that does not exist. (The reference
to an ISAM file is not relevant; ignore it.) Review the spelling of the
index name; if it is as you intended, and you are sure it should exist,
make sure you are using the right database.

In an ANSI-compliant database, an index that you do not own must be
qualified with its owner’s name. See the discussion of error -316 for
a way to check the names and owners of all indexes.

-320 Not owner of index.

This statement tries to do something, such as dropping an index, that
only the owner of the index or a user who has Database Administrator privileges
can do. Check that the statement names the index that you intended. If
it does, you will have to get its owner or a DBA to execute this statement.
See the discussion of error -316 for a way to list the names and owners
of indexes.

-321 Cannot group by aggregate column.

The GROUP BY clause in this statement refers to a selected value that
is an aggregate function. This action is not supported. (It does not make
sense to group rows using a value that cannot be computed until the group
has been formed.) You can group rows by the value of columns or expressions
on columns, but the expressions cannot include aggregate functions. Review
the GROUP BY clause, and compare it to the select list. Possibly one of
the column numbers in the GROUP BY clause is incorrect.

-322 Cannot create a trigger on, alter, rename view view-name.

You can create a trigger only on a table. Consider creating the trigger
on the table from which the view is derived, or consider creating view
view-name as a table and then creating the trigger on it.

You can also receive this message if you issue the START VIOLATIONS
TABLE statement or the STOP VIOLATIONS TABLE statement for a view. You
must specify the name of a base table in both of these statements.

-323 Cannot grant permission on temporary table.

This GRANT statement names a temporary table. That action is not supported.
Privileges are recorded only for permanent tables. Because temporary tables
are not recorded in the system catalogs, no place exists to record privileges
on them. Only the person who creates a temporary table can access it.

-324 Ambiguous column column-name.

The column name appears in more than one of the tables that are listed
in the FROM clause of this query. The database server needs to know which
columns to use. Revise the statement so that this name is prefixed by
the name of its table (table-name.column) wherever it appears in the query.
If the statement becomes unwieldy, give the table a shorter alias name
in the FROM clause (see the discussion of error

-316 for an example).

-325 Filename must be specified with a full path name.

This error occurs if you attempt to create a table using the WITH LOG
IN clause but do not specify a complete path to the log file. This error
can also occur if you use INFORMIX-SE to create database logging but do
not specify the full path of the log file. Make sure to specify a full
pathname, including the name of the log file, where the log file will
reside.

-326 Referential constraint has too many referenced columns.

The specified referential constraint has more than 16 columns (or 8 in
INFORMIX-SE).

-327 Cannot unlock table table-name within a transaction.

The statement UNLOCK TABLE is not allowed within a transaction, that is,
following the execution of BEGIN WORK. You can still use LOCK TABLE when
you use transactions, but the table will be unlocked automatically when
the transaction ends. All locks are released at the end of a transaction.
In an ANSI-compliant database, BEGIN WORK is not used, a transaction is
always in effect, and the UNLOCK TABLE statement is never used.

-328 Column column-name already exists in table.

This statement tries to add the column shown, but one with that name already
exists. Check the spelling of the name; if it is as you intended, then
the table is not arranged as you expected it to be. You can review the
names of all the columns in a table by querying syscolumns. Supply a table-name
in the following query:

SELECT colname, colno FROM syscolumns C, systables T

WHERE C.tabid = T.tabid AND T.tabname = ‘table-name’

You can use RENAME COLUMN to change column names.

-329 Database not found or no system permission.

The database you tried to open is not visible to the database server.
Check the spelling of the name. Possibly the database is located in a
different database server (or network system), and you have omitted to
specify the server name (or site name) with the database name. If you
are sure the database should exist just as you spelled it, your next step
depends on the database server you are using.

If you are using INFORMIX-SE, the visible databases are directories
with names in the form dbname.dbs. You must be able to read from and
write to them. The database server looks first in the current working
directory and then in each directory named in the DBPATH environment
variable. The most common cause of this error is an incorrect setting
or no setting for the DBPATH environment variable.

If you are using Informix Dynamic Server 2000, Informix Dynamic Server,
INFORMIX-Universal Server, or INFORMIX-OnLine Dynamic Server, the database
does not exist as you spelled it. In some environments, two or more
instances of the database server can run at once and each instance has
its own collection of databases. For Version 6.0 and later, the value
of the INFORMIXSERVER environment variable determines the instance of
the database server that you use. For Versions 5.01 and earlier, the
TBCONFIG environment variable points to the configuration file that
determines the instance. See your database server administrator if you
think you might be using the wrong instance.

-330 Cannot create database.

Possibly you tried to create a database with the same name as one that
already exists; if so, choose a different name. Otherwise, check the accompanying
ISAM error code for more detailed information on the cause. Possibly a
shortage of disk space or a problem with file permissions exists.

-331 Cannot drop database directory.

While the database server was executing the DROP DATABASE statement, it
removed all database-related files from the dbname.dbs directory and tried
to remove the directory itself, but an error occurred. Check the accompanying
ISAM error code for more detailed information on the cause. The most likely
cause is that you or another user created nondatabase files in the same
directory, and the directory cannot be removed because it is not yet empty.

-332 Cannot access audit trail name information.

An error occurred while reading the audit-trail file. Re-execute the latest
statement; if the error recurs, the audit-trail file is corrupt. In that
case you will need to drop and restart the audit.

-333 The audit trail file already exists with a different name.

Before you start a new audit trail, you must drop an existing one. Use
the DROP AUDIT statement.

-334 Cannot create audit trail.

Some problem prevents the database server from initializing the audit-trail
file. Check that you specified a complete, correct pathname for the file.
Look for operating-system error messages that might give more information.
Common problems include a lack of disk space and file-permission problems.

-335 There is no audit trail for the specified table.

This statement requires an audit trail to work, but no current audit trail
exists for the table. Either none was ever started, or it was dropped.
Check that you specified the table you intended. In a recovery situation
(the statement was RECOVER TABLE), check that the table has just been
restored from a backup copy. If so, the table did not have an audit trail
at the time that this backup was made. If an audit trail was specified
later, an unknown period remains between the backup and the start of auditing
during which unaudited updates might have been made.

-336 Cannot create or drop audit on a temporary table table-name.

Temporary tables cannot be audited. The commands regarding audit trails
will not accept the names of temporary tables. If you did not intend to
name a temporary table, check the spelling of the table table-name. See
the discussion of error -313 for a way to display the names of all permanent
tables in the database.

-337 Cannot create view on temporary table table-name.

Views can be created only on permanent tables. The SELECT statement that
defines the view in this latest statement contains the name of the temporary
table, table-name. If you did not intend to name a temporary table, check
the spelling of table-name. See the discussion of error -313 for a way
to display the names of all permanent tables in the database.

-338 Cannot drop audit trail.

An unexpected error occurred during the execution of a DROP AUDIT statement.
Check the accompanying ISAM error code for more detailed information.

-339 The audit trail file name must be given in full directory path.

The audit-trail file that is specified in the CREATE AUDIT statement requires
a full directory path. Because it is not required to be in a particular
directory, the database server cannot use the current directory or the
DBPATH variable to search for it.

-340 Cannot open audit trail file.

The database server needs to use the audit-trail file for this table,
but some unexpected problem prevents it. Likely causes include hardware
errors, file-permission problems, or the accidental erasure of the file.
Look for operating-system error messages that might give more information.

-341 Could not read a row from audit trail file.

The database server encountered an unexpected error while it was reading
the audit trail for this table. Likely causes of the error include file-permission
problems and hardware errors. Look for operating-system error messages
that might give more information.

-342 Remote host cannot execute statement.

This statement was sent to a database server in a different system for
execution. However, that database server does not support the requested
function, possibly because it is an earlier version.

-343 Row from audit trail was added to a different position than
expected.

While the database server was reconstructing a table from the audit trail,
it found a discrepancy between the position of an inserted row now and
the position that was recorded in the audit trail when the row was first
inserted. Either the audit-trail file has been corrupted, or the audit-trail
file is incomplete, with missing records for some alterations. The table
cannot be recovered as it stands. Try the operation again after you make
sure that the table has been restored to exactly the same state as when
the audit trail was created. If the error recurs, rebuild the table by
other means.

-344 Cannot delete row — row in table does not match row in audit
trail.

While the database server was reconstructing a table from the audit trail,
it found a discrepancy between the position of a deleted row now and the
position that was recorded in the audit trail when the row was first deleted.
Either the audit-trail file has been corrupted, or the audit-trail file
is incomplete, with missing records for some alterations. The table cannot
be recovered as it stands. Try the operation again after you make sure
that the table has been restored to exactly the same state as when the
audit trail was created. If the error recurs, rebuild the table by other
means.

-345 Cannot update row — row in table does not match row in audit
trail.

While the database server was reconstructing a table from the audit trail,
it found a discrepancy between the contents of an updated row now and
the contents that were recorded in the audit trail when the row was first
updated. Either the audit-trail file has been corrupted, or the audit-trail
file is incomplete, with missing records for some alterations. The table
cannot be recovered as it stands. Try the operation again after you make
sure that the table has been restored to exactly the state it had when
the audit trail was created. If the error recurs, rebuild the table by
other means.

-346 Could not update a row in the table.

While the database server was processing an UPDATE, it received an unexpected
error. Check the accompanying ISAM error code for more detailed information
on the cause. Possible causes include hardware errors and locking conflicts.

-347 Could not open table for exclusive access.

The database server cannot complete a LOCK TABLE statement or the implicit
LOCK TABLE that must be performed as part of other statements that change
the definition of a table (for example ALTER TABLE, RENAME, or CREATE
INDEX). Check the accompanying ISAM error code for more detailed information
on the cause. Possible causes include lock conflicts, a full lock table,
or low-level problems with the host operating-system lock mechanism.

-348 Could not read a row from the table.

While the database server was trying to fetch a row from a table, it received
an unexpected error. Check the accompanying ISAM error code for more detailed
information on the cause. Possible causes include hardware errors and
lock conflicts.

-349 Database not selected yet.

This statement cannot be executed because no current database exists.
Either no current database has been established yet, or the current database
was closed with a CLOSE DATABASE statement. You execute the DATABASE or
CREATE DATABASE statement to establish a current database.

-350 Index already exists on column.

This CREATE INDEX statement cannot be executed because an index on the
same column or combination of columns already exists.At most two indexes
can exist on any combination of columns, one ascending and one descending.
To display the indexes on a particular table, join sysindexes and systables.
Supply table-name in the following statement:

SELECT * FROM sysindexes, systables

WHERE sysindexes.tabid = systables.tabid AND systables.tabname
= ‘table-name’

The sysindexes table is not normalized (the part columns are a repeating
group), so no simple SELECT statement will return all the column names
in an index.

-351 Database contains tables owned by other users.

This DROP DATABASE or UPDATE STATISTICS statement cannot be carried out
for the reason shown. It might destroy the work of others. In order to
drop this database, you must first drop all tables that other users own.
To do so, you must have database administrator privilege. See the discussion
of error -313 for a way to list the names of all tables with their owners.

-352 Column column-name not found.

The column, or one of the columns, named in this CREATE INDEX statement
does not exist. Review the spellings of all columns in the statement.
See the discussion of error -328 for a way to list all column names in
a table.

-353 No table or view specified when granting/revoking privileges.

This statement specifies one of the table-level privileges (ALTER, DELETE,
INDEX, INSERT, SELECT, UPDATE, and ALL) but does not specify the table
to which the privilege applies. When you grant or revoke a database-level
privilege (CONNECT, DBA, RESOURCE), you can not name a table, but when
you grant or revoke a table-level privilege you must name a table.

-354 Incorrect database or cursor name format.

This statement contains the name of a database or a cursor in some invalid
format. If the statement is part of a program, the name might have been
passed in a host variable.

The maximum length for database names and cursor names depends on
the database server. In Informix Dynamic Server 2000, the maximum length
is 128 characters. For INFORMIX-SE, database names should be no longer
than 10 characters (fewer in some host operating systems). In other
Informix database servers, the maximum length is 18 characters.

Both database and cursor names must begin with a letter and contain
only letters, numbers, and underscore characters. In INFORMIX-OnLine
Dynamic Server and later Informix database servers, database and cursor
names can begin with an underscore. In Dynamic Server 2000, these names
can include dollar-sign characters.

In MS-DOS systems, filenames can be a maximum of 8 characters plus
a 3-character extension.

-355 Cannot rename file for table.

This RENAME statement cannot be completed because the database server
got an unexpected error. Check the accompanying ISAM error code for more
detailed information on the cause. Possible causes include hardware errors
and file-permission problems.

-356 Data type of the referencing and referenced columns do not match.

The data types of the columns in the child constraint must be identical
to those in the parent constraint.

-357 Dependent table for view view-name has been altered.

The view is based on data from a table that has been altered since the
view was defined. The alteration removed or renamed a column that is used
in the view. The view can no longer be used. Drop the view, and redefine
it to use the current schema.

-358 Must close current database before CREATE, START or ROLLFORWARD.

These statements choose a new current database, but the present database
must be closed first. Use the CLOSE DATABASE statement before this statement.

-359 Cannot drop current database.

The database that is currently open cannot be dropped. First use the CLOSE
DATABASE statement; then you can drop it.

-360 Cannot modify table or view used in subquery.

The UPDATE, INSERT, or DELETE statement uses data taken from the same
table in a subquery. This action is not allowed because of the danger
of getting into an endless loop. Select the input data into a temporary
table first, and then refer to the temporary table in the UPDATE or INSERT
statement.

-361 Column size too large.

This internal error reflects a communications problem between the database
server and the application. You should not see this error. If the error
recurs, please note all circumstances and contact Informix Technical Support.

-362 Can have only one column of serial/serial8 type.

A table can have at most only one column of type SERIAL and one column
of type SERIAL8. You are attempting to add a second column of type SERIAL
or SERIAL8, or you are attempting to create a table with more than one
column of either type. If you intended to have a foreign key (that is,
a column that refers to a SERIAL or SERIAL8 column in a different table),
the data type of the column in this table should be INTEGER or INTEGER8.

-362 Can have only one column of serial type.

Only one SERIAL column can exist in a table. This CREATE TABLE statement
specifies two or more. Review the statement, and remove all but one of
the columns with SERIAL data type. If you intended to have a foreign key
(that is, a column that refers to a SERIAL column in a different table),
the data type of the column in this table should be INTEGER.

-363 CURSOR not on SELECT statement.

The cursor named in this statement (probably an OPEN) has been associated
with a prepared statement that is not a SELECT statement. Review the program
logic, especially the DECLARE for the cursor, the statement id specified
in it, and the PREPARE that set up that statement. If you intended to
use a cursor with an INSERT statement, you can only do that when the INSERT
statement is written as part of the DECLARE statement. If you intended
to execute an SQL statement, do that directly with the EXECUTE statement,
not indirectly through a cursor.

This error is also returned when you attempt to associate a cursor
with a SELECTINTO TEMP statement. Because of the INTO TEMP clause, the
SELECT statement can return no rows and so cannot be used with a cursor.

-364 Column column-name not declared for UPDATE OF.

This UPDATE…WHERE CURRENT OF cursor-name statement refers to at least
one column that does not appear in the FOR UPDATE OF clause of the DECLARE
statement that declared the cursor. Since specific columns were listed
in the cursor declaration, the database server will not allow others to
be updated. Review the declaration and the uses of this cursor. Perhaps
the noted column, and others, should be added to the declaration, or perhaps
the OF clause should be dropped, allowing the cursor to update any column
in the table.

-365 Cursor must be on simple SELECT for FOR UPDATE.

The cursor named in this statement (probably an OPEN statement) was declared
with the FOR UPDATE clause. However, it has been associated with a SELECT
statement that joins two or more tables or that uses UNIQUE, DISTINCT,
GROUP BY, or UNION. Such a SELECT statement cannot be used in an update;
there is no way to distribute the new data back into the multiple tables.

Review the declaration of the cursor. If it is declared FOR statement
id, also review the PREPARE statement that set up that statement. You
might need two cursors, one for general queries and another specifically
for updating.

-366 The scale exceeds the maximum precision specified.

A problem exists with the precision or scale of a DECIMAL or a MONEY data
type in this statement. Review all uses of these types. The first should
be declared as DECIMAL(p) or DECIMAL(p,s) where p, the precision (total
number of digits) is between 1 and 32, and s, the scale (number of digits
to the right of the decimal point) is no greater than p. The MONEY type
follows the same rules.

-367 Sums and averages cannot be computed for character columns.

This statement contains a use of the SUM or AVG function applied to a
column that has a character data type (CHAR or VARCHAR). If you did not
intend to take the sum or average of character strings, review the spelling
of column names against the table definition. If a character column actually
contains numeric values in character form, you can trick the database
server (Version 4.0 and later) into performing an automatic conversion.
Instead of applying the function to the column name alone, apply it to
the expression in parentheses (column+0).

-368 Incompatible sqlexec module.

The version of the database server does not agree with the version of
the database library routines in the application program. This incompatibility
must be resolved before the program can be executed. The database server
is selected through the SQLEXEC environment variable (for database server
versions prior to 6.0). It contains a complete pathname to the database
server code, which is usually named sqlexec or sqlturbo (for database
server versions prior to 6.0). The access routines linked into the program
were chosen when the program was compiled. If the program you are running
was supplied by Informix, then it or another Informix product might have
been installed incorrectly.

-369 Invalid serial number. Please consult your installation instructions.

Some error has been made in the installation of your Informix product(s).
Check the value in the SQLEXEC environment variable (for database server
versions prior to 6.0) and INFORMIXDIR environment variable; then consult
the person who installed the software, and review the installation instructions.

-370 Cannot drop last column.

This ALTER TABLE DROP statement would drop every column from the table.
At least one column must be retained. Revise the statement to leave one
column. Or if you do not want the table at all, use DROP TABLE to remove
it.

-371 Cannot create unique index on column with duplicate data.

This CREATE UNIQUE INDEX statement cannot be completed because the column
(or columns) contains one or more duplicate rows. You can either create
an ordinary index, accepting the duplicate values, or you can modify the
table to remove the duplicates. To get a list of the duplicate values
in a single column, first create the ordinary index. Then use a SELECT
statement such as the following, filling in the table and column names:

SELECT column FROM table main

WHERE 1 < ( SELECT COUNT(*) FROM table sub WHERE main.column
= sub.column )

This statement can be extended to handle the case of multiple columns
using AND.

-372 Cannot alter table with audit trail on.

Once an audit trail has been started for a table, the table should not
be altered. If you must alter the table, do the following. Copy the table
to a backup medium. Use DROP AUDIT to remove the audit trail. Delete the
audit-trail file. Alter the table. Again, copy the table to a backup medium.
Finally, use CREATE AUDIT to start a new audit trail. The first backup
is needed to restore the table if a failure occurs while the table is
being altered (a lengthy, disk-intensive procedure if the table is large).
The second backup is required because, if the table has to be recovered
later, the new audit trail must be applied against a backup that has the
same layout of columns.

-373 DBPATH too long.

While the database server was trying to locate a database using the DBPATH
environment variable, it constructed a full-path string that exceeds its
limit of 80 characters. A limit exists on the length of one complete database
directory pathname, from the starting slash or backslash through the .dbs
suffix. You will have to locate your databases higher up in the directory
hierarchy in order to use them. (The message text is misleading; there
is no specific limit on the total length of the contents of DBPATH.)

-374 Can only use column number in ORDER BY clause with UNION.

This query has both a UNION and an ORDER BY clause. In a union query,
where several select statements exist and the names of the selected columns
in each are not necessarily the same, you cannot use column names in the
ORDER BY clause. Instead you must use column position numbers, where 1
stands for the first selected column, 2 for the second, and so on. Rewrite
the query to use only numbers in the ORDER BY clause.

-375 Cannot create log file for transaction.

While the database server was trying to execute a START statement, it
got an unexpected error in trying to create the transaction-log file.
Check the accompanying ISAM error code for more detailed information on
the cause. Typical causes include a shortage of disk space, file permission
problems, or a limit on the number of open files.

-376 Log file already exists.

The transaction log file you specify in the WITH LOG IN clause must not
already exist. The database server must start a log file fresh; it has
no means of appending log data to an old log file. An existing log file
contains recovery information that may be crucial, so it will not simply
empty an existing file. To make a full backup, lock the database, copy
all of the database directory to a backup medium, erase the log file (it
is no longer needed), and use the START DATABASE statement. To make a
partial backup, lock the database, copy the log file to a backup medium
and store it with the full backup, erase or rename the log file, and use
the START DATABASE statement.

-377 Must terminate transaction before closing database.

This statement (DATABASE, CREATE DATABASE, or CLOSE DATABASE) cannot be
executed until the current transaction is finished.

Use either COMMIT WORK or ROLLBACK WORK and then close the database.

If you export a database and then import it, large-object handles
(for images) will be different after you import the database. Therefore,
if you use static html references for images and export the database
and then import it, you will have to determine the new large-object
handle for each static html reference.

-378 Record currently locked by another user.

A row of a table that this statement needs is not accessible because it
has been locked. Check the accompanying ISAM error code for more detailed
information. It will probably be -107, -113, -134, -143, -144, or -154.
Each notes a slightly different relationship between your program and
the other user’s program. You can prevent most, but not all, occurrences
of this error with SET LOCK MODE TO WAIT.

For database servers prior to Version 4.1, this error message is produced
in conjunction with the UPDATE and the DELETE WHERE CURRENT OF statements
only. In Version 6.0, this error message is no longer used.

-379 Cannot revoke privilege on columns.

In the GRANT statement, you can grant UPDATE or SELECT privilege on specific
columns. However, the REVOKE statement accepts only the keywords for the
type of privilege; you cannot revoke access to specific columns. If you
want to change the columns allowed to a certain user, you must first REVOKE
the privilege in full, then GRANT it on the new list of columns.

-380 Cannot erase log file.

The database server, while trying to initialize a transaction log file,
received an unexpected error. Check the accompanying ISAM error code for
more detailed information on the cause. Typical causes include hardware
errors and file permission problems.

-381 Cannot grant to someone who has granted you the same privilege
before.

The privilege you are trying to grant is one that was first granted to
you WITH GRANT OPTION. The user who made that grant is among the list
of users in this present statement. For security reasons, you may not
do a reciprocal grant. Rewrite the statement leaving out the name of your
original patron. To see a list of the users to whom you may not grant,
query systabauth as follows:

SELECT grantor FROM systabauth WHERE grantee = USER

-382 Same number of columns must be specified for view and select
clause.

In this VIEW statement, you have listed the names of the columns of the
view. However, their number is different from the number of columns in
the SELECT statement for the view. Check the punctuation of the two lists,
and make sure that you have supplied a name for each item in the select
list.

-383 Need to specify view column names in the view definition.

In this VIEW statement, you have not listed specific names for columns.
That action is allowed when the SELECT statement selects only simple,
named columns. However, the SELECT statement here selects one or more
expressions. You must give names to these columns in a parenthesized list
that follows the name of the view. Because you cannot give names for only
some of the columns, you must list names for all.

-384 Cannot modify non simple view.

This statement attempts to modify (insert, delete, or update) rows in
a view. However, this view is not modifiable. The view is based on a SELECT
statement that joins two or more tables or that selects calculated values
or literal values. (You can DELETE from a view that selects from a single
table even if some calculated values are selected.) You will have to direct
the statement against the actual table on which the view is based.

-385 Data value out of range.

This statement attempts to put data into a view that was defined WITH
CHECK OPTION, so new data has to satisfy the tests in the WHERE clause
in the view. However, one or more of the data values in this current statement
does not meet that test, so the alteration was not performed. Roll back
the current transaction. To see what tests new data must satisfy, display
the definition of the view, as follows:

SELECT seqno, viewtext FROM sysviews, systables

WHERE systables.tabname = ‘viewname’ AND systables.tabid
= sysviews.tabid ORDER BY seqno

-386 Column contains null values.

This ALTER TABLE statement contains a MODIFY clause that assigns the NOT
NULL attribute to an existing column. However, that column already contains
one or more null values. The modification cannot be made until the null
values have been deleted or updated to some nonnull value.

-387 No connect permission.

You cannot access the database that this statement requests because you
have not been granted CONNECT privilege to it. Contact a person who has
Database Administrator privilege to that database and ask to be granted
CONNECT privileges to it.

-388 No resource permission.

If you issued a CREATE TABLE, CREATE INDEX, or CREATE PROCEDURE statement,
you cannot execute this statement because your account has not been granted
RESOURCE privilege in this database. You need the RESOURCE privilege to
create permanent tables, indexes on permanent tables, and procedures.

If you issued a SET statement, START VIOLATIONS TABLE statement, or
STOP VIOLATIONS TABLE statement, you cannot execute this statement because
your account has not been granted RESOURCE privilege in this database.
You need the RESOURCE privilege to execute the SET statement for a constraint,
trigger, or index defined on a table in the current database. You also
need the RESOURCE privilege to execute the START VIOLATIONS TABLE or
STOP VIOLATIONS TABLE statement on a base table in the current database.

To recover from this error, contact a person who has the DBA privilege
on this database and ask to be granted the RESOURCE privilege on the
database.

-389 No DBA permission.

This statement cannot be executed because you have not been granted DBA
privilege for this database. Contact a person who has DBA privilege for
the database and ask to be granted DBA privilege (or simply ask to have
this statement executed for you).

It is also possible that you received this message because you tried
to register a user-defined routine that is written in a language for
which you do not have usage privilege. If you do not have usage privilege
for the language, ask one of the following users to grant this privilege
to you: user informix or another user who has been granted the privilege
with the option to grant the privilege to other users.

-390 Synonym already used as table name or synonym.

This CREATE SYNONYM statement names a synonym that is already in use.
To see all the synonym and table names currently defined, query systables
as follows:

SELECT tabname, owner FROM systables WHERE tabid > 99

-391 Cannot insert a null into column column-name.

This statement tries to put a null value in the noted column. However,
that column has been defined as NOT NULL. Roll back the current transaction.
If this is a program, review the definition of the table, and change the
program logic to not use null values for columns that cannot accept them.

-392 System error — unexpected null pointer encountered.

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

-393 A condition in the where clause results in a two-sided outer
join.

This query requests an outer join, but one or more conditions in the WHERE
clause interfere with the dominant-subservient relationship. Review the
query to ensure that every condition that relates two tables is actually
necessary.

-394 View view-name not found.

The named view cannot be dropped as it does not exist. To see names of
existing views, query systables as follows:

SELECT tabname FROM systables WHERE tabtype = ‘V’

-395 The where clause contains an outer cartesian product.

This query requests an outer join, but the WHERE clause is written so
as to imply selecting every row of the subservient table for every row
of the dominant table, resulting in a very large output. Review the query,
and check that at least one condition relates each preserved-subservient
pair of tables in the query.

-396 Illegal join between a nested outer table and a preserved table.

This query requests an outer join, but the WHERE clause contains a condition
that relates a nested subservient table to a preserved table that is not
its immediate parent. This action is not supported. Review the query,
and check that every condition that relates two tables is between a preserved
table and its immediately subordinate table.

-397 System catalog corrupted.

This internal error should not occur. The database server has encountered
something in one or more of the system catalog tables that violates integrity
constraints.

Run the oncheck utility if you are using Informix Dynamic Server 2000,
Informix Dynamic Server, INFORMIX-Universal Server, or INFORMIX-OnLine
Dynamic Server. Run bcheck or secheck if you are using the INFORMIX-SE
database server. Run tbcheck if you are using the INFORMIX-OnLine database
server. If the error recurs, note all circumstances and contact Informix
Technical Support.

-398 Cursor manipulation must be within a transaction.

An attempt to use an UPDATE or a DELETE WHERE CURRENT OF statement produces
this error message. This statement would modify a table through a cursor.
However, this database uses a transaction log. When that is the case,
modifications made through a cursor must be placed within the bounds of
a transaction.

Review the program logic, and check that it executes a BEGIN WORK
statement prior to this statement and that it ends the transaction at
some reasonable point. If the program has to work with both databases
that use transactions and those that do not, you can have it check the
second element of the sqlwarn array of the SQL Communications Area.
This area will contain the letter W after a DATABASE statement if the
database has a transaction log, and a space if it does not.

-399 Cannot access log file.

This query refers to a table named syslog. A row in the systables catalog
has syslog in the tabname column, but it is only a convenient place to
store the pathname to the transaction-log file. Under INFORMIX-SE, a table
named syslog cannot exist in a database with logging. (In general, you
should avoid table names that start with sys-, and syslog is not allowed.)

-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.

-404 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 the UNIX system itself requires rebooting the system.

Roll back the current transaction. Look for ways to make this statement
simpler or move less data. Also, confer with your UNIX 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 DOS systems,
exit to the operating-system command line, free some disk space, and
resubmit your program.

-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 (%s) 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.

-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.

This statement transfers a value between a file and a BYTE or TEXT column,
or the statement attempts to drop a database when a required file is not
available. Because the locator structure field loc_loctype was set to
LOCFNAME, the database server tried to open the file using the pathname
in loc_fname and the flags in loc_oflags. An operating-system error was
returned. Check the accompanying ISAM error code for more information
and look for operating-system messages. Typical causes include lack of
disk space, file permission problems, and limits on the number of open
files.

-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 2000, dollar-sign
characters.

The maximum length for statement names depends on the database server.
In Informix Dynamic Server 2000, 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 2000, 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 2000, 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.

-500 Clustered index index-name already exists in the table.

A table may be clustered on only one index at a time. This table is already
clustered on the index whose name is shown. Before you can cluster on
another index, you must execute ALTER INDEX index-name TO NOT CLUSTER.
To see which tables are clustered on which indexes, query sysindexes and
systables as follows:

SELECT tabname, idxname FROM systables T, sysindexes X

WHERE T.tabid = X.tabid AND X.clustered = ‘C’

-501 Index index-name is already not clustered.

The table is no longer clustered on this index (if it ever was). Make
sure that this is the index you meant; if so, you do not need to alter
this index. For a way to see which tables are clustered, see the discussion
of error -500.

-502 Cannot cluster index.

While the database server was building a new copy of the table with rows
in clustered sequence, it got an unexpected error. Check the accompanying
ISAM error code for more information. Typical causes include a shortage
of disk space.

-503 Too many tables locked.

This database server in this host operating system has a limit on the
number of tables that can be locked at one time. It was unable to lock
the table you requested. Roll back the current transaction. Then redesign
the operation to lock fewer tables, to use row-level locking, or to open
the database in exclusive mode.

-504 Cannot lock a view.

This LOCK TABLE statement cannot be carried out because the table specified
is really a view. Only real tables can be locked. Roll back the current
transaction. Then redesign the operation to work against the real tables
on which the view is based, or open the database in exclusive mode.

-505 Number of columns in UPDATE does not match number of VALUES.

This UPDATE statement uses a SET clause in which a list of column names
is set equal to a list of expressions or to a SELECT statement. The number
of columns on the left of the equal sign is not the same as the number
of data values produced on the right. Roll back the current transaction.
Then rewrite this statement. If a list of expressions is used, check the
punctuation to ensure that each expression is distinct. If a SELECT statement
is used, review it to see how many columns it returns.

-506 Do not have permission to update all columns.

Your account has been granted the privilege of updating specific columns,
but this UPDATE statement updates all columns or columns for which you
do not have the privilege. Contact the owner of the table or someone with
Database Administrator privilege on this database, and ask to be granted
full UPDATE privilege. For a way to list table owners, see the discussion
of error -313.

-507 Cursor cursor-name not found.

The cursor that is named in the WHERE CURRENT OF clause in this UPDATE
or DELETE statement does not exist. Review the spelling of the name. If
it is as you intended, check the DECLARE statement to ensure that it has
been executed. Also make sure that the cursor has not been freed with
the FREE statement.

-508 Cannot rename a temporary table.

This RENAME TABLE statement cannot be executed because the specified table
is temporary. You cannot rename a temporary table. Review the spelling
of the table name. If it is as you intended, drop it, and create it again
under a different name.

-509 Cannot rename a column in a temporary table.

This RENAME COLUMN statement cannot be executed because the specified
table is temporary. You cannot rename a column in a temporary table. Review
the spelling of the table name. If it is as you intended, drop it, and
create it again with different columns.

-510 Cannot create synonym for temporary table table-name.

This CREATE SYNONYM statement cannot be executed because the specified
table is temporary. Review the spelling of the table name. If it is as
you intended, redesign the application. Either make the table permanent,
or do not use a synonym.

-511 Cannot modify system catalog table-name.

You are not allowed to update, insert, or delete rows in this table. If
you are absolutely sure that you must do so, sign on as user informix.
That user account can modify most system-catalog tables. However, this
very risky practice is not recommended unless you are specifically instructed
by Informix Technical Support.

-512 No References privilege on the referenced columns.

You do not have References privilege on the referenced columns. The owner
of the referenced table or a user who has References privilege with the
grant option on that table can grant you this privilege using the GRANT
statement.

-513 Statement not available with this database server.

You cannot do an xa_open() execution if another database is already open.
Make sure that you have closed any open databases before executing xa_open().

-514 Only DBA can create, drop, or grant for another user.

This data definition statement specifies a table, view, index, or synonym
that is owned by another user or grants a privilege as another user. Any
of these things requires Database Administrator privilege, which you do
not have on this database. If you intended to work on objects that you
own, review the punctuation of the statement. At some point in it, you
have qualified a name with the user ID of another account. Otherwise,
get a DBA to grant you DBA privilege or to perform this operation for
you.

-515 Constraint constraint-name has already been dropped.

You are trying to drop a constraint that has already been dropped in the
same ALTER TABLE statement.

-516 System error — temporary output file not created yet.

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.

-517 The total size of the index is too large or too many parts in
index.

All database servers have limits on the number of columns that can be
included in an index and on the total number of bytes in a key (the sum
of the widths of the columns). This CREATE INDEX statement would exceed
that limit for this database server. Informix Dynamic Server 2000, Informix
Dynamic Server, and INFORMIX-Universal Server allow 16 key parts (columnar
or functional) and a width of 390 bytes. INFORMIX-SE supports 8 columns
and a width of 126 bytes. Other Informix database servers allow 16 columns
and 255 characters.

-518 Child constraint constraint-name not found.

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

-519 Cannot update column to illegal value.

One of the values in this UPDATE statement is based on an expression that
is in error. Check each expression in the SET clause for validity. Look
in particular at uses of built-in functions such as LENGTH and DATE.

-520 Cannot open database tblspace.

The database server cannot locate the disk partition in which it has stored
a table that is referenced in this command. Contact the database server
administrator to find out what the problem is. Possibly the chunk that
contains this tblspace has been taken off-line.

-521 Cannot lock system catalog table-name.

You cannot lock any of the tables that comprise the system catalog. All
users need them at all times. The database server handles concurrent access
to them correctly, so simply remove this statement from your program.

-522 Table table-name not selected in query.

You used a correlation name to qualify a column name in either a GROUP
BY clause or a SET clause. Consider rewriting the statement in an SPL
routine that you then use as the triggered action, passing the column
value as an argument. In any case, you must rewrite the statement without
a using a correlation name in the GROUP BY clause or the SET clause.

-523 Can only recover, repair or drop table.

This statement (RECOVER, REPAIR, or DROP) specifies a view. However, these
statements are only supported for real tables, not views. In the case
of DROP, if you drop any of the tables used in the view, the view will
be removed as well. To recover or repair this table, you must recover
or repair the tables on which the view is defined. For a way to list the
names of tables that are views, see the discussion of error -394.

-524 Lock table can only be used within a transaction.

Because this database has a transaction log, a table can only be locked
within a transaction. Review the program, and ensure that a BEGIN WORK
statement is issued to start a transaction before this statement.

-525 Failure to satisfy referential constraint constraint-name.

During an ALTER TABLE or SET statement, you have added or re-enabled a
referential constraint that the data in the table violates. Check that
the data in the referencing column (child key) exists in the referenced
column (parent key).

-526 Updates are not allowed on a scroll cursor.

For a DECLARE statement, the clause FOR UPDATE is not allowed in conjunction
with the SCROLL keyword. For an UPDATE statement in an ANSI-compliant
database (in which the FOR UPDATE clause is not required when declaring
a cursor for update), the cursor named in this statement was declared
with the SCROLL keyword and may not be used for updates. The way a scroll
cursor is implemented makes it unsafe for updating a table, since it will
sometimes not reflect the current state of the selected rows. If you want
to use a scroll cursor to examine rows and then update them, you may redesign
your application in the following way (among many). Use the scroll cursor
to select also the ROWID of each row. Declare a second, nonscrolling cursor
that selects one row for update based on its ROWID. When it is time to
update a selected row:

  • Open the update cursor using the ROWID value found by the scrolling
    cursor.
  • Fetch the row, and check the error code (the row might have been
    deleted).
  • If the fetch succeeded, verify that the row contents are unchanged
    from those selected by the scrolling cursor (the row is now locked,
    so it cannot change further, but it might have changed between the
    two fetches).
  • If the row is unchanged, update it using the nonscrolling cursor.
  • Close the nonscrolling cursor.
  • This procedure ensures that the update reflects the current state
    of the table but also retains the convenience of the scrolling cursor.
    A fetch by ROWID of a recently fetched row will usually entail no
    disk activity and so will not cost much time.

-527 Lock Mode is not available on this system.

You tried to use the SET LOCK MODE TO WAIT statement on INFORMIX-SE, but
your INFORMIX-SE database server uses CREATE LOCKING rather than System
V locking. If the error recurs, please note all circumstances and contact
Informix Technical Support.

The database server cannot execute the SET LOCK MODE TO WAIT statement
because the host operating system does not have adequate support for
locking to permit waiting for a lock to be released. On this system,
your program will be notified when a table or row is locked (with an
error such as -233 or -378); your program determines what to do next,
such as rolling back the transaction and trying it again.

-528 Maximum output rowsize max-size exceeded.

The total number of bytes that this statement selects exceeds the maximum
that can be passed between the database server and the program. Make sure
that the columns selected are the ones that you intended. Check that you
have not named some very wide character column by mistake, neglected to
specify a substring, or specified too long a substring. If the selection
is what you require, rewrite this SELECT statement into two or more statements,
each of which selects only some of the fields. If it is a join of several
tables, you might best select all desired data INTO TEMP; then select
individual columns of the temporary table. If this is a fetch via a cursor
in a program, you might revise the program as follows. First, change the
cursor to select only the ROWID of the desired row. Second, augment the
FETCH statement with a series of SELECT statements, each of which selects
one or a few columns WHERE ROWID = the saved row ID.

-529 Cannot attach to shared memory.

This error message appears prior to Version 6.0. Your application program
is unable to initialize its connection to the database server because
you are using a shared-memory implementation. Either the database shared
memory has not been initialized, or the maximum number of users has already
started using the system. Check the accompanying ISAM error code for more
information.

-529 Cannot attach to transaction.

This error message appears beginning with Version 6.0. Your application
program is unable to initialize its connection to the database server
because you are using a shared-memory implementation. Either the database
shared memory has not been initialized, or the maximum number of users
has already started using the system. Check the accompanying ISAM error
code for more information.

-530 Check constraint constraint-name failed.

The check constraint placed on the table column(s) was violated. To see
the check constraint associated with the column(s), query the syschecks
system catalog table. However, you must know the constrid for the check
constraint before you query syschecks. (The constrid is assigned in the
sysconstraints system catalog table.) Use the following subquery to show
the check constraint for constraint-name:

SELECT * FROM syschecks

WHERE constrid = (SELECT constrid FROM sysconstraints WHERE
constrname = constraint-name)

-531 Duplicate column column-name exists in view.

This CREATE VIEW statement gives a list of column names, and at least
one of them appears twice in the list. Review the list of column names,
and make sure that each appears only once.

-532 Cannot alter temporary table table-name.

The table shown is only a temporary table. It will vanish when this session
ends. Such tables cannot be altered. To alter the shape of the table,
simply drop it, and re-create it.

-533 Extent size too small, minimum size is number k.

The size that is specified for a disk extent (either the EXTENT SIZE or
the NEXT SIZE clause) must be at least four times the disk page size,
as shown. Generally, set EXTENT SIZE large enough to hold all of the rows
as you initially estimate them, and set NEXT SIZE at an eighth or a quarter
of that.

-534 Could not insert new row into table, table is locked.

Database servers at Version 4.0 and later do not return this error. In
earlier versions, its meaning is the same as error -271 with ISAM error
code -113. Roll back the current transaction, and run it again when the
table has been unlocked.

-534 Cannot open EXPLAIN output file.

The statement SET EXPLAIN ON has been executed, and the database server
is trying to open the file sqexplain.out in the current working directory.
An operating-system error of some kind prevents it. See the ISAM error
code for more information. Look for operating-system error messages that
might give more detail. Likely problems include a lack of write permissions
in the current directory and a full disk. This error message appears beginning
with Version 4.1.

-535 Already in transaction.

This BEGIN WORK statement is redundant; a transaction is already in progress.
If this is a program, review its logic to make sure it has not accidentally
failed to end the previous transaction.

-536 Number of columns in child constraint does not match number
of cols in parent constraint.

The number of referencing columns (child key) does not match the number
of referenced columns (parent key) in the referential constraint. Check
that a one-to-one relationship exists between referenced and referencing
columns.

-537 Constraint column column-name not found in table.

The column that is specified in a constraint definition does not exist.

-538 Cursor cursor-name has already been declared.

The cursor that is named in this DECLARE statement has also been named
in a DECLARE statement that was executed earlier. Possibly the same DECLARE
is being executed in a loop, or possibly the program meant to execute
a FREE statement for this cursor but did not. Review the program logic
to ensure that it executes only a single DECLARE for each cursor (except
after freeing one).

-539 DBTEMP too long.

The pathname in the DBTEMP environment variable exceeds the limit on pathnames,
which is 80 characters. You will have to locate the temporary directory
higher in the directory hierarchy. Since Version 5.01, the INFORMIX-SE
database server uses the DBTEMP environment variable, but Informix Dynamic
Server and INFORMIX-OnLine Dynamic Server do not.

-540 Write failed on constraints.

An error occurred while defining a constraint. Possibly you have defined
a constraint whose name duplicates the name of another constraint, table,
or index. If this is the case, repeat the statement, specifying a unique
name. Otherwise, check the accompanying ISAM error code for more information.

-541 User does not have ALTER privilege.

You must have the correct privilege before you can alter the name of a
table or the names, types, or number of columns in it. You must also have
the correct privileges to set the object modes for constraints and triggers.

You must be the owner of the database object, have Database Administrator
privilege in the database, or be granted ALTER privilege for the database
object by its owner or a DBA. See the discussion of error -313 for a
way to list the owners of tables and users with DBA privilege.

-542 Cannot specify a column more than once in a constraint, trigger,
or index.

You name the same column more than once in the triggering column list
of an update trigger. Remove the duplicate occurrence of the column name,
and try again. This error also will appear if duplicate column names exist
in the index list.

-543 ESCAPE character must be only one character.

In the WHERE clause, a subclause ESCAPE char contains more than one character
as char. Review the punctuation of the clause, and revise it so that it
specifies just one character.

-544 Cannot have aggregates within aggregates.

The statement contains a call on an aggregate function within the parameter
list for another aggregate function, such as SUM(MAX(column)). This action
is not supported because all aggregates are calculated over the same groups
of rows. If you did not intend an expression of this sort, look for missing
or misplaced parentheses. If you did intend it, rethink the query. For
example, you might select the MAX values into a temporary table and then
take their SUM.

-545 No write permission for table table-name.

Check the accompanying ISAM error code for more information. With this
database server, a database is a directory with the name dbname.dbs, while
tables and indexes are files within that directory. You need to have read
and write access to all these files in order to exercise normal database
functions.

-546 Cannot have host variables when creating a view view-name.

This statement either prepares or executes a CREATE VIEW statement in
which the SELECT statement refers to host variables. This action is not
supported. The SELECT statement in a view can be executed from any program
and cannot rely on the variables of one program. Review the CREATE VIEW
statement, and make sure that it does not contain the names of any host
variables, an INTO clause, or a ? placeholder.

Database servers after Version 5.01 do not use this error message.

-547 Must rollforward database in the directory where the database
is.

Before you execute the ROLLFORWARD statement, make the current directory
the directory that contains the dbname.dbs directory for the database.
Then execute the statement again.

-548 No referential constraint or trigger allowed on a TEMP table.

You cannot create a constraint or a trigger on a temporary (TEMP) table.
Consider creating the temporary table as a permanent table in the database.
If this option is feasible, create the table, and then create the trigger
on it.

-549 Column column-name in UNIQUE constraint is not a column in the
table.

The column appears in the list of columns for a UNIQUE clause, but it
is not one of the columns defined in this table. Check the spelling of
all column names in this statement. If they are as you intend, then check
the definition of the table. See the discussion of error -328 for a way
to list all column names in a table.

Database servers after Version 5.01 do not use this error message.

-550 Total length of columns in constraint is too long.

The total size of all the columns listed in a UNIQUE, PRIMARY KEY, or
FOREIGN KEY clause is limited. The limit depends on the database server
in use, but all servers support a total of 120 bytes. The limit is the
same as the restriction on the total size of all columns in a composite
index. For additional information, see the CREATE TABLE statement in the
Informix Guide to SQL: Syntax.

-551 The constraint contains too many columns.

The total number of columns listed in a UNIQUE, PRIMARY KEY, or FOREIGN
KEY clause is limited. The limit depends on the database server in use,
but all database servers support eight columns. The limit is the same
as the restriction on the number of columns in a composite index. For
additional information, refer to the CREATE INDEX statement in the Informix
Guide to SQL: Syntax.

-552 Blob host variables are disallowed in multi-statement prepares.

This EXECUTE statement executes a prepared list of multiple statements.
One or more of the host variables supplied for the ? placeholders in the
list is a locator structure for a TEXT or BYTE value. This action is not
allowed. Statements that refer to TEXT or BYTE variables may be prepared
and executed, but they must be single statements, not part of a multistatement
list.

-553 Mkdbsdir not found in $INFORMIXDIR/bin. Consult your installation
instructions.

An executable program, mkdbsdir, is used to create the initial contents
of the database directory during a CREATE DATABASE statement. It is distributed
with the database server and should be found in the bin subdirectory of
the directory that the INFORMIXDIR environment variable names, but it
was not. Check the setting of INFORMIXDIR, and then consult with the person
who installed the software.

-554 Syntax disallowed in this database server.

The database server that you are using does not support this statement
or some clause in it. When a program starts, the database server in use
is chosen based on the SQLEXEC environment variable (for database servers
prior to Version 6.0). Several small differences in statement syntax exist
between INFORMIX-SE and other Informix database servers. For example,
INFORMIX -SE supports the IN ‘pathname’ clause of the CREATE TABLE statement
while other Informix database servers support the IN dbspace clause instead.

-555 Cannot use a select or any of the database statements in a multi-query
prepare.

The statement text that is presented with this PREPARE statement has multiple
statements divided by semicolons, and one is a SELECT, DATABASE, CREATE
DATABASE, or CLOSE DATABASE statement. These statements must always be
prepared as one-statement texts. Check the statement text string, and
make sure that you intended multiple statements. If you did, revise the
program to execute these four statement types alone.

-556 Cannot create, drop, or modify an object that is external.

This statement attempts to create, drop, or alter an object in an external
database, one other than the current database. You can only read the contents
of an external database.

If you make the external database your current database, you can modify
the contents. Review all uses of names beginning with , which
refers to an object in the external database .

-557 Cannot locate table that is external to the current database
after levels of synonym mapping.

One of the tables named in this query was in fact a synonym, and it pointed
outside the current database. It named another synonym that pointed outside
its database, and so on for synonyms with no real table
being found. The database server has given up on the query in case an
endless chain of synonyms exists.

To review the synonyms in the current database that refer to external
databases, query systables and syssyntable as follows:

SELECT T.tabname synonym, servername, dbname, user, S.tabname

FROM systables T, syssyntable S WHERE T.tabtype = ‘S’ AND
T.tabid = S.tabid AND S.btabid IS NULL

To follow a chain of synonyms through external databases, use a similar
query in the external database and substitute for servername, dbname,
and tabname the values that the preceding query returns each time.

SELECT T.tabname synonym, servername, dbname, user, S.tabname

FROM dbname@servername:systables T, dbname@servername:syssyntable
S WHERE T.tabtype = ‘S’ AND T.tabname = ‘tabname’ AND T.tabid = S.tabid

When this query returns no row, the requested tabname is not defined as
a synonym in that database (it is a table, a view, or not defined).

-558 Changrp not found in $INFORMIXDIR/bin. Consult your installation
instructions.

This command requires the presence of an executable program named changrp,
which is normally installed as part of the database server. It should
be in the bin subdirectory of the directory that INFORMIXDIR environment
variable names. Check the value in that variable, and then consult with
the person who installed the software.

-559 Cannot create a synonym on top of another synonym.

This CREATE SYNONYM statement names another synonym. Making a chain of
synonyms is not supported. See the discussion of error -218 for a way
to list the names of all synonyms. To have a second synonym with the same
meaning as the first, find out the meaning of the other synonym. Then
make a new synonym to refer to the same base table. To see the base table
for a given synonym, query systables and syssyntable as follows, substituting
the name of the synonym:

SELECT T.tabname synonym, S.* FROM systables T, syssyntable S

WHERE T.tabname = name AND T.tabid = S.tabid

If btabid is defined in the resulting display, the synonym refers to a
table in that current database with that tabid; otherwise, it refers to
an external database.

-560 Synonym with tabid number not found in systables.

Either the systables or syssyntable system catalog, or an index on one
of these, has been corrupted. Run the bcheck or secheck utility. Be prepared
to drop and re-create all synonyms.

-561 Sums and averages cannot be computed on datetime values.

This statement applies an aggregate function such as SUM to a column that
has the type DATETIME. The function is not defined on this data type since
arithmetic is not. Review the use of aggregate functions. You will have
to revise the query.

-562 Database conversion failed.

You are running a new version of the database server, and you just opened
a database for the first time with this level of the software. The database
server tried to upgrade the database automatically, probably by defining
an additional system-catalog table. An unexpected error occurred. Check
the accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

Database servers after Version 5.01 do not use this error message.

-563 Cannot acquire exclusive lock for database conversion.

You are running a new version of the database server, and you have just
opened a database for the first time with this level of the software.
The database server has tried to upgrade the database automatically, probably
by defining an additional system catalog table. However, it needs to lock
the database for exclusive use to do this conversion, and some other user
has the database open. Wait a short time, and try this statement again.
At that time, the database might be free (or another user’s action might
have updated it).

-564 Cannot sort rows.

This internal error reflects an unexpected condition during a sort. Check
the accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-565 Cannot read sorted rows.

This internal error reflects an unexpected condition during a sort. Check
the accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-566 Cannot initiate sort.

This internal error reflects an unexpected condition during a sort. Check
the accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-567 Cannot write sorted rows.

This internal error reflects an unexpected condition during a sort. Check
the accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-568 Cannot reference an external database without logging.

This statement refers to a database other than the current database. However,
the current database uses transaction logging, and the external one does
not. This action is not supported; the databases that are used in a single
transaction must all use logging or all not use it.

-569 Cannot reference an external database with logging.

This statement refers to a database other than the current database. However,
the current database does not use transaction logging, and the external
one does. This action is not supported; the databases that are used in
a single transaction must all use logging or all not use it.

-570 Cannot reference an external ANSI database.

This statement refers to a database other than the current database. However,
the current database is not ANSI compliant, and the external one is. This
action is not supported; the databases that are used in a single transaction
must all be ANSI compliant, or all must not be.

-571 Cannot reference an external non-ANSI database.

This statement refers to a database other than the current database. However,
the current database is ANSI compliant, and the external one is not. This
action is not supported; the databases used in a single transaction must
all be ANSI compliant, or all must not be.

-572 The specified wait duration is too long.

The maximum time that you can specify as the WAIT time in SET LOCK MODE
is 32,767 seconds. Review this statement, and make sure it specifies the
duration in seconds that you intended. If so, either use a shorter duration,
or (since 32,767 seconds is more than 9 hours) simply omit the duration
to specify an indefinite wait.

-573 Cannot set log to buffered in a mode ANSI database.

This statement tries to apply BUFFERED LOG mode, but the database is ANSI
compliant; that is, it was created with the clause MODE ANSI. One aspect
of ANSI compliance is that all transactions are logged immediately during
the execution of the COMMIT WORK statement. The use of a buffered log
entails a deferred write of log records. It improves performance at some
slight risk of failing to log a transaction. Such a risk is not allowed
under the standard; an ANSI-compliant database must use unbuffered logging.

-574 A subquery has returned not exactly one column.

This statement contains a subquery (a SELECT statement within parentheses)
to represent a single value (on one side of a relational operator such
as equals). Such a subquery must return exactly one row and one column;
otherwise, it is unclear which value the subquery represents. This subquery
has returned more than one value. This error can occur if you specify
the ITEM keyword in a collection subquery with more than one element in
the projection list.

Review all subqueries to make sure that they can return at most one
column (by listing only one expression after SELECT) and at most one
row (by testing a unique key in the WHERE clause). For a collection
subquery, either drop the ITEM keyword or make sure that the projection
list contains only one element.

-575 LENGTH() requires string type values.

This statement contains a use of LENGTH that is applied to a column or
an expression that is not a character type (not CHAR or VARCHAR). This
action is not supported. Review the uses of LENGTH, and make sure they
apply only to character values.

-576 Cannot specify CONSTRAINT name for TEMP table.

You cannot specify a constraint (either UNIQUE, PRIMARY KEY, or CHECK)
name for constraints placed on temporary tables. This action is not supported
for a temporary table. However, you can specify that a column receives
one of these constraints, and you can specify a list of columns as having
a constraint, but you may not use the CONSTRAINT constraint-name clause.
Temporary tables and their indexes are not recorded in the usual system
catalog tables.

-577 A constraint of the same type already exists on the column set.

You have placed a constraint (either UNIQUE, PRIMARY KEY, FOREIGN KEY,
or CHECK) on a set of columns, but a constraint of the same type on those
columns already exists. In the case of a FOREIGN KEY, this error only
occurs if the same foreign-key set of columns references the same existing
parent key set of columns. Either the constraint was established when
the table was created, or it was added later. Because the constraint already
exists, it is not added again.

-578 Owner name is too long.

This statement contains an owner name that qualifies the name of a table,
view, index or synonym, and the owner name is longer than the maximum
of 8 characters (for example, overly_long.tablename). Review the punctuation
and spelling of all identifiers. Possibly an omitted space or comma causes
two names to run together. To check the names of all known owners, select
the owner column of the relevant system catalog: systables, sysindexes,
or syssynonyms.

-579 Not owner of synonym.

You do not own the synonym that is specified in this DROP SYNONYM statement.
To drop an object you do not own, you must have Database Administrator
privilege.

-580 Cannot revoke permission.

This REVOKE statement cannot be carried out. Either it revokes a database-level
privilege, but you are not a Database Administrator in this database,
or it revokes a table-level privilege that your account name did not grant.
Review the privilege and the user names in the statement to ensure that
they are correct. To summarize the table-level privileges you have granted,
query systabauth as follows:

SELECT A.grantee, T.tabname FROM systabauth A, systables T

WHERE A.grantor = USER AND A.tabid = T.tabid

-581 Error loading message file.

This SET EXPLAIN statement could not be completed because the database
server was unable to find the file of message templates it uses when it
prepares explanatory output. Consult with the person who installed the
Informix software.

-582 Database does not have logging.

This ROLLFORWARD statement could not be executed because this database
does not have a transaction log. The rollforward operation uses the transaction
log as its input. Since no transactions have been logged, the database
cannot be rolled forward.

-583 View permissions no longer valid — permissions on remote objects
revoked.

This statement queries a view that is based on tables in external databases
(databases other than the current database). However, in one or more of
those external databases, your account does not have the necessary table-level
privilege on a table that the view uses, or possibly your CONNECT privilege
for an external database has been revoked. For a way to display the definition
of a view, see the discussion of error -385. In the view definition, look
for table names that are qualified with database names and possibly site
names.

-584 Cannot rename system catalog.

This RENAME TABLE statement cannot be carried out because it would rename
one of the tables that make up the system catalog. The names of these
tables cannot be changed; the database server uses them.

-585 Cannot rename column in system catalog.

This RENAME COLUMN statement cannot be carried out because it would rename
a column of one of the tables that make up the system catalog. The database
server relies on these column names for internal queries, and you cannot
change them.

-586 Cursor is already open.

This database is operating in ANSI compliance (it was created or started
MODE ANSI). By the rules of ANSI SQL, a cursor must always be closed before
it can be reopened. Review the logic of the program. Possibly it was originally
written to take advantage of one of the Informix extensions to SQL: if
a cursor is reopened, it is automatically closed and opened. In the current
database, that action is not allowed.

-587 Cannot delete file filename.

Version 4.0 and later do not use this message. For previous versions,
check the accompanying ISAM error code for more information.

-588 Invalid host variable number.

Database servers starting with Version 4.1 detect this internal error.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-589 Cannot update multiple sites within a single transaction.

This database server supports only single-site update. The operations
within one transaction can modify data at only one site in the network.
Some preceding statement within this transaction has already modified
data at one site; the current statement would modify data at a second
site. The statement is not executed. Roll back the current transaction.
Examine the application in the light of this restriction. Check the names
of all tables that UPDATE, INSERT, and DELETE statements affect to make
sure they are all in the same database or in databases that the same database
server holds. (Check the definition of any synonyms. Synonyms can make
tables in external databases appear to be in the current database.)

Database servers after Version 5.01 do not use this error message.

-590 Routine cache corrupted.

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

-590 Procedure cache corrupted.

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

-591 Invalid default value for column/variable / .

The specified default value is the wrong type or is too long for a column
or an SPL-routine variable.

To specify a valid default value for a column, use the DEFAULT clause
in a CREATE TABLE statement. To specify a valid default value for a
variable in an SPL routine, use the DEFAULT clause in a DEFINE statement.

-592 Cannot specify column to be not null when the default value
is null.

This CREATE or ALTER TABLE statement specifies that a column may not contain
nulls (the NOT NULL clause), but it also has a DEFAULT clause giving the
default value for new rows as NULL. This contradiction is not allowed.

-593 Cannot specify default value for SERIAL column.

This CREATE or ALTER TABLE statement specifies that a column has a SERIAL
data type, but it also has a DEFAULT clause for the column. The database
server generates values for a SERIAL column each time a row is created,
so the DEFAULT clause is meaningless.

-594 Cannot specify non-null default value for TEXT or BYTE column.

This CREATE or ALTER TABLE statement specifies that a column has a data
type of BYTE or TEXT. It also has a DEFAULT clause for the column that
specifies something other than NULL. You can only designate the default
value NULL for columns of TEXT or BYTE data type.

-595 Bad use of aggregate in this context.

An aggregate function was used outside an SQL statement inside an SPL
routine expression, or it was used inside a check constraint.

An example of the error follows:

LET var = MAX(another_var) + 10; — error

An SPL routine expression, or the expression in a check constraint,
can refer to only a single value, so the use of an aggregate function
is meaningless.

-596 Bad EXIT/CONTINUE statement. Not within a statement-name loop.

The SPL routine EXIT and CONTINUE statements must be placed within a FOREACH,
WHILE, or FOR loop.

-597 [Internal] Premature End Of Buffer.

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

-598 Bad cursor name cursor-name.

Inside an SPL routine, a nonexistent cursor name was specified in an UPDATE/DELETE…WHERE
CURRENT OF statement.

FOREACH cur1

FOR SELECT col INTO var FROM tab UPDATE tab SET col = proc(var)
WHERE CURRENT OF bad_cur_name; — error

END FOREACH

-599 Cannot mix Informix Dynamic Server 2000 syntax with INFORMIX-SE
syntax.

Syntax specific to Informix Dynamic Server 2000 and to the INFORMIX-SE
database server was mixed in the same statement. Use the appropriate syntax
for your database server.

-599 Cannot mix Dynamic Server or INFORMIX-OnLine syntax with INFORMIX-SE
syntax.

Syntax specific to Informix Dynamic Server or INFORMIX-OnLine Dynamic
Server and to the INFORMIX-SE database server was mixed in the same statement.
Use the appropriate syntax for your database server.

-600 Cannot create TEXT or BYTE value.

This statement creates a new BYTE or TEXT value, but some unexpected error
prevented the creation of that value. Roll back the current transaction.
Check the accompanying ISAM error code for more information. Possibly
the storage space or tbspace has filled up, or you are not referring to
a valid storage space. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-601 Cannot delete TEXT or BYTE value.

This statement replaces or deletes a BYTE or TEXT value, but some unexpected
error prevented the deletion of the old value. Roll back the current transaction.
Check the accompanying ISAM error code for more information. Possibly
a hardware error or data corruption of the storage space or tblspace occurred.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-602 Cannot open TEXT or BYTE value.

This statement refers to a BYTE or TEXT value, but some unexpected error
prevented locating the value. Roll back the current transaction. Check
the accompanying ISAM error code for more information. Possibly a hardware
error or data corruption of the storage space or tblspace occurred. If
the error recurs, please note all circumstance, and contact Informix Technical
Support.

-603 Cannot close TEXT or BYTE value.

This statement writes a BYTE or TEXT value, but some unexpected error
prevented finishing the creation of the value. Roll back the current transaction.
Check the accompanying ISAM error code for more information. Possibly
a hardware error or data corruption of the storage space or tblspace occurred.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-604 Cannot read TEXT or BYTE value.

This statement refers to a BYTE or TEXT value, but some unexpected error
prevented access to the value. Roll back the current transaction. Check
the accompanying ISAM error code for more information; possibly a hardware
error or data corruption of the storage space or tblspace occurred. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-605 Cannot write TEXT or BYTE value.

This statement writes a BYTE or TEXT value, but some unexpected error
prevented the creation of the value. Roll back the current transaction.
Check the accompanying ISAM error code for more information; possibly
a hardware error or data corruption of the storage space or tblspace occurred.
One possible cause is that the storage space for this column is full.
Another is that although a new chunk has been assigned to the storage
space, pages cannot be allocated in it until the addition of the chunk
has been logged and the log file closed. The database server administrator
can use the tbmode -l or onmode -l command to force a log file to be closed.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-606 Invalid storage-space name for TEXT or BYTE data.

If this statement refers to a storage space (for example, the CREATE TABLE
statement might create a column with type TEXT IN blobspace-name), the
name is invalid or does not exist. Review the identifiers intended as
storage-space names. If they are spelled as you intended, consult with
the database server administrator to find out whether they exist and are
on-line. If the statement does not refer to a storage space, this is an
internal error. If the error recurs, please note all circumstances and
contact Informix Technical Support.

-607 Text/Byte subscript error.

This statement refers to a TEXT or BYTE value that uses substring notation
(numbers in square brackets that follow the name). However, the substring
is not correctly written. Review all uses of substrings, and make sure
that the first number in each is greater than zero but not greater than
the length of the value; the second number is not less than the first;
and the numbers are separated by a comma.

-608 Illegal attempt to convert Text/Byte data type.

This statement is written to imply a conversion from a TEXT or BYTE value
to another data type, for example, by combining it with other types in
an expression or by inserting it into a column of another type. This action
is not supported; TEXT and BYTE columns can only be selected or be copied
into other columns of the same type. Check that the statement names the
columns you intended and that they have the data types you thought.

-609 Illegal attempt to use Text/Byte host variable.

This statement uses a host variable that is a TEXT or BYTE locator structure
but combines it with data of some other type (for instance, in an expression
or by inserting it into a column of another type). This action is not
supported; host variables of these types may only be used for selecting
from, creating, or inserting into columns of the same type.

-610 Index not allowed on TEXT or BYTE columns.

This CREATE INDEX statement names a column of the TEXT or BYTE type; however,
these types are not supported for indexing. Because no defined lexical
ordering exists for these types, the database server does not know how
to sort or compare them. Therefore it cannot build an inverted index.
Possibly you understand the data well enough to understand how to extract
an ordered set of key values from it. If so, perform the extraction into
a separate column in the same table, and index that column.

-611 Scroll cursor can’t select TEXT or BYTE columns.

The cursor that is named in this statement is associated with a SELECT
statement that returns one or more TEXT or BYTE columns. Also, the cursor
is declared with the SCROLL keyword. This action is not supported.Rows
that are fetched through a scroll cursor are also stored in a temporary
table. Because of the bulk of TEXT and BYTE values, this action would
produce an unacceptable cost in time and disk space. Revise the declaration
of the cursor to select the desired columns of other types and also the
ROWID. After you fetch a row through the scrolling cursor, use a separate,
nonscrolling cursor to fetch the BYTE or TEXT value(s), WHERE ROWID=host-var.

-612 TEXT and BYTE columns are not allowed in the «group by» clause.

This SELECT statement selects one or more BYTE or TEXT values and also
specifies those columns in the GROUP BY clause. This action is not supported.
Since no defined lexical order to BYTE or TEXT values exists, the database
server cannot order or compare them. Therefore it cannot group rows on
their values. (This condition is true even of substrings selected from
a BYTE or TEXT column.) Review your SELECT statement to ensure that the
correct columns are named in the GROUP BY clause.

-613 TEXT and BYTE columns are not allowed in the «distinct» clause.

This statement specifies DISTINCT values, but it also selects a BYTE or
TEXT value. The database server does not know how to compare or order
these values, so it cannot sort them, and it cannot locate duplicate values.
You cannot use the DISTINCT keyword when these data types are selected.
Reword your SELECT statement to either remove the keyword or select only
normal columns.

-614 TEXT and BYTE columns are not allowed in the «order by» clause.

This SELECT statement selects one or more BYTE or TEXT values, and also
specifies those columns in the ORDER BY clause. This action is not supported.
Because no defined lexical order to BYTE or TEXT values exists, the database
server cannot order them. (This is true even of substrings selected from
a BYTE or TEXT column.) Review your SELECT statement to ensure that he
correct columns are named in the ORDER BY clause.

-615 TEXT and BYTE columns are not allowed in this expression.

This statement uses an aggregate function, such as COUNT, SUM, MIN, MAX,
or AVG, but applies it to a column that has the BYTE or TEXT data type.
This action is not supported.

Review the use of each aggregate function to make sure that it is
not applied to a BYTE or TEXT column.

-616 A TEXT or BYTE subscript is not allowed within this context.

This UPDATE or INSERT statement specifies a subscripted column of BYTE
or TEXT data type as a destination. Subscript notation is not allowed
in this context; a BYTE or TEXT (or any other) value must be replaced
in full. Revise the statement to assign into whole columns.

-617 A TEXT or BYTE data type must be supplied within this context.

This statement assigns a value that is not a simple large object to a
BYTE or TEXT column or assigns a BYTE or TEXT column to a column that
is not a simple large object. Neither action is supported. BYTE and TEXT
values must be assigned as whole units to columns of the same type. Check
that the statement specifies the columns that you intended.

-618 Error on copying TEXT or BYTE data.

This statement copies a BYTE or TEXT value from one row to another, but
some unexpected error interfered with the operation. Roll back the current
transaction. Check the accompanying ISAM error code for more information;
possibly a hardware error, data corruption of the storage space or tblspace,
or a shortage of disk space exists, or an invalid storage space was named.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-619 A TEXT or BYTE error has occurred in the front-end application.

This statement transfers a BYTE or TEXT value between the database and
the user program, but something has happened to prevent that. For example,
perhaps it was not possible to allocate a buffer for a value that was
located in memory. Check the accompanying ISAM error code for more information.

-620 Unable to update next extent size.

This internal error indicates the database server cannot change an internal
data structure (not a system catalog) that is stored in the root dbspace.
Check the accompanying ISAM error code for more information. Possibly
corruption of the root dbspace occurred. Have the database server administrator
run the oncheck, onutil, or tbcheck utility.

-621 Unable to update new lock level.

This internal error indicates that the database server is unable to convert
a lock from shared to exclusive. Check the accompanying ISAM error code
for more information. Possibly a hardware error or a problem with shared
memory exists. If the error recurs, please note all circumstances and
contact Informix Technical Support.

-622 Error on locating constraint index index-name.

This internal error shows that the database server is trying to test a
new or updated row for uniqueness under a UNIQUE or PRIMARY KEY constraint,
but the index that implements the constraint cannot be found. Check the
accompanying ISAM error code for more information. Corruption of the system
catalog tables or the root dbspace or a hardware problem might have occurred.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-623 Unable to find CONSTRAINT constraint-name.

The constraint specified in this statement cannot be found. Review the
spelling of the name shown. If it is as you intended, check the names
of existing named constraints by querying the sysconstraints table as
shown in the following example. If the owner name shown for the desired
constraint is not yours, you need to be a Database Administrator to reference
it (and, if this database is ANSI compliant, you need to qualify the name
with its owner-name).

SELECT constrname, owner FROM informix.sysconstraints

-624 Unable to drop CONSTRAINT constraint-name.

This internal error shows that the database server had an unexpected error
while dropping a constraint or the index that implemented it. Check the
accompanying ISAM error code for more information. Corruption of the system
catalogs or the root dbspace might have occurred, or a hardware problem
might exist. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-625 Constraint name constraint-name already exists.

The constraint name already exists. Review the spelling. If it is as you
intended, you must select another name, or drop and redefine the existing
constraint. See the discussion of error -623 for a way to list all constraints.

-626 Cannot obtain or set serial value.

This internal error message does not refer to a problem with a SERIAL
column in a table that you defined. The database server uses unique integer
values for many purposes (for example, the table ID number for a new or
altered table). An internal error has made it impossible to generate a
new, unique number. For example, in host systems that use files for locking,
something might have prevented the creation of a lock file. Check the
accompanying ISAM error code for more information. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-627 Cannot prepare coordinator for two-phase commit.

Because the coordinator cannot prepare this INFORMIX-STAR two-phase commit
transaction, all participants eventually roll back all work that is associated
with the transaction. No administrative intervention is required. See
the ISAM error for more information about why the database server could
not prepare to commit the local transaction.

-628 Cannot end two-phase commit transaction at coordinator.

The database server acting as coordinator for the transaction cannot end
this INFORMIX-STAR two-phase commit transaction, and the transaction remains
open. Eventually, INFORMIX-STAR automatic recovery mechanics will end
the transaction. No administrative intervention is required. See the ISAM
error for more information about why the database server could not end
the transaction properly.

-629 Cannot end heuristically rolled back transaction.

The database server acting as coordinator for the transaction cannot end
this INFORMIX-STAR two-phase commit transaction, and the transaction remains
open. Eventually, INFORMIX-STAR automatic recovery mechanics will end
it. No administrative intervention is required. See the ISAM error for
more information about why the database server could not end the transaction
properly.

-630 Cannot prepare database server server-name for commit.

The specified database server cannot prepare the local transaction associated
with this INFORMIX-STAR two-phase commit transaction. Eventually, all
participants roll back all work associated with the transaction. No administrative
intervention is required. See the ISAM error for more information about
why the database server could not prepare to commit the local transaction.

-631 Cannot create optical cluster on column that is not TEXT or
BYTE.

You can only create optical clusters on columns of TEXT or BYTE data type.
The column name is some other type. Check that the column is the one you
meant to specify, and review the definition of the table.

-632 Cannot create optical cluster.

An attempt to create an optical cluster has failed. See the ISAM error
for more information.

-633 Cannot drop optical cluster.

An attempt to drop an optical cluster has failed. See the ISAM error for
more information.

-634 Object does not exist.

You are trying to drop a trigger that does not exist. Check that you are
spelling the name of the trigger correctly. Also, you might query the
systriggers system catalog table to review the names of triggers in the
database.

-635 Not owner of object.

You are trying to drop a database object that you do not own. You might
query the appropriate system catalog table to see who owns the object.
(For example, for a trigger, query the systriggers table.) You probably
need to ask the owner of the database object or the database administrator
to drop the object.

-636 Total size of key fields is too large or there are too many
key fields.

You have violated one of the following constraints on the cluster key
that is specified in the ON clause of the CREATE OPTICAL CLUSTER statement:

  • The number of columns included in a composite cluster key exceeds
    16.
  • The length of a CHARACTER column exceeds 256 bytes.

-637 Cannot alter optical cluster.

An attempt to alter the size of an optical cluster has failed. See the
ISAM error for more information.

-638 Cannot cluster TEXT or BYTE columns on non-optical media.

You can create an optical cluster only on TEXT or BYTE columns that are
stored on optical media. Check that you have not specified the name of
a TEXT or BYTE column that is stored in a storage space.

-639 Cannot cluster TEXT or BYTE columns on different optical families.

All of the TEXT or BYTE columns specified in the FOR clause of the CREATE
OPTICAL CLUSTER statement must belong to the same optical family. Check
that the columns that are specified for an optical cluster do not belong
to different families.

-640 QPlan sanity failure line-number.

Running UPDATE STATISTICS might fix this internal error. If the error
recurs, please note all circumstances and contact Informix Technical Support.

-641 Cannot reserve/release family on non-optical media.

The family name that is specified in the RESERVE or RELEASE statement
must exist on optical media. Check that you have not specified a storage
space with either of these statements.

-642 Family name must be a character string.

The optical family name that is specified in the RESERVE or RELEASE statement
must be either a character string, or a host or procedural variable that
evaluates to a character string. If you specified a character string,
check that you enclosed it in quotes.

-643 Volume must be a number.

The volume argument in the RESERVE or RELEASE statements must be INTEGER
or SMALLINT.

-644 FAMILY(), VOLUME(), and DESCR() require BLOB column on optical
medium.

The argument to the FAMILY(), VOLUME(), or DESCR() function must be a
TEXT or BYTE column that is stored on optical media. Check that you have
not specified a column of a different data type or a TEXT or BYTE column
that is stored in a storage space.

-645 Cannot reserve volume.

An attempt to reserve an optical volume with the RESERVE statement has
failed. See the error from the optical subsystem (an error in the -7000
to -7199 range) for more information.

-646 Cannot release volume.

An attempt to release a requested optical volume with the RELEASE statement
has failed. See the error from the optical subsystem (an error in the
-7000 to -7199 range) for more information.

-647 Error evaluating math library function function-name.

The data type of the argument is correct, but the value passed to the
function is not appropriate for the math function. Check that you are
passing a legitimate value to the function.

-648 Cannot open DEBUG file for SPL routine trace.

An error occurred trying to open DEBUG trace file. This error can occur
when one of the directories in the specified debug file name does not
exist, or the directory is write protected. Check that the directory path
is valid and that group informix can write to the directory.

-649 The debug file name must be a NON-NULL CHAR or VARCHAR.

The argument that is specified for the debug file in the SET DEBUG statement
must be a character data type.

-650 Maximum varchar size has been exceeded.

This statement specifies a VARCHAR(m, r) column with a maximum width m
greater than allowed (255). Check the punctuation of the column definition.
If it is as you intended, redesign the table to use a VARCHAR width that
ranges from 1 character to 255 characters.

-651 Reserved column size > maximum column size (varchar).

This statement specifies a VARCHAR(m, r) column with a reserved width
r that is greater than the maximum width m. Check the punctuation of the
column definition. If it is as you intended, revise the statement so that
m is greater than or equal to r.

-652 Local variables do not allow default values.

An attempt was made to define a local variable with a default value. Only
global variables and parameters can have default values.

An example of the error follows:

DEFINE var INT DEFAULT 10; — error

The correction is as follows:

DEFINE var INT; LET var = 10;

-653 Variables declared as LIKE cannot be global.

A global variable was defined as LIKE. LIKE variables must be local variables.

An example of the error follows:

DEFINE GLOBAL var LIKE tab.col; — error

Correction: Do not use the LIKE keyword with global variables. Instead,
specify the data type explicitly.

-654 Bad use of PROCEDURE declaration type.

The procedure declaration was used either in the parameters or the RETURNING
clause. SPL routines cannot accept or return procedures.

An example of the error follows:

CREATE PROCEDURE testproc (proc1 procedure) — error

RETURNING procedure; — error … END PROCEDURE

Correction: Do not attempt to use the procedure declaration type within
a parameter or the RETURNING clause.

-655 RETURN value count does not match procedure declaration.

The number of values that a procedure was declared to return in the RETURNING
clause does not match the number of values in a RETURN clause.

An example of the error follows:

CREATE PROCEDURE testproc () RETURNING INT, INT; …

RETURN 1,2,3; — error … RETURN 1; — error END PROCEDURE

Correction: In this example, return exactly two arguments.

-656 Routine is not declared to return values.

When the routine was declared, it did not contain a RETURNING clause to
indicate that the routine would not return any value, but then a RETURN
statement was found in the body of the routine.

An example of the error follows:

CREATE ROUTINE testproc() DEFINE a INT;

LET a = 10; RETURN a + 1; — error END ROUTINE

Correction: Add a RETURNING clause before the DEFINE statement, or remove
the RETURN statement.

-657 Cannot create a procedure within a procedure.

You cannot have a CREATE PROCEDURE statement within a CREATE PROCEDURE
statement.

-658 Variables declared as GLOBAL require a default value.

A global variable was not given a default value. Global variables require
a default value.

Example of error:

DEFINE GLOBAL glob INT; — error

Correction:

DEFINE GLOBAL glob INT DEFAULT 10;

-659 INTO TEMP table required for SELECT statement.

A SELECT statement did not specify where to put the returned values. SELECT
statements within a procedure require either an INTO TEMP clause or an
INTO clause that references the appropriate procedural variables.

Example of error:

CREATE PROCEDURE testproc() …

SELECT col1, col2 FROM tab; — error END PROCEDURE

Correction:

CREATE PROCEDURE testproc() …

SELECT col1, col2 INTO var1, var2 FROM tab; SELECT col1,
col2 FROM tab INTO TEMP another_table; END PROCEDURE

-660 Loop variable variable-name cannot be modified.

An attempt was made to modify the value of a loop variable in a FOR statement.
Loop variables cannot be modified inside a loop.

Example of error:

FOR i IN (1,2,3,4)

LET i = i + 1; — error END FOR

Correction: Use another variable in the LET statement.

-661 Number of variables does not match number of values returned.

The number of variables on the left side of a LET statement does not match
the number of values on the right side.

Example of error:

LET a,b = 10,20,39; LET i,j = proc1()+proc2(); LET a,b = (SELECT c1
FROM tab)

Correction: Match the number of expressions on both sides of the LET
statement.

-662 Loop variable variable-name specified more than once.

A loop variable was used more than once in a FOREACH statement.

Example of error:

FOREACH SELECT col1, col2 INTO var, var FROM tab — error …

END FOREACH

Correction:

FOREACH SELECT col1, col2 INTO var1, var2 FROM tab …

END FOREACH

-663 You are using more than one procedure-calling syntax for procedure
procedure-name.

While calling a procedure, some of the arguments were named, but others
were not.

Example of error:

LET var = proc (arg1 = 10, 20, arg3 = 30); — error

Correction:

LET var = proc (arg1 = 10, arg2 = 20, arg3 = 30); —correct LET var
= proc (10,20,30);—correct

-664 Wrong number of arguments to system function function-name.

You have specified an incorrect number of arguments for the function function_name.
Check that you are passing the correct number of arguments to the function.

-665 Internal error on semantics — code-number.

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

-666 Variable variable-name must be declared INTEGER or SMALLINT.

In a FOR statement, loop variables that contain ranges must be declared
to be INT or SMALLINT.

Example of error:

DEFINE var CHAR(10); FOR var IN (e1, e2 TO e3, e4) — error …

END FOR;

Correction: Because the FOR statement contains a range operator (the TO
clause), var must be declared as INT or SMALLINT.

-667 Variable variable-name not declared.

The specified variable was not declared. Check the spelling of the undeclared
variable to ensure that it is not causing the error.

-668 System command cannot be executed.

A system call failed in the operating system. The following example shows
a statement that might cause an error: SYSTEM ‘hello’; Make sure that
the system command is not trying to run something that is not in your
path or that is not applicable to the environment. Make sure that you
have provided a user-id and password when connecting to the database server.
The database server must have the user’s password in order to execute
a command on behalf of that user. On Windows NT platforms, make sure the
following Advanced User Rights have been assigned to user «informix»:
Act as part of the operating system; Increase quotas; replace a process
level token.

-669 Variable variable-name redeclared.

A variable has been declared twice in the same scope. See the Informix
Guide to SQL: Tutorial, Chapter 12, for an explanation of the scope of
procedural variables.

-670 Variable variable-name declared as SERIAL type.

The SERIAL data type is not a legal procedure type. Use the INTEGER data
type to match the SQL SERIAL data type.

-671 Routine invocation routine-name has duplicate parameter name.

A routine call named a parameter more than once.

Example of error:

LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);— error

-671 Procedure call procedure-name has duplicate parameter name.

A procedure call named a parameter more than once.

Example of error:

LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);— error

-672 Invalid data structure execution-tree.

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

-673 Routine routine-name already exists in database.

You attempted to create a routine that already exists in the database.
If you want to create a new version of the routine, use the DROP ROUTINE
statement to drop the routine before you attempt to create the new version
of the routine.

-674 Routine can not be resolved.

You called a routine that does not exist in the database; you do not have
permission to execute the routine; or you called the routine with too
few parameters. If you invoke a routine and your application or another
application drops the routine before you execute a prepared statement,
you receive this error.

Check that the name of the routine is correct, that you have permission,
and that you specified the correct number of parameters to execute the
routine. For a prepared statement that refers to the routine, make sure
that the routine is still running when you execute the statement.

-675 Illegal SQL statement in SPL routine.

An SQL statement that is not allowed in an SPL routine was executed. This
error occurs when a routine is called from an SQL data manipulation statement.

Example of error:

CREATE PROCEDURE testproc (arg INT, id INT) RETURNING INT;

UPDATE tab SET col = arg WHERE key = id; — error RETURN
id; END PROCEDURE;

SELECT col FROM tab WHERE testproc(tab.col, tab.key) = 10;

Do not use statements such as the preceding UPDATE statement in SPL
routines.

-676 Invalid check constraint column.

A check constraint that is specified at the column level can reference
only that column. To specify a check constraint that spans more than one
column, specify the check constraint at the table level. You cannot create
a check constraint for columns across tables.

-677 Check constraint cannot contain subqueries.

A check constraint cannot have subqueries.

-678 Invalid subscript for column column-name in check constraint.

A subscripted column in a check constraint has subscripts outside the
bounds of the column. Check that the bounds specified in the subscripted
column do not exceed the maximum length of the column. If you know the
table name of the column, use the following subquery to query the system-catalog
tables to find out the maximum length of the column:

SELECT collength FROM syscolumns WHERE colname = ‘column-name’

AND tabid = (SELECT tabid FROM systables WHERE tabname =
‘table-name’)

-679 Cannot read constraint violation data for constraint constraint-name.

See the ISAM error for more information. If this internal error recurs,
please note all circumstances and contact Informix Technical Support.

-680 Cannot write constraint violation data for constraint constraint-name.

See the ISAM error for more information. If this internal error recurs,
please note all circumstances and contact Informix Technical Support.

-681 Column specified more than once in the INSERT list.

The error occurs if the user specifies a column name more than once in
the INSERT column list.

-682 Error reading constraint index on table table-name.

The system was unable to validate the constraint. See the ISAM error for
more information. If this internal error recurs, please note all circumstances
and contact Informix Technical Support.

-683 Specified STEP expression will not traverse RANGE.

The evaluated value of the STEP expression in the FOR statement will lead
to an infinite loop.

Example of error:

FOR i = 10 TO 20

STEP -1; — error … END FOR

Correction: Correct either the range or the step expressions so that the
incremented values are within the range.

-684 Function routine-name returns too many values.

The number of returned values from a function is more than the number
of values that the caller expects.

Example of error:

CREATE ROUTINE testroutine(arg INT) RETURNING INT, INT;

RETURN 1,2; END ROUTINE

SELECT col FROM tab WHERE col = testroutine(1); — error

-685 Function function-name returns too few values.

The number of returned values from a function is less than the number
of values that the caller expects.

Example of error:

CREATE ROUTINE testroutine (arg INT) RETURNING INT, INT;

RETURN 1,2; END ROUTINE

UPDATE tab SET (c1, c2, c3) = (testroutine(1)); — error

-686 Function function-name has returned more than one row.

A function returned more than one row of values (for example, it executed
RETURN…WITH RESUME) when the caller expected only one row of values.

Example of error:

CREATE ROUTINE testroutine (limit INT) RETURNING INT;

DEFINE i INT; FOR i IN (1 TO limit) RETURN i WITH RESUME;
END FOR END ROUTINE;

CREATE ROUTINE gettest() DEFINE var INT;

LET var = testroutine (10); — error END ROUTINE

-687 Set debug file before tracing SPL routines.

A TRACE statement was executed before a SET DEBUG FILE statement. The
destination of the output of the TRACE statement is unknown. This error
can also apply to the TRACE OFF statement.

Example of error:

TRACE procedure; — error

Correction:

SET DEBUG FILE TO ‘trace.out’; TRACE procedure;

-688 Variable variable-name must be declared CHAR or VARCHAR.

You declared the variable as a data type other than CHAR or VARCHAR. Correct
the declaration, and try again.

-689 Global variable variable-name declared inconsistently.

Two or more procedures were executed that defined the same global variable
with different data types.

Example of error:

CREATE PROCEDURE test1()

DEFINE GLOBAL glob INT DEFAULT 10; … END PROCEDURE

CREATE PROCEDURE test2()

DEFINE GLOBAL glob CHAR (9) DEFAULT USER; … END PROCEDURE

Correction: Declare global variables consistently. (Using appropriate
naming conventions would be useful.) Two variables of the same data type
but different lengths are considered inconsistent.

-690 Cannot read keys from referencing table table-name.

The referential constraint could not be validated. See the ISAM error
for more information. If you are using cascading deletes, database logging
must be on.

-691 Missing key in referenced table for referential constraint constraint-name.

A referential constraint has been violated. This condition usually occurs
when you are trying to insert a value into or update the value of a column
that is part of a referential constraint. The value you are trying to
enter does not exist in the referenced (parent-key) column(s). If you
are using cascading deletes, database logging must be on.

-692 Key value for constraint constraint-name is still being referenced.

You have violated a referential constraint. This situation usually occurs
when you are trying to delete a row in a column (parent key) that another
row (child key) is referencing. If you are using cascading deletes, database
logging must be on.

-693 System command expects a non-null value.

A null value was passed to the SYSTEM statement.

Example of error:

DEFINE c CHAR(100);

LET c = NULL; … SYSTEM c; — error

-694 Too many arguments passed to procedure procedure-name.

More arguments were passed to a procedure than a procedure was declared
to accept.

-695 Argument is not a parameter of procedure procedure-name.

A named parameter was passed to a procedure, but the named parameter does
not exist.

Example of error:

CREATE PROCEDURE testproc (arg1 INT, arg2 INT) RETURNING INT; …

RETURN 1; END PROCEDURE

SELECT col FROM tab WHERE testproc (arg1 = 10, arg5 = 20); — error

-696 Variable variable-name has undefined value.

An SPL variable was referenced or a row field was set before a value was
assigned.

Example of error:

DEFINE my_row_var1 (last_name CHAR(20), id INTEGER); DEFINE i, j INT;

LET i = j + 1; — error LET my_row_var1.id = new_id; — error

While

LET my_row_var1 = ROW(NULL::CHAR(20), NULL::INTEGER)::person_rt; LET
my_row_var1.id = new_id; — success

Correction: Assign all variables and parameters valid values before
you use them.

Row type variables are allowed in SPL routines. Such variables must
be initialized before they are used. To initialize a row type variable,
you must initialize the entire variable. Initializing each field will
not substitute for initializing the entire variable, and in fact you
cannot initialize the individual fields until after you have initialized
the entire variable. The following example shows correct and incorrect
initialization of row type variables in SPL.

— Example showing that row type variables in SPL must have the entire
— variable initialized. It is not sufficient to initialize the fields
— without initializing the entire variable.

CREATE DATABASE tango;

drop table table1; drop row type person_rt restrict; drop
function create_person_rt; CREATE ROW TYPE person_rt (last_name CHAR(20),
id INTEGER); CREATE FUNCTION create_person_rt(new_name CHAR(20), new_id
INTEGER) RETURNING person_rt; DEFINE my_row_var1 person_rt; — You cannot
initialize the individual fields of the variable until you — have initialized
the entire variable. If the following statement were — executed at
this point, it would fail with error -696. — LET my_row_var1.id = new_id;
— Initialize the entire variable. LET my_row_var1 = ROW(NULL::CHAR(20),
NULL::INTEGER)::person_rt; — Now set the individual fields. LET my_row_var1.id
= new_id; LET my_row_var1.last_name = new_name; RETURN my_row_var1;
END FUNCTION;

— Sample usage: CREATE TABLE table1 (person_column person_rt); INSERT
INTO table1 (person_column) VALUES (create_person_rt(‘Uhuru’, 128)); CLOSE
DATABASE; You must initialize the entire variable because the engine can
track whether or not the entire variable has been initialized but cannot
track initialization on a field-by-field basis.

-697 STEP expression evaluated to ZERO.

The STEP expression of a FOR statement evaluated to zero.

Example of error:

LET e = -1; FOR i = 10 TO 20

STEP e+1; — error … END FOR

Correction: Change the STEP expression so that it evaluates to a nonzero
value.

-698 Inconsistent transaction. Number and names of servers rolled
back — servers.

This message is returned if an INFORMIX-STAR two-phase commit or a distributed
transaction is implemented with a mixed result. That is, some database
servers participating in the transaction rolled back their parts of the
global transaction, but other database servers committed their parts of
the global transaction. The number of database servers that rolled back
work is always accurate, but the list of server names (specified by DBSERVERNAME
values) can be incomplete. If a large number of servers rolled back work,
the list might be truncated to save space. Refer to the message log of
the coordinator database server for a complete list of server names. If
this error message is returned, you must determine whether your networked
database system is in an inconsistent state. This procedure is described
in detail in your Administrator’s Guide.

-699 Transaction heuristically rolled back.

This message is returned if all participating database servers heuristically
roll back an INFORMIX-STAR two-phase commit transaction. Because all database
servers rolled back the transaction, the networked database system remains
consistent.

-700 Statement is invalid within a global transaction.

This error is generated when a user attempts to execute a BEGIN WORK,
COMMIT WORK, or ROLLBACK WORK statement within a global transaction.

-701 Statement is invalid within the XA environment.

This error is generated when you attempt to execute any of the following
statements within an X/Open distributed transaction-processing environment:

  • CLOSE DATABASE
  • CREATE DATABASE
  • DROP DATABASE
  • SET LOG

Within this environment, you can execute a single DATABASE statement after
an xa_open call to specify a current database. However, after this database
is selected, no other DATABASE statement can be executed. This error is
generated when you attempt to execute a second DATABASE statement.

-702 Cannot open database in exclusive mode.

Within an X/Open distributed transaction processing environment, you cannot
open a database in exclusive mode.

-703 Primary key on table table-name has a field with a null key
value.

An attempt was made either to insert a null value into a column that is
part of a primary key, or to add a primary constraint to a table that
has a NULL value in one of the key columns.

-704 Primary key already exists on the table.

A table can have only one primary key.

-705 Cannot drop/modify procedure procedure-name. It is currently
in use. An attempt was made either to drop a currently executing procedure
or to run UPDATE STATISTICS on a currently running procedure. This condition
can occur if a procedure tries to drop itself or if a nested procedure
tries to drop a procedure that called it.

Example of error:

CREATE PROCEDURE testproc() … DROP PROCEDURE testproc;
— error END PROCEDURE

Correction: You can use an ON EXCEPTION statement to trap this error and
not carry out the DROP PROCEDURE or UPDATE STATISTICS statement.

This error also occurs if you try to drop a function or procedure
that a functional index is using.

-706 Execute privilege denied on procedure procedure-name.

A user who does not own the procedure or is not DBA must have Execute
privilege in order to run a procedure.

-707 TEXT and BYTE columns in optical cluster must be distinct.

The same column is specified more than once in the column list of the
FOR clause in the CREATE OPTICAL CLUSTER statement. Change your statement
so that no column appears more than once.

-708 Optical cluster cluster-name already exists.

You have attempted to create a new optical cluster with the name of an
existing cluster. You must either drop the existing cluster or re-execute
your statement using a different cluster name.

-709 TEXT and BYTE column column-name is already clustered.

You have already created an optical cluster using the named column. Because
a single column can be part of only one optical cluster, your attempt
to create a new cluster on this column has failed.

-710 Table has been dropped, altered or renamed.

This error can occur with explicitly prepared statements. These statements
have the following form:

PREPARE statement id FROM quoted string

After a statement has been prepared in the database server and before
execution of the statement, a table to which the statement refers might
have been renamed or altered, possibly changing the structure of the table.
Problems might occur as a result. Adding an index to the table after preparing
the statement can also invalidate the statement. A subsequent OPEN command
for a cursor will fail if the cursor refers to the invalid prepared statement;
the failure will occur even if the OPEN command has the WITH REOPTIMIZATION
clause.

If an index was added after the statement was prepared, you must prepare
the statement again and declare the cursor again. You cannot simply
reopen the cursor if it was based on a prepared statement that is no
longer valid.

This error can also occur with SPL routines. Before the database server
executes a new SPL routine the first time, it optimizes the code (statements)
in the SPL routine. Optimization makes the code depend on the structure
of the tables that the procedure references. If the table structure
changes after the procedure is optimized, but before it is executed,
this error can occur.

Each SPL routine is optimized the first time that it is run (not when
it is created). This behavior means that an SPL routine might succeed
the first time it is run but fail later under virtually identical circumstances.
The failure of an SPL routine can also be intermittent because failure
during one execution forces an internal warning to reoptimize the procedure
before the next execution.

The database server keeps a list of tables that the SPL routine references
explicitly. Whenever any of these explicitly referenced tables is modified,
the database server reoptimizes the procedure the next time the procedure
is executed.

However, if the SPL routine depends on a table that is referenced
only indirectly, the database server cannot detect the need to reoptimize
the procedure after that table is changed. For example, a table can
be referenced indirectly if the SPL routine invokes a trigger. If a
table that is referenced by the trigger (but not directly by the SPL
routine) is changed, the database server does not know that it should
reoptimize the SPL routine before running it. When the procedure is
run after the table has been changed, this error can occur.

Use one of two methods to recover from this error:

  • Issue the UPDATE STATISTICS statement to force reoptimization of
    the procedure.
  • Rerun the procedure.

To prevent this error, you can force reoptimization of the SPL routine.
To force reoptimization, execute the following statement:

UPDATE STATISTICS FOR PROCEDURE procedure name

You can add this statement to your program in either of the following
ways:

  • Place the UPDATE STATISTICS statement after each statement that
    changes the mode of an object.
  • Place the UPDATE STATISTICS statement before each execution of
    the SPL routine.

For efficiency, you can put the UPDATE STATISTICS statement with the action
that occurs less frequently in the program (change of object mode or execution
of the procedure). In most cases, the action that occurs less frequently
in the program is the change of object mode.

When you follow this method of recovering from this error, you must
execute the UPDATE STATISTICS statement for each procedure that references
the changed tables indirectly unless the procedure also references the
tables explicitly.

You can also recover from this error by simply rerunning the SPL routine.
The first time that the stored procedure fails, the database server
marks the procedure as in need of reoptimization. The next time that
you run the procedure, the database server reoptimizes the procedure
before running it. However, running the SPL routine twice might be neither
practical nor safe. A safer choice is to use the UPDATE STATISTICS statement
to force reoptimization of the procedure.

-711 Cannot insert encoded BLOB descriptor.

An attempt to insert an encoded blob descriptor by means of the DESCR()
function has failed. See the ISAM error for more information.

-712 Cannot insert encoded BLOB descriptor in non-optical BLOB columns.

You have attempted to use the DESCR() function to insert an encoded blob
descriptor into a TEXT or BYTE column that is stored in a dbspace or blobspace.
You can use this function only to insert descriptors into blob columns
that are stored on optical media.

-713 Cannot decode encoded BLOB descriptor.

The decoding of a blob descriptor prior to its insertion into a data row
has failed. See the error from the optical subsystem (an error in the
-7000 to -7199 range) for more information.

-714 Cannot encode BLOB descriptor.

The encoding of a blob descriptor for storage on optical media has failed.
See the error from the optical subsystem (in the -7000 to -7199 range)
for more information.

-715 Transaction state error.

An error occurred in retrieving a transaction state. See the ISAM error
for more information.

-716 Possible inconsistent transaction. Unknown servers are server-name-list.

This message appears after an administrator kills a coordinator database
server process, thread, or session using tbmode -z or onmode -z any time
after the coordinator issues its decision either to commit or roll back
a two-phase commit transaction. You must examine the message log or the
logical log at each of the database servers for which the status is listed
as unknown to determine whether the local transaction was committed or
rolled back. If some participating database servers rolled back the transaction,
and others committed it, you must determine whether your networked database
system is in an inconsistent state. This procedure is described in detail
in your Administrator’s Guide.

-717 Invalid argument passed to system function function-name.

An invalid data type has been passed to one of the arithmetic functions
(HEX(), TRUNC(), ROUND()).

-718 Statement is invalid while a global transaction is suspended.

If a database server that is acting as a Resource Manager in an X/Open
distributed transaction-processing environment has suspended a transaction,
its next statement must be xa_start. All other statements are disallowed.

-719 Loop variable variable-name cannot be declared GLOBAL.

A global variable cannot be used as a loop variable. Redefine the variable
to be local to the loop, or use another (local) variable as the loop variable.

-720 Number of columns in FOREACH SELECT does not match number of
variables.

A mismatch exists in the number of columns the SELECT returns and the
number of variables that are specified in the INTO list. Correct the number
of variables in the INTO list.

-721 SPL routine () is no longer valid.

You are attempting to execute a procedure from an EXECUTE statement, but
it has been redefined since the PREPARE statement was run. You must use
the PREPARE statement again on the EXECUTE PROCEDURE statement.

For example, the following sequence of code would cause this error:

$prepare pr_stat from ‘execute procedure testproc()’; …

  • / drop procedure testproc create procedure testproc() …… [same
    application or different] */ … $execute pr_stat;/* triggers error
    -721 */

-722 Out of stack space.

The database server has run out of memory for stack space. Ask the Informix
database administrator to increase the STACKSIZE parameter that is specified
in the $ONCONFIG (or $TBCONFIG) file to allocate more memory. The database
server must be restarted for the change to take effect.

-723 Cannot disable logging in an ANSI-compliant database.

You attempted to use the START DATABASE WITH NO LOG syntax
to remove database logging on an SE database that is ANSI compliant. You
cannot turn off logging by running this statement on this kind of database.

-724 System initialization file $INFORMIXDIR/cnv50t60.sql is missing.

Check that $INFORMIXDIR/cnv50t60.sql is in place and readable. If it is,
and the system still fails, reinstall the system.

-725 Error occurred while reading system initialization file $INFORMIXDIR/cnv50t60.sql.

Check that the script file $INFORMIXDIR/cnv50t60.sql is readable. If it
is, and the failure still occurs, reinstall the product.

-726 First argument to dbinfo() must be a quoted string constant.

The first argument to dbinfo() should be a quoted string constant. If
the first argument to dbinfo() is the string ‘version’, then the second
argument should also be a quoted string constant.

-726 First argument to dbinfo() must be a quoted string constant.

Check that the first argument to dbinfo() is a quoted string that corresponds
to one of the following values: ‘dbspace’, ‘sqlca.sqlerrd1’, or ‘sqlca.sqlerrd2’.

-727 Invalid or NULL tblspace number given to dbinfo(dbspace).

You called the dbinfo() function with the ‘dbspace’ string constant as
the first parameter. You must provide either the number of a valid tablespace
or an expression that evaluates to such a number as the second parameter.
Check that you supplied a number as your second parameter and that it
corresponds to the number of a valid tablespace.

-728 Unknown first argument of dbinfo().

Check that the first argument to dbinfo() is a quoted string that corresponds
to one of the following values: ‘dbspace’, ‘version’, ‘sqlca.sqlerrd1’,
‘sqlca.sqlerrd2’, ‘sessionid’, ‘coserverid’, ‘utc_to_datetime’, ‘utc_current’,
‘get_tz’, or ‘dbhostname’.

-728 Unknown first argument of dbinfo argument-name.

The valid arguments to the dbinfo() function are the quoted string ‘dbspace’
followed by the number of a valid tablespace, or one of the following
two values: ‘sqlca.sqlerrd1’ or ‘sqlca.sqlerrd2’. Check that you supplied
one of these values and enclosed the string in quotes.

-729 Trigger has no triggered action.

Your CREATE TRIGGER statement does not include a triggered action. Add
a triggered action list to the trigger definition, and resubmit the CREATE
TRIGGER statement.

-730 Cannot specify REFERENCING if trigger does not have FOR EACH
ROW.

You included a REFERENCING clause in a CREATE TRIGGER statement that does
not include a FOR EACH ROW triggered-action section. Either remove the
REFERENCING clause or, if it is appropriate, add the missing keywords
FOR EACH ROW, followed by the triggered actions that are to occur at that
time.

-731 Invalid use of column reference in trigger body.

For insert and delete triggers, the offending column is being used in
the INTO clause of the EXECUTE PROCEDURE statement (which is only allowed
for an update trigger). Remove the column names from the INTO clause.

-732 Incorrect use of old or new values correlation name inside trigger.

You cannot use the new or old correlation name outside the FOR EACH ROW
section or in the INTO clause of the EXECUTE PROCEDURE statement. You
cannot use the new or old correlation name to qualify the SELECT COUNT
DISTINCT column. For example, the following statement returns this error:

SELECT COUNT (DISTINCT oldname.colname)

You cannot specify an old correlation name for an insert trigger.
You cannot specify a new correlation name for a delete trigger.

-733 Cannot reference procedure variable in CREATE TRIGGER or CREATE
VIEW statement.

You have a CREATE TRIGGER or CREATE VIEW statement inside an SPL routine,
and within the CREATE TRIGGER or CREATE VIEW statement, you reference
a variable that is defined in the SPL routine. This action is not legal.
Remove the reference to the SPL-routine variable from the CREATE TRIGGER
or CREATE VIEW statement and try again.

-734 Object name matches old or new values correlation name.

This error is returned in three cases:

  • The name of the triggering table or the synonym, if it is used,
    matches the old or new correlation name in the REFERENCING clause.
  • The name of a table or a synonym that is referenced in the action
    clause matches either the old or new correlation name in the REFERENCING
    clause.
  • The old correlation name matches the new correlation name.

Change either the correlation name or the table name, and execute the
CREATE TRIGGER statement again.

-735 Cannot reference table that participates in cascaded delete.

If a child table is referenced in a correlated subquery that is part of
a DELETE statement, the child table cannot be one of the tables on which
a delete would cascade. This action is not allowed because the result
depends on the order in which the rows are processed. Rewrite your query
so that the child table is not referenced in a correlated subquery.

-736 Resolution is not meaningful for LOW mode.

Because data distributions are constructed only in MEDIUM or HIGH modes,
specifying the resolution is not meaningful. Remove the RESOLUTION clause,
or change the mode from LOW to either MEDIUM or HIGH.

-737 Confidence is not meaningful for HIGH mode.

Remove the confidence value from the statement. If the offending statement
were:

UPDATE STATISTICS HIGH RESOLUTION 0.1 0.99;

Change it to:

UPDATE STATISTICS HIGH RESOLUTION 0.1;

If you want a distribution that is based upon sampling rather than
one that uses all of the data in a column, replace HIGH with MEDIUM.

-738 DROP DISTRIBUTIONS is only valid in LOW mode.

By default, LOW mode does not remove distributions, so you need to use
the DROP DISTRIBUTIONS clause. To remove HIGH or MEDIUM distributions,
use the DROP DISTRIBUTIONS clause.

-739 Confidence must be in the range [0.80, 0.99] (inclusive).

If the value of the confidence desired is greater than 0.99, use HIGH
mode. A value of less than 0.80 is not allowed because it will probably
yield a poor distribution. If you are reducing the confidence to reduce
the time that is required to execute the UPDATE STATISTICS statement,
consider using a larger resolution value.

-740 Resolution must be greater than 0.005 and less than, or equal
to, 10.0.

The value of this parameter determines how finely the data distribution
is resolved. A resolution of 10.0 implies that the accuracy of any estimate
for the application of any single selection filter is limited to (+ or
-) 5 percent. A value greater than 10.0 would be of little value because
it would not provide sufficient detail about the distribution of the data.

-741 Trigger for the same event already exists.

You are creating a trigger for an event, but another trigger already exists
for that event. You can have only one insert or delete trigger on a table.
If you are defining multiple triggers that occur on an update, the column
lists in the UPDATE statements must be mutually exclusive. You cannot
name a column as a triggering column in more than one UPDATE clause.

-742 Trigger and cascading-delete referential constraint cannot coexist.

Delete triggers cannot coexist with referential constraints.

This error occurs if you try to add a delete cascade foreign key to
a table that already has a delete trigger on it. This error also occurs
if you try to add a delete trigger to a table that already has a delete
cascade foreign key.

-743 Object object_name already exists in database.

You are trying to define an object that already exists in the database.

-744 Illegal SQL statement in trigger.

This error is returned when the triggered SQL statement is BEGIN WORK,
COMMIT WORK, ROLLBACK WORK, or SET CONSTRAINTS. These statements are not
allowed as triggered actions. Remove the offending statement.

-745 Trigger execution has failed.

This message is defined for general use to apply to error conditions that
you specify in an SPL routine that is a triggered action.

-746 message-string

You supply message-string for this message. You can apply this message
to error conditions that you specify in an SPL routine. The corrective
action for this error depends on the condition that caused it. You, the
user, define both the condition and the message text.

-747 Table or column matches object referenced in triggering statement.

This error is returned when a triggered SQL statement acts on the triggering
table, or when both statements are updates, and the column that is updated
in the triggered action is the same as the column that the triggering
statement updates.

-748 Exceeded limit on maximum number of cascaded triggers.

You exceeded the maximum number of cascading triggers, which is 61. You
may be setting off triggers without realizing it. You can query the systriggers
system catalog table to find out what triggers exist in the database.
To trace the triggered actions, place the action clause of the initial
trigger in an SPL routine, and use the SPL TRACE statement.

-749 Remote cursor operation disallowed with pre-5.01 server.

An external database server before Version 5.01 sent the triggering statement
or cursor operation. This action is not allowed.

-750 Invalid distribution format found for table_name.

This internal error should not occur unless the database has been corrupted
in some way. To rebuild the distribution, use UPDATE STATISTICS. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-751 Remote procedure execution disallowed with pre-5.01 server.

The action clause of the trigger contains an SPL routine that is not called
in a data manipulation statement, and an external database server before
Version 5.01 will execute the procedure. This action is not allowed. An
SPL routine that is called within a data manipulation statement cannot
execute certain SQL statements, including transaction-related statements.
Transaction-related statements are not allowed within an SPL routine that
is a triggered action. A database server before Version 5.01 cannot check
for this condition, so the procedure is not allowed. If possible, execute
the procedure on a Version 5.01 or later database server.

-752 All Smart Disk devices are busy.

Wait a while and retry your Smart Disk operation.

-753 Access denied — Single user limit has been exceeded.

Licensing enforcement is configured for only one user; multiple users
cannot use the product at the same time. If you are using the product
from a remote computer, the product is licensed only for a nonnetworked
environment.If you are using the product from a local computer, wait until
the current user exits and try again.

-754 Cannot access the license file.

The system cannot find the user license file. The user license file might
not have been installed, or it might have been installed improperly. Also,
you might not have the correct file or directory permissions to access
the user license file. Consult your installation documentation.

-755 Cannot access the license file to release license.

You might not have appropriate permission for your particular action.
Check with your system administrator.

-756 Evaluation version has expired.

The evaluation version of this product will work only for a specified
period of time. This version allows you to evaluate the product but not
use it permanently. When the evaluation version expires, call Informix
to order a standard version of the product.

-757 File open for light append can’t pseudo close.

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

-758 Cannot implicitly reconnect to the new server server_name.

If you use the CONNECT TO statement to connect to a server, you cannot
implicitly reconnect to another server through one of the DATABASE statements
(DATABASE, START DATABASE, and so on). You must switch to it with the
SET CONNECTION statement.

-759 Cannot use database commands in an explicit database connection.

If you use the CONNECT TO database@server syntax to connect to a database
and server, you cannot select another database until you disconnect your
current connection.

-760 Remote procedure must commit or rollback before returning.

Your remote procedure must execute a COMMIT WORK or ROLLBACK WORK statement
before that procedure returns control to your application.

-761 INFORMIXSERVER does not match either DBSERVERNAME or DBSERVERALIASES.

Your INFORMIXSERVER environment variable does not match the DBSERVERNAME
or any of the DBSERVERALIASES settings in the ONCONFIG configuration file
of the server to which you are trying to connect. Check your environment
variables and the ONCONFIG configuration file. Check that INFORMIXSERVER
matches one of the settings in the ONCONFIG file.

-762 Stack overflow occurred during statement parse.

This error indicates that an internal memory limitation in the SQL parser
has been reached. This condition can occur if your query contains many
nested expressions. For example, the query might contain many occurrences
of AND and/or OR in the WHERE clause. To work around this condition, rewrite
the query to eliminate some of the nested expressions.

-763 Error in auditing environment initialization.

This all-purpose message indicates a problem when a user tries to connect
to a secure database server. Contact your security administrator or DBA
for how to proceed.

-764 Only DBA can run update statistics on a database in this mode.

You tried to run the UPDATE STATISTICS statement with the DROP DISTRIBUTIONS
clause on the entire database in a mode other than LOW. Only user informix
or the database administrator can do perform this action.

-765 Cannot EXECUTE a statement that has been DECLAREd.

You cannot execute a prepared statement that has been declared. However,
to specify output variables for a prepared singleton SELECT statement,
use EXECUTE INTO (or EXECUTE PROCEDURE INTO) instead of executing DECLARE,
OPEN, and FETCH statements.

-766 String must be null terminated.

With INFORMIX-ESQL/C, if you use a host variable in an INSERT statement
or in the WHERE clause of an SQL statement, and the database is ANSI compliant,
the string must be null terminated.

-767 Cannot UPDATE/INSERT a remote table using views with check options.

You cannot perform an UPDATE or INSERT operation on a table that resides
across a network when you are using views that have check options. Remove
the all check options from the view, or perform the UPDATE/INSERT locally.

-768 Internal error in routine routine-name.

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

-769 Internal — iterator execution/phase error parameter.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-770 Bad fragment id specified.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-771 Bad table lock id specified.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-772 Record/key doesn’t qualify for any table/index fragment.

This error can occur during a record insert or update. The most likely
cause is an incorrect fragmentation specification that did not specify
a REMAINDER. The easiest correction is to add a REMAINDER fragment to
your SQL statement. However, the best correction is probably to reexamine
the original fragmentation specification, figure out what is wrong, and
fix it with an ALTER FRAGMENT statement.

-773 Expression required for new fragment.

When you add a fragment to an expression-based fragmentation strategy,
you must specify an expression for the new fragment. Restate your SQL
statement to include a fragment expression.

-774 Cannot specify fragment expressions with a round-robin fragmentation.

If table fragmentation is based on a round-robin strategy, you cannot
specify a fragment expression during an ALTER FRAGMENT operation.

-775 Dbspace dbspacename not used by table/index.

The dbspace that is specified during an ALTER FRAGMENT operation is incorrect
because that dbspace contains no fragment. Specify a dbspace that has
a fragment.

-776 Alter fragment error: unable to move rows to new fragmentation
scheme.

During an ALTER FRAGMENT operation, the rows could not be moved to another
fragmentation strategy. See the accompanying ISAM error for more information
on why the ALTER FRAGMENT operation failed.

-777 Internal — function not valid on fragmented table.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-778 Unable to alter fragmentation scheme on index.

During an ALTER FRAGMENT operation, the fragmentation strategy for the
index could not be altered. See the accompanying ISAM error for more information
on why the ALTER FRAGMENT operation failed.

-779 Duplicate table name in the alter fragment specification.

You cannot attach the same table multiple times. Check that your alter
fragment specification attaches the same table only once.

-780 Table/index is not fragmented.

You cannot perform the ALTER FRAGMENT operation because the table or index
is not fragmented. Fragment the table or index, or do not perform the
fragmentation operation.

-781 Cannot alter fragmentation on a temp table.

You tried to alter a fragment that is based on a temporary table. In general,
dynamic modification of a TEMP table is not allowed. You must re-create
the temporary table if you require a different fragmentation scheme.

-782 Attached table is fragmented.

When you attach tables, the consumed table cannot be fragmented.

-783 Cannot attach because of incompatible schema.

Incompatible table schemas do not allow you to perform an attach. When
you perform an attach, the table schemas must be identical. Use the ALTER
TABLE statement to first make the schemas compatible and then perform
an ALTER FRAGMENT…ATTACH operation.

-784 Cannot detach because of the existing referential constraints.

Existing referential constraints do not allow you to perform a detach.
You must drop the referential constraints before you perform the detach
on the dbspace or table.

-785 Cannot drop column because of table or index fragmentation.

You must alter fragmentation expressions to remove references to the column
before the column can be dropped.

-786 Table being attached to is not in the attach list. The surviving
table is either nonfragmented or hash-fragmented and must appear in
the attach list in order for its existing fragment(s) to be properly
positioned in the resulting fragmentation scheme.

-787 Index fragmented same-as-table cannot be altered.

If you do not specify storage-spec in a CREATE INDEX statement, the indexes
are fragmented the same as the underlying table, subject to all the restrictions
on fragmented indexes. For example, an error is returned if the underlying
fragmentation strategy is round-robin, and the index is unique. You cannot
alter this type of index fragmentation. If you want to change the index
fragmentation, use the INIT option of ALTER INDEX to detach the index.
That operation makes the index and table independent and lets you alter
each independently.

-788 Unknown operator/type.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-789 Internal error, expression not properly defined.

If you cannot find a direct cause for this internal error, please note
all circumstances and contact Informix Technical Support.

-790 Rowids already exist on table.

You cannot create rowids multiple times. You attempted to add rowids to
a table that was already defined with rowids. Do not run the command that
caused this error.

-791 Cannot open the Informix password file.

Check the INFORMIXDIR environment variable to ensure that it is set to
the correct value. Also, check INFORMIXDIRETCPASSWD, the Informix password
file. If the Informix password file is corrupted or deleted, reinstall
the INFORMIX-SE database server.

-795 Error in finding interrupt. The INFORMIX-NET for Windows TSR
probably is not loaded.

If you intend to communicate with an INFORMIX-OnLine for NetWare database
server across a network, you must run the INETIPX.EXE TSR (terminate-and-stay-resident
program) in the DOS environment. Check that you have enough memory to
load this TSR.

-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.

-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 constraints.

You attempted to attach a table that had constraints. Remove all referential
and primary constraints from that table, and attempt an attach.

-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.

-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:

1. A STOP VIOLATIONS TABLE was executed before the START
VIOLATIONS TABLE statement or after the START VIOLATIONS TABLE statement
was rolled back

2. 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 in the MAX ROWS clause of the START
VIOLATIONS TABLE statement. 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.

-903 Licensed INFORMIX-SQL server not accessible.

This statement refers to another host computer system, and that system
is active and accessible. However, the sqlexecd network daemon has not
been started on it, so no database services can be gotten from it. Contact
the DBA of the other system. Check that the INFORMIX-STAR or INFORMIX-NET
software is correctly installed.

-904 Authorization file not on licensed INFORMIX-SQL server.

This message indicates that the installation of the Informix networking
software was not completed correctly. Review the installation steps on
the workstation and on the network server(s) to make sure that it was
completed without error.

-905 Cannot locate sqlexec service /tcp service in /etc/services.

The INFORMIX-STAR or INFORMIX-NET software has not been properly installed
on this system. In particular, entries in the system-configuration file
/etc/services (UNIX) or etcservices (DOS) have not been made. Contact
the person who installs your Informix software.

-906 Cannot locate database server (check DBPATH).

A server name that your DBPATH environment variable specifies is invalid.
This message appears in Version 6.0 and later.

Check that each database server name in your DBPATH setting is valid
and is not too long. In Dynamic Server 200, the maximum length for database
server names is 128 characters. In other Informix database servers,
the maximum length for server names is 18 characters.

-906 Cannot locate remote system (check DBPATH).

INFORMIX-NET is searching for the database that is requested in the current
statement. It is using the entries in the DBPATH environment variable
and is trying one that, by use of //sitename, specifies a directory on
another computer system. That system cannot be accessed.

Review the setting of the DBPATH environment variable. Check that
any other systems it specifies have INFORMIX-STAR or INFORMIX-NET installed
and active. This message appears prior to Version 6.0.

-907 Cannot create socket on current database server.

INFORMIX-STAR or INFORMIX-NET is trying to access another computer system
but is unable to create a connection. Contact your system administrator,
and ask for a check that TCP/IP is correctly installed and functioning.

-908 Attempt to connect to database server (servername) failed.

The program or application is trying to access another database server
but has failed. Note the server name in the current statement.

The desired database server is unavailable, or the network is down
or is congested. Ask your DBA and system administrator to verify that
the server and network are operational. If the network is congested,
use the environment variables INFORMIXCONTIME and INFORMIXCONRETRY to
tune connection timing. For information on setting these environment
variables, see the Informix Guide to SQL: Reference.

This message appears in Version 6.0 and later versions.

-909 Invalid database name format.

This statement seems to refer to a database from another database server,
but the database name, site name, server name, or punctuation is incorrect.
Review the statement, and check that all identifiers start with a letter
(or underscore, for Version 6.0 and later) and contain only letters, digits,
and underscores, and that the reference is in the form dbname@sitename
or //sitename/dbname (before Version 6.0) or dbname@servername or //servername/dbname
(Version 6.0 and later). If you are using INFORMIX-OnLine for NetWare,
check that you provided the remote database name in one of the forms that
is explained in the product manual.

-910 Cannot create an Informix Dynamic Server 2000 database from
an INFORMIX-SE client.

This CREATE DATABASE statement cannot be carried out because the database
server on your workstation and the one on the other computer system are
different products: one is INFORMIX-SE and the other is another Informix
database server. You can manipulate databases in this configuration, but
you cannot create one.

To create a database, either start the same product in both locations,
or run this statement locally on the other computer system.

-910 Cannot create a Dynamic Server or INFORMIX-OnLine database from
an INFORMIX-SE client.

This CREATE DATABASE statement cannot be carried out because the database
server on your workstation and the one on the other computer system are
different products: one is INFORMIX-SE and the other is another Informix
database server. You can manipulate databases in this configuration, but
you cannot create one. To create a database, either start the same product
in both locations, or run this statement locally on the other computer
system. The SQLEXEC environment variable (for database servers before
Version 6.0) determines which database server your application uses.

-911 System error — Cannot read from pipe.

This internal error reflects a failure in communication between your application
and the INFORMIX-STAR or INFORMIX-NET software. Look for operating-system
error messages that might give more information. Restart the application.
If the problem recurs, please note all circumstances and contact Informix
Technical Support.

-912 Network error — Could not write to database server.

A network failure occurred. Look for operating-system error messages that
might give more information. Restart the application. If the problem recurs,
contact your system administrator, and ask for network diagnostics to
be run.

-913 Network error — Could not read from database server.

A network failure occurred. Look for operating-system error messages that
might give more information. Restart the application. If the problem recurs,
contact your system administrator, and ask for network diagnostics to
be run.

-914 System error — Cannot write to pipe.

This internal error reflects a failure in communication between your application
and the INFORMIX-STAR or INFORMIX-NET software. Look for operating-system
error messages that might give more information. Restart the application.
If the problem recurs, please note all circumstances and contact Informix
Technical Support.

-915 Cannot create an INFORMIX-SE database from an Informix Dynamic
Server 2000 client.

This CREATE DATABASE statement cannot be carried out because the database
server on your workstation and the one in the other computer system are
different products: one is INFORMIX-SE and the other is another Informix
database server. You can manipulate databases in this configuration, but
you cannot create one.

To create a database, either start the same product in both locations,
or run this statement locally on the other computer system.

-915 Cannot create an INFORMIX-SE database from a Dynamic Server
or INFORMIX-OnLine client.

This CREATE DATABASE statement cannot be carried out because the database
server on your workstation and the one in the other computer system are
different products: one is INFORMIX-SE and the other is another Informix
database server. You can manipulate databases in this configuration, but
you cannot create one. To create a database, either start the same product
in both locations, or run this statement locally on the other computer
system. The SQLEXEC environment variable determines which database server
your application uses (for database servers prior to Version 6.0).

-916 NFS mount table error.

The database server that you tried to access or a path that was specified
in your DBPATH environment variable is located on an NFS-mounted file
system. However, the database server or client application encountered
an error accessing the NFS-mounted table file /etc/mtab (or, on some operating
systems, /etc/mnttab). This condition probably occurred because your account
does not have read permission for the file. Contact your system administrator,
and have the file made readable to public.

This message appears with Version 6.0 and later.

-916 Cannot open /etc/mtab.

The database server needs to check the system configuration file /etc/mtab
to verify the location of a file system. However, it got an error when
it tried to read that file, probably because your account does not have
read permission for it. Contact your system administrator, and have the
file made readable to public.

This message appears prior to Version 6.0.

-917 Must close current database before using a new database.

This statement (DATABASE or CREATE DATABASE) requires you to open a different
database. However, the current database is located on another computer
system, so you must explicitly close it with the CLOSE DATABASE statement.
(When you work with databases located on the same computer as your application
program, the database server will close the current database for you automatically.)
If a program receives this error, review the program logic, and check
that it executes a CLOSE DATABASE statement before a [CREATE] DATABASE
statement. This solution will work in all situations, networked or local.

-918 Unexpected data received from another database server.

This internal error reflects a failure in communication between your application
and the INFORMIX-STAR or INFORMIX-NET software at another site. Restart
your application. If the problem recurs, ask your system administrator
to run network diagnostics. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-919 System error. Wrong number of arguments to database server process.

This internal error reflects a failure in communication between your application,
INFORMIX-STAR or INFORMIX-NET software, and the database server on the
other computer system. Check that all three of these software components
are at compatible software levels. (For versions prior to Version 6.0,
see the appropriate INFORMIX-NET/INFORMIX-STAR Installation and Configuration
Guide for a compatibility chart). Recompile and relink your application
program if necessary. If the problem recurs, please note all circumstances
and contact Informix Technical Support.

-921 System error. Illegal or wrong number of arguments to sqlexec
server.

This internal error reflects a failure in communications between your
application and the database server on the other computer system. Check
that all software components are at compatible software levels. Recompile
and relink your application program if necessary. If the problem recurs,
please note all circumstances and contact Informix Technical Support.

For a Windows NT system, check your Client Installation and Configuration
Guide for information about using Setnet32 to set the environment variables
that affect client-server communications.

For versions prior to Version 6.0, see the appropriate INFORMIX-NET/INFORMIX-STAR
Installation and Configuration Guide for a compatibility chart.

-922 Cannot get name of current working directory.

A problem exists with the current working directory on this system or
on another computer system that your application is using. Possibly your
account does not have read access to the directory, or possibly the file
system that contains it is improperly mounted. Exit your application,
and retry. If the problem persists, see your system administrator for
assistance.

-923 INFORMIX is not licensed to access the current database server
only.

This version of the Informix product is not licensed for network use.
Locate the version of the software that is licensed for use with INFORMIX-STAR
or INFORMIX-NET, and reset your INFORMIXDIR environment variable and the
SQLEXEC environment variable (for database servers prior to Version 6.0)
to point to it.

-924 INFORMIX is not licensed to access the specified database server.

If you have installed an INFORMIX-NET NET station package only on your
client computer, you cannot access locally resident databases. If the
database that you are attempting to access is not locally resident, enter
the command again and specify a site name with the database name, or set
your DBPATH environment variable to indicate searches only in specific
sites. If you want to use your Informix product to access both local and
remote databases, please contact your Informix representative for details
on purchasing the appropriate Informix product.

-925 The protocol type should be tcp.

The protocol type that is shown in the $INFORMIXDIR/etc/sqlhosts file
(or in INFORMIXetcsqlhosts on INFORMIX-OnLine for NetWare) should be
tcp.

-926 The database server is not licensed for distributed data access.

This statement refers to a database in a different database server (for
example, by qualifying the name of a table with dbname@sitename:table).
However, this version is not licensed for such use. With this version,
you can refer only to tables in databases that are all on the same database
server.

Contact your Informix representative about upgrading this database
server to full INFORMIX-STAR status. If you believe that you have INFORMIX-STAR
installed, check the contents of the INFORMIXDIR environment variable.
If you are using INFORMIX-OnLine for NetWare, you cannot access tables
or databases on remote systems unless you have INFORMIX-NET PC.

-926 INFORMIX-OnLine is not licensed for distributed data access.

This statement refers to a database in a different database server (for
example, by qualifying the name of a table with dbname@sitename:table).
However, this version is not licensed for such use. With this version,
you can refer only to tables in databases that are all on the same database
server. Contact your Informix representative about upgrading this database
server to full INFORMIX-STAR status. If you believe that you have INFORMIX-STAR
installed, check the contents of the INFORMIXDIR environment variable.
If you are using INFORMIX-OnLine for NetWare, you cannot access tables
or databases on remote systems unless you have INFORMIX-NET PC.

-927 Exceeded limit on maximum number of servers you can reference.

This statement contains references to more sites than the database server
can handle. Through Version 4.1, the limit on different site names that
can appear in one statement is 32 (later versions might allow more). Review
the statement, and check that only necessary sites are named. If so, revise
the operation to use fewer sites (for example, by selecting some data
into a local, temporary table).

-928 The database server is not licensed for distributed data access.

This statement refers to a database on a different computer system (for
example, by qualifying the name of a table with dbname@sitename:table).
However, the database server that is active at the indicated site is not
licensed for such use. This situation indicates an error in the setup
of the remote computer system: it was configured for network access, but
the wrong database server was started. Contact the network administrator,
and ask for a check of the environment variables when starting the sqlexecd
daemon. If you are using INFORMIX-OnLine for NetWare, you tried to access
a table on an database server that is not licensed for remote access;
you can access only other INFORMIX-NET PC systems.

-930 Cannot connect to database server servername.

The application is trying to access another computer system but failed.
Note the server name in the current statement. Ask your network administrator
and DBA to check that the network is operational and that the particular
database server is active. This message appears with Version 6.0 and later.

-930 Cannot connect to remote host sitename.

INFORMIX-STAR or INFORMIX-NET is trying to access another computer system
but has failed. Note the site name in the current statement. Contact your
network administrator, and ask for a check that the network is operational
and that the particular site is active. This message appears in database
servers prior to Version 6.0.

-931 Cannot locate servicename service/tcp service in /etc/services.

The service servicename is not listed in the network configuration file
/etc/services (UNIX) or etcservices (DOS). Check the $INFORMIXDIR/etc/sqlhosts
file, and check that the service name for the desired server is correct.
If so, contact your network administrator to find out why the service
is not known. If you are using INFORMIX-OnLine for NetWare, check the
etcservices file on the client for the required entries.

-932 Error on network connection, function system call failed.

This internal error reflects a failure in communication between your application
and the network software (INFORMIX-STAR, INFORMIX-NET, INFORMIX-NET for
Windows, and so on) at another site. Restart your application. Look for
operating-system messages that might give more information.

If you are using INFORMIX-NET for Windows, a Windows Sockets problem
might exist; check your Windows Sockets 1.1 documentation for more information.
Check the sqlerrm field of the sqlca structure for the particular Windows
Sockets message.

In the ASCL context, this error might also indicate problems in your
informix.ini file. Verify that the SERVICE, HOST, and PASSWD entries
are correct.

If the problem recurs, ask your network administrator to run network
diagnostics. If the error recurs, please note all circumstances and
contact Informix Technical Support.

-933 Unknown network type specified in DBNETTYPE.

The DBNETTYPE environment variable is used on certain machines to distinguish
which network protocol to use when two protocols are available. The value
that is currently set in it is not supported. Display the variable, and
check that it is set correctly. Prior to Version 6.0, refer to the INFORMIX-NET/INFORMIX-STAR
Installation and Configuration Guide for the correct setting. If you are
using INFORMIX-OnLine for NetWare, set DBNETTYPE to starlan, tcp/ip, or
some other supported network.

-934 Connection to remote site no longer valid.

This statement uses data from another computer system, but the connection
has been lost. Roll back the transaction, and try again after you reestablish
the connection.

-935 Cannot obtain IPX address for service name servicename.

You are trying to connect to a database server with the indicated service
name via the IPX/SPX network protocol on a system with portable INFORMIX-OnLine
for NetWare. The client application, INFORMIX-NET or INFORMIX-STAR, is
not able to determine the IPX address that is associated with the specified
service name. Possibly the service name is misspelled in your sqlhosts
file; the sqlexecd daemon or the database server is not running; or the
portable INFORMIX-OnLine for NetWare software is not operating properly.
Verify the service name in your sqlhosts file. Ask your DBA or system
administrator to verify that the sqlexecd daemon, the database server,
and the portable INFORMIX-OnLine for NetWare software are operational.

-936 Error on remote connection connection-name.

An attempted connection to a remote host failed. Check the name of the
connection that is specified in your particular connection statement (CONNECT,
DATABASE, and so on) to make sure that you correctly specified the name
or path of the connection. Check for incorrect spelling. Check for the
wrong connection name.

-937 User Defined Routine error.

mi_db_error_raise() has been called from within a user-defined routine
and set a fatal error. For an explanation, look at the SQLSTATE that the
user- defined routine set.

-940 Check Option is not supported in Union Views.

You tried to define a union view with a check options. Redefine the union
view without the check options clause.

-941 String processing error while evaluating function (function_name).

An error occurred during evaluation of the case conversion function on
the input string. This error could be due to an invalid character (single-
or multi-byte) in the string. You need to execute the query again after
verifying that the characters in the input string are valid.

-942 Transaction commit failed — transaction will be rolled back.

This error can occur at transaction-commit time if an error is raised
when a DataBlade routine calls a UDR-registered end-of-transaction (MI_EVENT_END_XACT)
callback. You have registered a callback for the MI_EVENT_END_XACT (or
MI_Xact_State_Change) event in the context of a server routine. When the
end-of-transaction (MI_EVENT_END_XACT) event occurred to commit the transaction,
an error was raised. Within a DataBlade routine, you can use the mi_err_desc_next()
function to obtain the next error, which should explain the cause of the
failure. Currently, the end-of-transaction (MI_EVENT_END_XACT) event occurs
only within the context of a DataBlade server routine. It does not occur
within the context of a DataBlade client application.

-943 Found a non-terminated comment («/*» with no matching «*/»).

DB-Access does not currently support comments without terminators. You
might see this message when you run .sql scripts through DB-Access.

-944 Cannot use «first» in this context.

This statement uses FIRST N inside a subquery. This action is not supported.

Review the use of FIRST N and check that it is applied only to the
outer main query SELECT clause.

-945 Invalid parameter given to dbinfo(version).

The arguments to dbinfo() are invalid or NULL. The first argument was
the string constant version.

Check that the second argument is also a quoted string constant that
corresponds to one of the following values: ‘major’, ‘minor’, ‘level’,
‘os’, ‘server-type’, or ‘full’.

-945 Invalid parameter given to dbinfo(version).

You entered a value for a version that this command does not support.

-946 Source string for UPPER, LOWER, and INITCAP must be of string
type.

The source string passed as input to a case conversion function must have
a character data type.

-947 Declaration of an SPL variable named ‘null’ conflicts with SQL
NULL value.

Users may not define an SPL routine variable whose spelling is ‘null’.
This is an error because allowing such definition would restrict the global
scope of the NULL constant.

-948 Cannot rename constraint index.

User tried to rename a system-generated constraint index.

You do not need to take any action because you are not allowed to
rename a system-generated constraint index.

-949 Unable to alter fragmentation scheme when indexes disabled.

An attempt has been made to alter the fragmentation scheme on a table
that has disabled indexes. This is not allowed. The action is aborted.

-951 User username is not known on the database server.

The database server that you tried to access does not accept either your
user ID, the login name that is specified for the desired server host
in your ~/.netrc file, or the user name that is specified in the USER
clause of a CONNECT statement. If you are explicitly specifying your user
name in the ~/.netrc file or in a CONNECT statement, check that the name
is correct. If you do not have a valid user ID on the server computer,
see your system administrator. This message appears with Version 6.0 and
later.

-951 User is not known on remote host.

This statement refers to a database on another computer system, but the
other system does not accept your account name. You must have a valid
login identity on any computer system you access. See your network administrator
about getting a login ID. This message appears prior to Version 6.0.

-952 User’s password is not correct for the database server.

The password that is specified for the server computer in your ~/.netrc
file or in the USER clause of a CONNECT statement is incorrect. The database
server does not accept (or cannot find) your account password. Check that
your password is specified correctly, and try again. This message appears
with Version 6.0 and later.

-952 User ()’s password is not correct for the database
server.

The password that is specified for the server computer in your ~/.netrc
file or in the USER clause of a CONNECT statement is incorrect. The database
server does not accept (or cannot find) your account password. Check that
your password is specified correctly, and try again. This message appears
with Version 6.0 and later.

-953 Network server could not exec sqlexec program.

The network server was unable to start the database server thread. The
most common cause for this error is a failure to define the INFORMIXDIR
environment variable, by root, at the time the database server process
was started. Contact your network administrator, and ask that the database
server process on the remote system be restarted with a valid path to
the Informix software. This message appears with Version 6.0 and later.

-953 Remote host could not exec sqlexec program.

The network daemon, sqlexecd, on the other computer system was unable
to start the database server process. The most common cause of this error
is a failure to define the INFORMIXDIR and SQLEXEC environment variables,
by root, at the time the daemon was started. Contact your network administrator,
and ask that the daemon on the remote system be restarted with a valid
path to the Informix software. This message appears prior to Version 6.0.

-954 Client is not known to remote host.

The computer on which your application is running is not known to the
computer you are trying to access. Contact your network administrator,
and ask that your computer be made known. The usual way of making a computer
known is through the configuration file /etc/hosts.equiv on the other
system. Refer to the INFORMIX-NET/INFORMIX-STAR Installation and Configuration
Guide. This message appears prior to Version 6.0.

-954 Client is not known to database server.

The computer on which your application is running is not known to the
database server that you are trying to access. Contact your network administrator,
and ask that your computer be made known, most likely through the configuration
file /etc/hosts on the other system. This message appears with Version
6.0 and later.

-955 Remote host could not receive data from client.

This internal error reflects a failure in communication between your application
and the INFORMIX-STAR or INFORMIX-NET software at another site. Restart
your application. Look for operating-system messages that might give more
information. If the problem recurs, ask your network administrator to
run network diagnostics. If the error recurs, please note all circumstances
and contact Informix Technical Support. This message appears prior to
Version 6.0.

-955 Database server could not receive data from client.

This internal error reflects a failure in communication between your client
application and the database server software at another site. Restart
your application. Look for operating-system messages that might give more
information. If the problem recurs, ask your DBA to run network diagnostics.
If the error recurs, please note all circumstances and contact Informix
Technical Support. This message appears beginning with Version 6.0.

-956 Client client-name is not in /etc/hosts.equiv on the remote
host.

This operation cannot be completed because the specified remote computer
does not recognize the name of the client computer (the local host, whose
name the hostname command returns). Client names are normally recorded
in the configuration file /etc/hosts.equiv. The rhosts file on the remote
computer might also need modification. For more information on these files
and the relation between them, try man rhosts on a UNIX system. See the
remote host administrator to ensure that the client host name is specified
in /etc/hosts.equiv file for the remote host. This message appears in
versions prior to Version 6.0.

-956 Client client-name or user is not trusted by the database server.

The desired database server does not consider the client computer or your
user ID trusted. Ask the system administrator to include the client computer
as a trusted host and/or your user id as a trusted user in the /etc/hosts.equiv
file on the server computer or in the .rhosts file in your home directory
on the server computer. See the UNIX manual pages on HOSTS.EQUIV(5) for
more information.

Alternatively, you can explicitly specify your user name and password
in the USER clause of a CONNECT statement or in the .netrc file in your
home directory on the client computer. See the Informix Guide to SQL:
Syntax for information on the CONNECT statement, and the UNIX manual
pages regarding NETRC(5) for information on the .netrc file. This message
appears with Version 6.0 and later.

-957 Cannot create/access database on NFS mount.

Please note the specifics of your system when this internal error occurred,
and contact Informix Technical Support.

-958 Temp table already exists in session.

This statement tries to create a table with the name that is shown, but
a temporary table with that name already exists. Only one temporary table
with a given name can exist in a session.

Check the spelling of the name. If the name is spelled as you intended,
check that a temporary table with the given name does not exist in the
session. To review the names of temporary tables, query the systabnames
table as follows:

SELECT dbsname, tabname FROM sysmaster:systabnames WHERE
tabname =

If the name exists, review this name by querying the systables table in
:

SELECT tabname FROM :systables WHERE tabname =

If the name does not exist in systables (» No rows found «), this table
is a temporary table.

-959 The current transaction has been rolled back due to an internal
error.

A server thread associated with your session has been suspended, most
likely because of a serious internal error. Evidence about the problem
has been gathered and written to an Assertion Failure file, and your online
log should contain more information. Please contact Informix Technical
Support and provide them with your Assertion Failure file.

Before suspending the session thread, the server attempted to roll
back all work performed by the current transaction. Your connection
to the server may also have been broken, depending on the type of thread
that was suspended. At a minimum you will have to begin a new transaction.

-971 Integrity violations detected.

The user has attempted to change the object mode of a disabled constraint
or disabled unique index to the enabled or filtering mode, but the SET
statement fails because the table contains data that violates the constraint
or the unique-index requirement. If a violations table has been started
for the table that contains the inconsistent data, this message is returned
to the user. The message is returned whether or not the SET statement
included the WITH ERROR option.

Similarly, when an INSERT, DELETE, or UPDATE statement causes some
records to be added to the violations table because the statement violates
a filtering-mode object, this message is returned to the user if the
following two conditions are true:

  • The SET statement or CREATE statement that specified the filtering-object
    mode for the object included the WITH ERROR option.
  • No other errors have been encountered during the execution of the
    INSERT, DELETE, or UPDATE statement.

-972 Unable to alter table table-name.

The in-place alter table operation cannot be performed. Please see the
accompanying ISAM error for more information.

-973 Cannot insert from the violations table to the target table.

The user issued a statement that attempts to insert rows from the violations
table into the target table. For example, the user enters the following
statement:

INSERT INTO mytable SELECT * FROM mytable_vio

If the target table has some filtering-mode objects, this error is
returned to the user. The user can recover in any of the following ways:

  • Set the object mode of the filtering objects to some other mode.
  • Stop the violations table.
  • Insert rows from the violations table into a temporary table, and
    then insert rows from the temporary table into the target table.

-974 Cannot drop not null constraint on the serial column.

The user issued a statement to drop a NOT NULL constraint on a column
that has a SERIAL data type. Such constraints can be disabled, but they
cannot be dropped before the column is dropped.

-975 Invalid object and object mode combination.

The user tried to create a new object in an object mode that does not
apply to that object type, or the user set the object mode of an existing
object to a mode that does not apply to that type of object. For example,
if the user tries to create a trigger in the filtering mode or set an
existing trigger to the filtering mode, the user receives this error.

-976 Table must be fragmented by expression to grant fragment authority.

The user attempted to grant fragment-level privileges on an unfragmented
table or on a table that is not fragmented by expression.

-977 No permission on fragment (dbspace-name).

The user does not have the required fragment-level privilege on the table
fragment. This message is always followed by another message that identifies
the privilege that the user lacks. If an INSERT statement fails, the second
message is -271. If an UPDATE statement fails, the second message is -346.
If a DELETE statement fails, the second message is -240.

-978 No insert permission on the violations/diagnostics tables.

The user issued an INSERT, DELETE, or UPDATE statement on a table with
filtering-mode objects. The user receives this message because the user
lacks the INSERT privilege on the violations or diagnostics tables that
are associated with this table. The user must have the INSERT privilege
on the violations and diagnostics tables before the database server can
write rows into the violations and diagnostics tables for that user.

Similarly, if the user issued a SET statement to change the object
mode of a disabled constraint or a disabled unique index to the enabled
or filtering mode, and if a violations table has been started for the
target table, the user receives this message if the user lacks the INSERT
privilege on the violations or diagnostics table associated with the
target table.

-979 The current transaction has been rolled back due to an internal
error.

A server thread associated with your session has been suspended, most
likely because of a serious internal error. Evidence about the problem
has been gathered and written to an Assertion Failure file, and your on-line
log should contain more information.

Before suspending the session thread, the server attempted to roll
back all work performed by the current transaction. Your connection
to the server might also have been broken, depending on the type of
thread that was suspended. At a minimum, you will have to begin a new
transaction.

Contact Informix Technical Support and provide them with your Assertion
Failure file.

-999 Not implemented yet.

This error means the functionality being exercised is not currently implemented.
Please check the documentation and release notes that describe this current
restriction in this particular release for this product. If this condition
is not described in the regular documentation or the release notes and
recurs, note all circumstances and contact Informix Technical Support.

-1003 Invalid ACCEPTKEY set in the environment.

The key that the ACCEPTKEY environment variable specifies is not decipherable;
either it does not start with F, or it has an invalid number. Specify
a different key.

-1004 The selected ACCEPTKEY has been preassigned for ISQL.

The key that the ACCEPTKEY environment variable specifies is one that
INFORMIX-SQL always uses. Set a different value in the environment variable.

-1005 Your specified termcap file cannot be read.

The TERMCAP environment variable specifies a file that cannot be opened.
Either it does not exist, or your account does not have operating-system
permissions to read it. Check the environment variable and the file that
it names.

-1006 Error number.

The error code that is shown was returned, but the program could not display
the message text for that number, probably because one of the .iem message
files is missing from the directory that the INFORMIXDIR environment variable
specifies. Look up the number in the finderr utility. Also consult with
the person who installed the Informix software to find out why the message
files are not available.

-1007 Invalid value for the INFORMIXTERM environment variable.

The only valid settings for the INFORMIXTERM environment variables are
termcap and terminfo. Setting the variable to termcap (or leaving it undefined)
directs 4GL to use the TERMCAP facility for terminal control. Setting
it to terminfo causes 4GL to use the TERMINFO facility. Other settings,
including variations of the words termcap and terminfo with capital letters
in them, cause this error.

-1008 Termcap entry too long.

The contents of the TERMCAP environment variable, or of the termcap entry
from the termcap database, are read into storage when the application
is initializing. However, the memory buffer that is allocated to hold
the termcap entry is 1,024 bytes, and the entry in use is longer than
that. Use a simpler termcap.

-1009 Bad termcap entry.

The contents of the TERMCAP environment variable, or of the termcap entry
from the termcap database, are read into storage when the application
is initializing. While the program was doing this, it found improper punctuation
in the termcap entry. A colon separator did not appear where one was expected.
Review the specified termcap, and choose a different one or correct the
one that is in use.

-1010 Too many tc= indirections.

In a termcap definition for a terminal, the entry tc= causes the use of
a definition for default values for a different terminal. That terminal
might also have a tc= entry, and so on. However, 4GL cannot follow more
than four tc= commands. The termcap definition in use at this time (as
the TERM or TERMCAP environment variable specifies) exceeds the limit.
Write or find a termcap definition that is more self contained.

-1101 Variable address is NULL.

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

-1102 Field name not found in form.

A field name listed in an INPUT, INPUT ARRAY, CONSTRUCT, SCROLL or DISPLAY
statement does not appear in the form specification of the screen form
that is currently displayed. Review the program logic to ensure that the
intended window is current, the intended form is displayed in it, and
all the field names in the statement are spelled correctly.

A common problem is the attempted use of field tags instead of field
names. The field tag is the name that is written in the screen picture
and that appears at the left side of the ATTRIBUTES statement for that
field. It is not the name of the field for input or display purposes.
The field name is the column name with which it is associated. This
name appears to the right of the equal sign in the ATTRIBUTES section.

ATTRIBUTES

f000 = customer.customer_num,color=red;

The name of the field in the preceding example is customer_num. Use of
the tag f000 in an INPUT statement will produce an error.

-1103 This value is not among the valid possibilities.

A list or range of acceptable values has been established for this column
(via an INCLUDE attribute in the form-specification file). You must enter
a value within the acceptable range.

For 4GL programs, -1301 replaces this error.

-1104 The two entries were not the same — please try again.

To guard against typographical errors, this field has been designated
VERIFY (in the form specification file). The value in this field must
be entered twice, identically. Carefully reenter the data. Alternatively,
you can cancel the form entry with the Interrupt key (usually CTRL-C,
but see the operating instructions that the program author supplied).

For 4GL programs, -1302 replaces this error.

-1105 You cannot use this editing feature because a picture exists.

This field is defined (in the form specification file) with a PICTURE
attribute to specify its format. You cannot use certain editing keys (for
example, CTRL-A, CTRL-D, and CTRL-X) while you are editing such a field.
Use only printable characters and the backspace to enter the value.

For 4GL programs, -1303 replaces this error.

-1106 Error in field.

You entered a value in this field that cannot be stored in the program
variable that is meant to receive it. For example, possibly you entered
a decimal number when the application provided only an integer variable,
or you entered a character string that is longer than the application
expected. Note all the circumstances and then discuss the problem with
the person who wrote the application program.

For 4GL programs, -1304 replaces this error.

-1107 Field subscript out of bounds.

The subscript of a screen array in an INPUT, DISPLAY, or CONSTRUCT statement
is either less than 1 or greater than the number of fields in the array.
Review the program source in conjunction with the form specification to
see where the error lies.

-1108 Record not in form.

The screen record that is named in an INPUT ARRAY or DISPLAY ARRAY statement
does not appear in the screen form that is now displayed. Review the program
source in conjunction with the form specification to see if the screen
record names match.

-1109 List and record field counts differ.

The number of program variables does not agree with the number of screen
fields in a CONSTRUCT, INPUT, INPUT ARRAY, DISPLAY, or DISPLAY ARRAY statement.
Review the statement in conjunction with the form specification to see
where the error lies. Common problems include a change in the definition
of a screen record that is not reflected in every statement that uses
the record, and a change in a program record that is not reflected in
the form design.

-1110 Form file not found.

The form file that is specified in an OPEN FORM statement was not found.
Inspect the «form-file» parameter of the statement. It should not include
the file suffix.frm. However, if the form is not in the current directory,
it should include a complete path to the file.

-1111 Field table offset out of bounds.

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

-1112 A form is incompatible with the current 4GL version. Rebuild
your form.

The form file that is specified in an OPEN FORM statement is not acceptable.
Possibly it was corrupted in some way, or it was compiled with a version
of the Form Compiler that is not compatible with the version of the 4GL
compiler that compiled this program. Use a current version of the Form
Compiler to recompile the form specification.

-1113 Memory allocation error.

A BYTE or TEXT variable has been located in memory, and a value has been
assigned to the variable. However, not enough data memory is available
to hold the variable. Review the program, and locate the large value in
a file instead.

For 4GL programs, -1319 replaces this error.

-1114 No form has been displayed.

The current statement requires the use of a screen form. For example,
DISPLAY…TO or an INPUT statement must use the fields of a form. However,
the DISPLAY FORM statement has not been executed since the current window
was opened. Review the program logic to ensure that it opens and displays
a form before it tries to use a form.

-1115 Numeric value too long for field.

4GL tried to format a numeric value for display in a form field, but the
resulting string was too long for the field. Review the program logic
to find out what large numeric value is being assigned.

For 4GL programs that were compiled at Version 5.0 and later or that
are running under 4GL/GX, this error cannot occur.

-1116 Default value from form field cannot be converted to input
variable type.

This statement takes input from a form field whose default value (which
the ATTRIBUTES keyword DEFAULT specifies in the form) is not compatible
with the program variable that receives it. Review all the program variables
that are named in this statement, and compare them to the definitions
of the fields in the form specification. Check that each variable corresponds
to the intended field and has a compatible data type.

-1117 Cannot convert date value to string.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1119 NEXT FIELD name not found in form.

This statement (INPUT or INPUT ARRAY) contains a NEXT FIELD clause that
names a field that is not defined in the form. Perhaps the form has been
changed, but the program has not. Also see the note for error message
-1102.

For 4GL programs, -1371 replaces this error.

-1120 Message file not found.

The message file that is specified in the HELP FILE clause of the most
recent OPTIONS statement does not exist. Find that OPTIONS statement in
the program, and review the «help-file» parameter. It must contain the
complete filename of the prepared message file. If the file is not in
the current directory, it must have a full pathname. Message files are
prepared with the mkmessage utility.

For 4GL programs, -1227 replaces this error.

-1121 Message number not found in message file.

A message number that is given in the HELP clause of an INPUT, PROMPT,
or MENU statement cannot be found in the current message file. The most-
recently executed OPTIONS HELP FILE statement establishes the message
file. Find that statement in the program, and verify that the message
file is the one that you intended. Then review the source of that message
file, and ensure that it contains definitions for all the message numbers
that are used in the program. Recompile the message file with the mkmessage
utility, and try the program again.

For 4GL programs, -1228 replaces this error.

-1122 Incompatible message file.

The message file that is named in the most-recently executed OPTIONS HELP
FILE statement was not acceptable. Possibly it has been corrupted in some
way. Possibly the OPTIONS statement named the message source file instead
of the compiled message file (the output of mkmessage). Possibly the file
was compiled with an outdated version of the mkmessage utility. Recompile
the message file with the current version of the utility, and review the
program source to make sure that it names the correct file.

For 4GL programs, -1229 replaces this error.

-1123 No help file specified.

This INPUT, PROMPT, or MENU statement contains a HELP help-number clause;
however, no message file has been established. The OPTIONS HELP FILE statement
establishes the message file, but none has yet been executed. Review the
program logic, and modify it to execute an OPTIONS statement with a HELP
FILE clause before it is needed.

For 4GL programs, -1343 replaces this error.

-1124 This field requires an entered value.

The cursor is in a form field that has been designated REQUIRED. You must
enter some value before the cursor can move on to another field. However,
to enter a null value, type any printable character and then backspace.
Alternatively, you can cancel the form entry with the Interrupt key (usually
CTRL-C, but see the operating instructions that the program author supplied).

For 4GL programs, -1305 replaces this error.

-1125 Please type again for verification.

The cursor is in a form field that has been designated VERIFY. You must
enter the value twice, identically, before the cursor can move on to another
field. This requirement helps to ensure that no typographical errors occur
during data entry. Alternatively, you can cancel form entry with the Interrupt
key (usually CTRL-C, but see the operating instructions that the program
author supplied).

For 4GL programs, -1306 replaces this error.

-1126 Cannot insert another row — the input array is full.

You are entering data into an array of records that is represented in
the program by an array of program variables. That array is now full;
no place is available to store another record. Press the ACCEPT key (usually
ESCAPE, but see the operating instructions that the program author supplied)
to process the records that you have entered.

For 4GL programs, -1307 replaces this error.

-1127 Cannot delete row — it has no data.

You pressed the Delete Row function key (usually F2, but see the operating
instructions that the program author supplied) in an empty row. Nothing
was deleted.

For 4GL programs, -1308 replaces this error.

-1128 There are no more rows in the direction you are going.

You are attempting to scroll an array of records farther than it can go,
either scrolling up at the top or scrolling down at the bottom of the
array. Further attempts will have the same result.

For 4GL programs, -1309 replaces this error.

-1129 Field in BEFORE/AFTER clause not found in form.

This statement includes a BEFORE FIELD clause or an AFTER FIELD clause
that names a field that is not defined in the form that is currently displayed.
Review the program to ensure that the intended form was displayed, and
review this statement against the form specification to ensure that existing
fields are named. Also see the note on field names for error message -1102.

-1130 You cannot have multiple BEFORE clauses for the same field.

This statement includes at least two BEFORE FIELD clauses that name the
same form field. Only one is supported. Find all the BEFORE FIELD clauses
relate to one field, and combine them into a single clause.

-1131 You cannot have multiple AFTER clauses for the same field.

This statement includes at least two AFTER FIELD clauses that name the
same form field. Only one is supported. Find all the AFTER FIELD clauses
that relate to one field, and combine them into a single clause.

-1132 The destination string of the CONSTRUCT statement is not large
enough.

The outcome of a CONSTRUCT statement is a character string that contains
all the conditions that the user entered. This string is in a form suitable
for use as the WHERE clause of a SELECT statement. In this CONSTRUCT statement,
the result string is longer than the program variable that is specified
to receive it. As a general rule, the length of the variable must allow
enough room for the names of all the screen fields that are used in the
statement, plus room for the field contents and for punctuation and relational
operators. Review the statement, and revise the definition of the receiving
variable accordingly.

-1133 The NEXT OPTION name is not in the menu.

This MENU statement contains a NEXT OPTION clause that names a menu-option
that is not defined in the statement. The string that follows NEXT OPTION
must be identical to one that follows a COMMAND clause in the same MENU
statement. Review the statement to ensure that these clauses agree with
each other.

-1134 There is no termcap entry for this function key.

The key that is specified in one clause of this OPTIONS statement is not
defined in the termcap file (or the terminfo file if you are using it
instead). Review the HELP KEY, INSERT KEY, NEXT KEY, PREVIOUS KEY, and
DELETE KEY clauses. Compare the function keys that they specify to the
current termcap definition.

-1135 The row or column number in DISPLAY AT exceeds the limits of
your terminal.

Review the DISPLAY…AT statement. Make sure that the position numbers
are in the correct order (row number first, then column) and that they
make sense for the current terminal or window. The dimensions of the terminal
for UNIX systems are determined when the program starts by reading termcap
information (or terminfo information, depending on the value of the INFORMIXTERM
environment variable). A screen location that is correct for one user
of the program might not be correct for all. On DOS systems, the window
size is always 24 lines by 80 characters.

-1136 Window is too large to fit on the screen.

The window dimensions that are specified in the WITH clause of this OPEN
WINDOW statement conflict with the size of the screen. The entire window
cannot be displayed, so the statement is not executed. If the WITH clause
specifies dimensions, you can use smaller ones; if it specifies a form,
the SCREEN statement in the form specification sets the dimensions. Alternatively,
you might be able to get the window into the screen by changing the origin
that is provided in the AT clause. The dimensions of the terminal for
UNIX systems are determined when the program starts by reading termcap
information (or terminfo information, depending on the value of the INFORMIXTERM
environment variable). Screen dimensions that are correct for one user
of the program might not be correct for all. On DOS systems, the window
size is always 24 lines by 80 characters.

-1137 Cannot open window.

The cause of the problem is a lack of data memory. Change the logic of
the program to keep fewer windows open concurrently, or use fewer global
variables.

For 4GL programs, -1319 replaces this error.

-1138 Border does not fit on screen. Window is too large.

The window that this OPEN WINDOW statement describes cannot be opened
because its border does not fit on the screen. Despite the wording of
the message, the window is not necessarily too large for the screen. However,
one or more of its borders (top, bottom, left, or right) cannot be drawn.
The position of the window is set in the OPEN WINDOWS statement; check
that it starts no higher than row 2 and no farther left than column 2
(or else remove the BORDER attribute). The OPEN WINDOW statement or the
form that it names sets the size of the window.

The dimensions of the terminal for UNIX systems are determined when
the program starts by reading termcap information (or terminfo information,
depending on the value of the INFORMIXTERM environment variable). If
the termcap entry includes sg#1 (terminfo: xmc#1), 4GL reserves an additional
column to the left and right of a bordered window. On DOS systems, the
window size is always 24 lines by 80 characters.

-1139 Form line cannot be set using LAST keyword.

This OPTIONS statement includes a FORM LINE clause that uses LAST. You
can specify an absolute form line or one relative to FIRST, but you cannot
specify it relative to LAST.

-1140 NEXT OPTION is a hidden option.

The option that is named in this NEXT OPTION statement has previously
been hidden with the HIDE OPTION statement. Because it is not visible
to the user, it cannot be highlighted as the next choice.

-1141 Cannot close window with active INPUT, DISPLAY ARRAY, or MENU
statement.

This CLOSE WINDOW statement cannot be executed because an input operation
is still active in that window. The CLOSE WINDOW statement must have been
contained in, or called from within, the input statement itself. Review
the program logic, and revise it so that the statement completes before
the window is closed.

-1142 Window is too small to display this form.

The window dimensions of the current window are too small to contain the
form that is to be displayed. Review the window dimensions, and compare
them to all forms that will be displayed in that window. The dimensions
of the form are established in the form-specification file with the SCREEN
statement. The dimensions of the window are set during the OPEN WINDOW
statement, either directly or by opening the window WITH a particular
form.

-1143 Window is already open.

This OPEN WINDOW statement names a window that is already open. Review
the program logic, and see whether it should contain a CLOSE WINDOW statement,
or whether it should simply use a CURRENT WINDOW statement to bring the
open window to the top.

-1144 Cannot open window. Window origin is not on the screen.

The row and column position in the AT clause of this OPEN WINDOW statement
points off the physical screen. The statement is not executed. Review
the program, and check that the numbers are in the correct order (first
row, then column). The dimensions of the terminal are determined when
the program starts by reading termcap information (or terminfo information,
depending on the value of the INFORMIXTERM environment variable), so a
window origin that is correct for some users might not be correct for
all.

-1145 Cannot open ERROR window.

4GL attempted to open a one-line, 80-column window in which to display
an error message but was not able to do so. Possible causes include a
shortage of data memory and internal errors.

For 4GL programs, -1319 replaces this error.

-1146 PROMPT message is too long to fit in the window.

Although 4GL truncates the output of MESSAGE and COMMENT to fit the window
dimensions, it does not do so for PROMPT and the user’s response. Reduce
the length of the prompt string, or make the window larger. You could
display most of the prompting text with DISPLAY and then prompt with a
single space or colon.

-1147 You cannot CLOSE, CLEAR or make CURRENT an unopened window.

This CLOSE WINDOW, CLEAR WINDOW, or CURRENT WINDOW statement names a window
that has not been opened or has been closed. Review the program logic
to ensure that it does not refer to an unopened window except to open
it.

-1148 Size of a window may not be negative.

The AT clause of this OPEN WINDOW statement uses a negative number. The
row and column sizes must be positive integers. Revise the statement.

-1149 An unknown code has been detected in the form.

The screen form that is currently displayed is unacceptable in some way.
Possibly it has been corrupted; possibly it was compiled by an obsolete
version of form4gl. Recompile the form. If the problem recurs, please
note all circumstances and contact Informix Technical Support.

-1150 Window is too small to display this menu.

Review the OPEN WINDOW statement for the current window in conjunction
with this MENU statement. The window must be at least two rows tall, and
it must be wide enough to display the menu title, the longest option name,
two sets of three-dot ellipses, and six spaces. Revise the program to
make the window larger or to give the menu a shorter name and shorter
options.

-1151 INFORMIX-4GL Run Time Facility.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1152 Enter value in range.

This error message is a version of message -1103/-1301, which is used
by INFORMIX-4GL/RF with handheld terminals that have very small screens.
See message -1103.

-1153 Bad verify — reenter.

This message is a version of message -1104/-1302, which is used by INFORMIX-4GL/RF
with handheld terminals that have very small screens. See message -1104.

-1154 Cannot use edit key.

This message is a version of message -1105/-1303, which is used by INFORMIX-4GL/RF
with handheld terminals that have very small screens. See message -1105.

-1155 Enter value in field.

This message is a version of message -1124/-1305, which is used by INFORMIX-4GL/RF
with handheld terminals that have very small screens. See message -1124.

-1156 Enter value again.

This message is a version of message -1125/-1306, which is used by INFORMIX-4GL/RF
with handheld terminals that have very small screens. See message -1125.

-1157 No more rows.

This message is a version of message -1127/-1309, which is used by INFORMIX-4GL/RF
with handheld terminals that have very small screens. See message -1127.

-1158 FMP has run out of memory.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1159 FMP has exceeded its number of concurrent INPUT statements.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1160 FMP has exceeded its number of concurrent DISPLAY ARRAY statements.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1161 FMP currently is not in the midst of an INPUT statement.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1162 FMP has exceeded the number of concurrently open forms.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1163 The FMP version number is incompatible with the 4GL program.
Relink the 4GL program and run again.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1164 A NEXT FIELD specified in the instructions section of the form
is not used within the current input statement.

The current form field has a NEXT FIELD specification (in the INSTRUCTIONS
section of the form). However, the specified next field is not named in
the current INPUT statement, so the cursor cannot move to that field.

-1165 This statement is not allowed for the FMP.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1166 An illegal code has been received from the FMP.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1167 An unknown form name has been received by the FMP.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1168 Command does not appear in the menu.

The SHOW OPTION, HIDE OPTION, or NEXT OPTION statement cannot refer to
an option (command) that does not exist. Check the spelling of the name
of the option.

-1170 The type of your terminal is unknown to the system.

Check the setting of your TERM environment variable and the setting of
your TERMCAP or TERMINFO environment variable. Check with your system
administrator if you need help with this action.

-1171 A disallowed data type has been encountered by the FMP.

FMP refers to INFORMIX-4GL/RF. See the installation documentation for
your system.

-1176 A COMMAND KEY value occurs elsewhere in the current menu.

In the indicated MENU statement, you defined a key value in more than
one COMMAND KEY keylist or both in a COMMAND KEY keylist and as the default
activation key for one or more nonhidden COMMAND clauses (for example,
that key value is also the first character of one or more menu-option
strings). This condition is illegal because MENU has no way to resolve
what to do if the given keystroke occurs.

A given key might appear as the default activation key for more than
one COMMAND (without the KEY clause) because the user will be prompted
for subsequent keystrokes until a unique string is obtained. This action
is not possible with COMMAND KEY because only one keystroke is compared.

If a COMMAND is currently hidden (by using the HIDE OPTION keywords),
its default activation key is ignored and does not trigger this particular
error condition.

-1200 Number is too large for a DECIMAL data type.

The float DECIMAL data type accommodates numbers from 10 to the -130th
power through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.

-1201 Number is too small for a DECIMAL data type.

The DECIMAL data type accommodates numbers from 10 to the -130th power
through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.

-1202 An attempt was made to divide by zero.

Zero cannot be a divisor. In some cases, this error arises because the
divisor is a character value that does not convert properly to numeric.

-1203 Values used in a MATCH must both be type CHARACTER.

The MATCHES relationship applies only to character data; both of its operands
must be CHAR or VARCHAR columns or variables, or literal character strings.
If you need to apply a regular-expression pattern match to a numeric value,
you can do so in 4GL. Assign the numeric value to a CHAR variable, and
test that variable.

-1204 Invalid year in date.

The year in a DATE value or literal is invalid. For example, the number
0000 is not acceptable as the year.

-1205 Invalid month in date.

The month in a DATE value or literal must be a one- or two-digit number
from 1 to 12.

-1206 Invalid day in date.

The day number in a DATE value or literal must a one- or two-digit number
from 1 to 28 (or 29 in a leap year), 30, or 31, depending on the month
that accompanies it.

-1207 Converted value does not fit into the allotted space.

A noncharacter value, after conversion to a character string, is too long
to fit in the buffer that was provided. If the conversion was automatic,
change the program to provide a larger host variable to receive the string.
If this action was an explicit call to conversion function, pass a larger
buffer.

-1208 There is no conversion from non-character values to character
values.

If you are using a database server prior to Version 4.0, no automatic
conversion from numeric values to character values occurs in SQL statements
such as INSERT and UPDATE. Check that the specified value for each column
agrees with the data type of that column. If you use a Version 4.0 or
later database server, this message should not appear.

-1209 Without any delimiters, this date must contain exactly 6 or
8 digits.

When a literal date value is entered in numeric form, not enclosed in
quotes to make it a character string, it must be entered as a number of
precisely 6 digits (representing mmddyy) or 8 digits (representing mmddyyyy).
Because no punctuation is present, a date with any other number of digits
is ambiguous; it cannot be divided into month, day, and year with certainty.

-1210 Date could not be converted to month/day/year format.

The DATE type is compatible with the INTEGER type, but not all integer
values are valid dates. This error arises in attempts to convert to character
from a date whose numeric value is less than -693,594 or greater than
2,958,464. Numbers that are outside this range have no representation
as dates.

-1211 Out of memory.

4GL cannot allocate memory for a small, temporary work area that is used
for processing an expression. To avoid this error, simplify the program
in almost any way to release enough space

-1212 Date conversion format must contain a month, day, and year
component.

When a date value is converted between internal binary format and display
or entry format, a pattern directs the conversion. When conversion is
done automatically, the pattern comes from the environment variable DBDATE.
When it is done with an explicit call to the rfmtdate(), rdefmtdate(),
or USING functions, a pattern string is passed as a parameter. In any
case, the pattern string (the format of the message) must include letters
that show the location of the three parts of the date: 2 or 3 letters
d; 2 or 3 letters m; and either 2 or 4 letters y.

-1213 A character to numeric conversion process failed.

A character value is being converted to numeric form for storage in a
numeric column or variable. However, the character string cannot be interpreted
as a number. It contains some characters other than white space, digits,
a sign, a decimal, or the letter e; or the parts are in the wrong order,
so the number cannot be deciphered.

If you are using NLS, the decimal character or thousands separator
might be wrong for your locale.

-1214 Value too large to fit in a SMALLINT.

The SMALLINT data type can accept numbers with absolute values from 0
through 32,767 (plus or minus (2 to the 15th power) — 1). To store numbers
that are outside this range, redefine the column or variable to use INTEGER
or DECIMAL type. (The value -32,768 is a 16-bit value but is not acceptable;
it indicates a null value in 4GL.)

-1215 Value too large to fit in an INTEGER.

The INTEGER data type can accept numbers with absolute values from 0 to
2,147,483,647 (plus or minus (2 to the 31st power) — 1). To store numbers
that are outside this range, redefine the column or variable to use DECIMAL
type. (The value -2,147,483,648 is a 32-bit value but is not acceptable;
it indicates a null value in 4GL.)

-1216 Illegal exponent.

The exponent of a numeric literal cannot exceed 32,767. In fact, none
of the available data types can accommodate an exponent that large. However,
the exponent itself triggers this message before checking the destination
of the number. Check the statement for missing or misplaced punctuation
that might have caused two numbers to run together.

-1217 The format string is too large.

The pattern string that is used to format a date (either the DBDATE environment
variable or the pattern that is passed to rfmtdate() or the USING function)
is too long. The limit is 80 bytes.

-1218 String to date conversion error.

The input to the rstrdate() function does not properly represent a date:
either it has nondigits where digits are expected, an unexpected delimiter,
or numbers that are too large or are inconsistent.

-1219 Numeric value from database is too large for COBOL data item.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1220 Numeric value from database is too small for COBOL data item.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1221 Cannot convert null data types.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1222 Value will not fit in a SMALLFLOAT.

The SMALLFLOAT data type can accept numbers within a certain range of
exponents. The maximum and minimum exponent values are different depending
on the host operating system (the range is the same as that supported
by the C compiler for float values in this system). In the current statement,
a constant number is being converted for storage in a FLOAT variable or
column, and the exponent is too large or too small.

-1223 Value will not fit in a FLOAT.

The FLOAT data type can accept numbers within a certain range of exponents.
The maximum and minimum exponent values are different depending on the
host operating system (the range is the same as that supported by the
C compiler for double values in this host system). In the current statement,
a constant number is being converted for storage in a FLOAT variable or
column, and the exponent is too large or too small.

-1224 Invalid decimal number.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1225 Column does not admit a NULL value.

This statement attempted to store a null value in a column that has been
defined as not allowing nulls. Review the definition of the table, and
revise the statement so that it supplies values for all required columns.

-1226 Decimal or money value exceeds maximum precision.

The client is attempting to convert a number into a DECIMAL or MONEY variable.
However, the number has more digits to the left of the decimal point than
the declaration of the variable allows. Revise the program to assign the
converted number to a variable with an appropriate precision.

-1227 Message file not found.

4GL cannot locate a file of message texts. The file should have a suffix
of .iem and be in the product directory, $INFORMIXDIR/msg. Reinstall such
files from the distribution materials. If you have started to modify the
user-message file, 4glusr.msg, check that its compiled form has been replaced
in the correct directory.

-1228 Message number not found in message file.

4GL cannot find a message number that should appear in a message file
that was installed with the product. Reinstall all files of type .iem
from the distribution materials. If you have modified the contents of
the file, 4glusr.msg, review all deletions that you might have made, and
recompile that file.

-1229 Incompatible message file.

4GL is trying to look up a message text in a message file, but the file
contents do not match the current version of the product. Possibly the
file is corrupt; possibly a message file from a prior version is present.
The file has a suffix of .iem and exists in the etc subdirectory of the
path that the INFORMIXDIR environment variable identifies. Reinstall such
files from the distribution materials. If you have started to modify the
user-message file, 4glusr.msg, make sure that you are recompiling it with
a current version of the mkmessage utility.

-1230 Bad message file name formulation.

An invalid filename has been supplied for the message file that is used
for displaying error messages such as the ones in this book, so the file
cannot be opened. Check the value of the DBLANG environment variable,
if one is specified.

-1231 Cannot seek within message file.

The application is trying to look up a message text in a message file
but receives an error code when it tries to position within the file.
This situation indicates some problem with the file itself; possibly it
has been corrupted or truncated. Reinstall all files of type .iem from
the distribution materials. If you have modified the user-message file,
4glusr.msg, recompile it as well.

-1232 Message buffer too small.

4GL is reading a message text from a compiled message file but cannot
resize the buffer to be large enough to hold the complete message. This
situation might indicate a critical shortage of data space, but more probably
it indicates a corrupted or invalid message file. Reinstall all files
of type .iem from the distribution materials. If you have modified the
user-message file, 4glusr.msg, recompile it as well.

-1233 Invalid hour, minute, or second.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1234 Function may be applied only to datetime data types.

This message is not believed to be in use in any current product. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-1235 Character host variable is too short for the data.

In an ESQL/C program, the program has attempted to fetch a column value
into a host variable that is not large enough. Use the DESCRIBE command
to find out the sizes of column values.

If this error arises in a 4GL program, please note all circumstances
and contact Informix Technical Support.

-1236 Bad era date.

The era name or the era offset that is given in the input string is invalid
or has not been entered in the required format. Check that the era name
and offset are valid and in the proper order in the input string. Check
the format against the value of DBTIME, DBDATE, or the format string passed
to the SQL API function, whichever is appropriate.

-1237 Bad era name.

The date format requires an era name, but no name that matches the era
names in the GLS locale could be found in the input string. Check that
you are using the correct locale and that you entered the era name correctly.

-1238 Bad era initialization.

Contact Informix Technical Support regarding this internal error.

-1239 Era year overflow.

The era offset that is given is not within the range for the era that
is specified. Check that the era offset is within the valid range for
the era that is specified.

-1250 Unable to create pipes.

Your application is using an operating-system facility called a pipe to
initialize its communication with the database server. The operating system
returned an unexpected error. Look for operating-system error messages
that might give more information.

-1251 Unable to create shared memory. semget failed.

Your application is initializing its communication with the database server,
which is a version that uses shared memory for communications. An unexpected
error has occurred with an operating-system function, semget. Look for
operating-system messages that might give more information. Consult with
the person who installed the Informix shared-memory product.

-1252 Unable to create shared memory. shmget failed.

Your application is initializing its communication with the database server,
which is a version that uses shared memory for communications. An unexpected
error has occurred with an operating-system function, shmget. Look for
operating-system messages that might give more information. Consult with
the person who installed the Informix shared-memory product.

-1254 Unable to connect to remote host.

The program is attempting to open a database that a database server in
another system manages, but it could not open a network connection to
the other system. Check the site name that the DATABASE or CREATE DATABASE
statement specifies. If it is as you intended, look for other error messages
from the networking component or the operating system. Contact the operator
of the other system to verify that it is active and accepting network
connections.

-1257 Operating system cannot fork process for back end.

Back end refers to the database server. In this an internal error, look
for operating-system messages that might give more detail. In DOS systems,
you probably are out of memory; exit to the operating-system command line,
and resubmit your program. After you verify that no system limit or local
problem exists, please note all circumstances and contact Informix Technical
Support.

-1258 Cannot attach to shared memory used to communicate with back
end.

Back end refers to the database server. In this internal error, look for
operating- system messages that might give more detail. After you verify
that no system limit or local problem exists, please note all circumstances
and contact Informix Technical Support.

-1260 It is not possible to convert between the specified types.

The database server attempts any data conversion that makes sense. Some
conversions, however, are not supported, such as INTERVAL to DATE, DATETIME
to MONEY, CHAR to LIST, or CHAR to SET. Possibly you referenced the wrong
variable or column. Check that you have specified the data types that
you intended and that literal representations of data values are correctly
formatted.

-1261 Too many digits in the first field of datetime or interval.

The first field of a DATETIME literal must contain either 1 or 2 digits
(if it is not a YEAR) or else 2 or 4 digits (if it is a YEAR). The first
field of an INTERVAL literal represents a count of units and can have
up to 9 digits, depending on the precision that is specified in its qualifier.
Review the DATETIME and INTERVAL literals in this statement, and correct
them.

-1262 Non-numeric character in datetime or interval.

The form of a DATETIME or INTERVAL literal is very limited. One can contain
only decimal digits and the allowed delimiters: the hyphen between year,
month, and day numbers; the space between day and hour; the colon between
hour, minute, and second; and the decimal point between second and fraction.
Any other characters, or these characters in the wrong order, produce
an error.

-1263 A field in a datetime or interval is out of range or incorrect.

Inspect the DATE, DATETIME, and INTERVAL literals in this statement; at
least one of them contains at least one incorrect field.

In a DATE or DATETIME literal, the year might be zero, the month might
be other than 1 to 12, or the day might be other than 1 to 31 or inappropriate
for the month. Also in a DATETIME literal, the hour might be other than
0 to 23, the minute or second might be other than 0 to 59, or the fraction
might have too many digits for the specified precision.

In an INTERVAL literal, the constraints are the same except that the
first field is a count and can have as many digits as the qualifier
specifies.

-1264 Extra characters at the end of a datetime or interval.

Only spaces can follow a DATETIME or INTERVAL literal. Inspect this statement
for missing or incorrect punctuation.

-1265 Overflow occurred on a datetime or interval operation.

Both DATETIME and INTERVAL values are stored internally as DECIMAL values.
In this statement, an arithmetic operation that uses DATETIME and/or INTERVAL
values has caused an arithmetic overflow. This situation should not occur.
Check the precision that is specified for an INTERVAL value. If the INTERVAL
value that you want to enter is greater than the default number of digits
that are allowed for that field, you must explicitly identify the number
of significant digits in your definition. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-1266 Intervals or Datetimes are incompatible for the operation.

Some arithmetic combinations of DATETIME, INTERVAL, and numeric values
are meaningless and are not allowed. Review the arithmetic expressions
in this statement. Possibly one of them is using a DATETIME or INTERVAL
column or variable by mistake. If not, see your SQL reference material
for the valid use of these data types.

-1267 The result of a datetime computation is out of range.

In this statement, a DATETIME computation produced a value that cannot
be stored. This situation can occur, for example, if a large interval
is added to a DATETIME value. This error can also occur if the resultant
date does not exist, such as Feb 29, 1999.

Review the expressions in the statement and see if you can change
the sequence of operations to avoid the overflow.

-1268 Invalid datetime or interval qualifier.

This statement contains a DATETIME or INTERVAL qualifier that is not acceptable.
These qualifiers can contain only the words YEAR, MONTH, DAY, HOUR, MINUTE,
SECOND, FRACTION, and TO. A number from 1 to 5 in parentheses can follow
FRACTION. Inspect the statement for missing punctuation and misspelled
words. A common error is adding an s, as in MINUTES.

-1269 Locator conversion error.

This message was issued because a function that requires an argument that
is a locator (a reference to a BYTE or TEXT value) received something
other than a valid locator (such as a NULL parameter, or an argument of
any other data type).

Review the program logic to make sure the arguments are correct.

-1270 Interval literal may not have embedded minus sign.

You can use a minus sign as an arithmetic operator between an INTERVAL
literal and other values, and you can use a minus sign as a prefix to
an INTERVAL literal to indicate it is a negative quantity. However, you
cannot embed a minus sign among the fields of the literal. If you did
not intend to do this, inspect the statement for missing or misplaced
punctuation.

-1271 Missing decimal point in datetime or interval fraction.

A decimal point is expected to appear in a DATETIME or INTERVAL literal
when the qualifier of the literal contains the word FRACTION. This statement
has such a literal, but no decimal point was found. Inspect the literal
qualifiers for missing or misplaced punctuation.

-1272 No input buffer has been specified.

You have not specified an input string for this function, so the conversion
cannot proceed. Set the input-string argument, and call the function again.
(This function might require that you define formatting directives with
the DBTIME environment variable.)

-1273 Output buffer is NULL or too small to hold the result.

This error is returned when the function is called and the address space
for the output buffer is null or smaller than the format-string length.
Redefine the size of the address, and execute the function again. (This
function might require that you define formatting directives with the
DBTIME environment variable.)

-1274 No output buffer has been specified.

The output buffer length is zero, or the buffer pointer is a null pointer.
Database servers after Version 5.01 do not use this error message.

-1275 Invalid field width or precision in datetime or interval format
string.

The field width or precision in DATETIME or INTERVAL format specification
must make sense. The field width must be a decimal number, with a leading
zero or minus ( — ) sign. If a precision specification is present, it
must also be decimal, separated from the field-width specification by
a period.

-1276 Format conversion character not supported.

A format conversion character in the format string is not valid. Check
the string against the table of format conversion directives for DATETIME
and INTERVAL format conversion functions in the manual for your embedded
language product. See also the discussion of the DBTIME environment variable
in Chapter 4 of the Informix Guide to SQL: Reference.

-1277 Input does not match format specification.

Check that the ASCII string that contains a DATETIME or INTERVAL value
conforms to the format string. For example, a percent character in a DATETIME
or INTERVAL ASCII string must have a matching «%%» sequence in the format
string. See also the discussion of the DBTIME environment variable in
the Informix Guide to SQL: Reference.

-1278 Invalid escape sequence.

Check the pattern-matching string that the LIKE or MATCHES clause of the
statement specifies. In an ANSI database, the only valid characters that
can be escaped are: %, _, and the escape character for the LIKE clause,
and *, ?, [, ], and the escape character for the MATCHES clause.

-1279 Value exceeds string column length.

This message applies only to ANSI databases. You tried to insert into
a CHAR, NCHAR, VARCHAR, or NVARCHAR column using a string host variable,
but the string is too long.

-1280 Library API incompatibility found in libgen.so.

The libgen.so shared library compiled with your client application is
incompatible with the version in the $INFORMIXDIR/lib directory. Recompile
your application with INFORMIXDIR set to the path of the new libgen.so
shared library.

-1281 Library API incompatibility found in libos.so.

The libos.so shared library compiled with your client application is incompatible
with the version in the $INFORMIXDIR/lib directory. Recompile your application
with INFORMIXDIR set to the path of the new libos.so shared library.

-1282 Library API incompatibility found in libsql.so.

The libsql.so shared library compiled with your client application is
incompatible with the version in the $INFORMIXDIR/lib directory. Recompile
your application with INFORMIXDIR set to the path of the new libsql.so
shared library.

-1283 Library API incompatibility found in libgls.so.

The libgls.so shared library compiled with your client application is
incompatible with the version in the $INFORMIXDIR/lib directory. Recompile
your application with INFORMIXDIR set to the path of the new libgls.so
shared library.

-1284 Value will not fit in an INT8.

The INT8 data type can accept numbers with absolute values from 0 through
9,223,372,036,854,775,807 (plus or minus (2 to the 63rd power) — 1). To
store numbers that are outside this range, redefine the column or variable
to use the DECIMAL data type. (The value -9,223,372,036,854,775,808 is
a 32-bit value but is not acceptable; it indicates a null value.)

-1301 This value is not among the valid possibilities.

A list or range of acceptable values has been established for this column
(via an INCLUDE attribute in the form-specification file). You must enter
a value within the acceptable range.

-1302 The two entries were not the same — please try again.

To guard against typographical errors, this field has been designated
VERIFY (in the form-specification file). You must enter the value in this
field twice, identically. Carefully reenter the data. Alternatively, you
can cancel the form entry with the Interrupt key (usually CTRL-C, but
see the operating instructions that the program author supplied).

-1303 You cannot use this editing feature because a picture exists.

This field is defined (in the form-specification file) with a PICTURE
attribute to specify its format. You cannot use certain editing keys (for
example, CTRL-A, CTRL-D, and CTRL-X) while you are editing such a field.
Use only printable characters and backspace to enter the value.

-1304 Error in field.

You entered a value in this field that cannot be stored in the program
variable that is meant to receive it. For example, possibly you entered
a decimal number when the application provided only an integer variable,
or you entered a character string that is longer than the application
expected. Note all the circumstances and then discuss the problem with
the person who wrote the application program.

-1305 This field requires an entered value.

The cursor is in a form field that has been designated REQUIRED. You must
enter some value before the cursor can move to another field. To enter
a null value, type any printable character and then backspace. Alternatively,
you can cancel the form entry with the Interrupt key (usually CTRL-C,
but see the operating instructions that the program author supplied).

-1306 Please type again for verification.

The cursor is in a form field that has been designated VERIFY. You must
enter the value twice, identically, before the cursor can move to another
field. This procedure helps to ensure that no typographical errors occur
during data entry. Alternatively, you can cancel the form entry with the
Interrupt key (usually CTRL-C, but see the operating instructions that
the program author supplied).

-1307 Cannot insert another row — the input array is full.

You are entering data into an array of records that is represented in
the program by an array of program variables. That array is now full;
no place is available to store another record. Press the ACCEPT key (usually
ESCAPE, but see the operating instructions that the program author supplied)
to process the records that you have entered.

-1308 Cannot delete row — it has no data.

You pressed the Delete Row function key (usually F2, but see the operating
instructions that the program author supplied) in an empty row. Nothing
was deleted.

-1309 There are no more rows in the direction you are going.

You are attempting to scroll an array of records farther than it can go,
either scrolling up at the top or scrolling down at the bottom of the
array. Further attempts will have the same result.

-1310 Exiting the current function without executing a RETURN statement.

The current function does not return void but is about to exit without
executing a RETURN statement.

-1312 FORMS statement error number number.

A problem exists with a screen form. Look up error number in this document.
Consider it in relation to the current statement.

-1313 SQL statement error number number.

The current statement calls on the database server that detected an error
and returned an error code number. Look up number in this document. Also
look for other error messages.

-1314 Program stopped at statement, line number line.

At the indicated point in the program, an error was detected. Look for
other error messages that give details of the error. Use the numbers in
this message to locate the error in the program source file.

-1315 4GL run-time error number number.

The program stopped because an error was detected. Look up error code
number in this document. Also look for other error messages for more details.

-1316 ISAM error number number.

The current statement called on the database server, which detected an
error (probably reported in a display of error -1313). This message contains
additional detail on the cause of the error. Look up number in this document.

-1317 A numeric conversion error has occurred due to incompatibility
between a calling program and its function parameters or between a variable
and its assigned expression.

4GL converts between one data type and another automatically whenever
it can do so without losing information. In the current statement, it
could not do so. Look first for function calls, and inspect the values
that are passed as parameters. Check that the values that are passed agree
in type with the parameters as they are defined in the function bodies.
(An example of such an error would be calling a function fun(«X») when
within the function its parameter was defined as an integer.) If the statement
is a LET statement, check that the value that is computed on the right
can be accommodated in the variable that is named on the left.

-1318 A parameter count mismatch has occurred between the calling
function and the called function.

Either too many or too few parameters were given in the call to the function.
The call is probably in a different source module from the called functions.
Inspect the definition of the function, and check all places where it
is called to ensure that they use the number of parameters that it declares.

-1319 The 4GL program has run out of runtime data space memory.

You must reduce the data space that the program requires. Review the size
of large character variables and the dimensions of arrays. You might need
to split the program into separate programs that load separately, if that
is possible.

-1320 A function has not returned the correct number of values expected
by the calling function.

If the function was invoked as part of an expression, then it returned
more than one value. If a CALL invoked it, the number of expressions that
follow the RETURN statement (in the function) was different from the number
of variables that are listed in the RETURNING clause (in the CALL statement).

Check that the correct function was called. Review the logic of the
function, especially its RETURN statements, to ensure that it always
returns the expected number of values.

-1321 A validation error has occurred as a result of the VALIDATE
command.

The VALIDATE statement tests the current value of variables against rules
that are stored in the syscolval table. It has detected a mismatch. Ordinarily,
the program would use the WHENEVER statement to trap this error and display
or correct the erroneous values. Inspect the VALIDATE statement to see
which variables were being tested and find out why they were wrong.

-1322 A report output file cannot be opened.

The file that the REPORT TO statement specifies cannot be opened. Check
that your account has permission to write such a file, that the disk is
not full, and that you have not exceeded some limit on the number of open
files.

-1323 A report output pipe cannot be opened.

The pipe that the REPORT TO PIPE statement specifies could not be started.
Check that all programs that are named in it exist and are accessible
from your execution path. Also look for operating-system messages that
might give more specific errors.

-1324 A report output file cannot be written to.

The file that the REPORT TO statement specifies was opened, but an error
occurred while writing to it. Possibly the disk is full. Look for operating-
system messages that might give more information.

-1326 An array variable has been referenced outside of its specified
dimensions.

The subscript expression for an array has produced a number that is either
less than one or greater than the number of elements in the array. Review
the program logic that leads up to this statement to determine how the
error was made.

-1327 An insert statement could not be prepared for inserting rows
into a temporary table used for a report.

Within the report function, 4GL generated an SQL statement to save rows
into a temporary table. The dynamic preparation of the statement (see
the reference material on the PREPARE statement) produced an error. Probably
the database tables are not defined now, at execution time, as they were
when the program was compiled. Either the database has been changed, or
the program has selected a different database than the one that was current
during compilation. Possibly the database administrator has revoked SELECT
privilege from you for one or more of the tables that the report uses.
Look for other error messages that might give more details.

-1328 A temporary table needed for a report could not be created
in the selected database. The user must have permission to create tables
in the selected database.

Within the report definition, 4GL generated an SQL statement to save rows
into a temporary table. However, the temporary table could not be created.
Probably no disk space is left in the database. Or you already have a
table in your current database with the same name as the temporary table
that the report definition is attempting to create as a sorting table.
The sorting table is named «t_reportname». (For example, a report named
«order_rpt» would name its sorting table «t_order_rpt».) Users should
avoid beginning table names with «t_». Another possible cause of this
error with some database servers is that you have exceeded an operating-system
limit on open files. Look for other error messages that might give more
details.

-1329 A database index could not be created for a temporary database
table needed for a report.

Within the report definition, 4GL generated SQL statements to save rows
into a temporary table. However, an index could not be created on the
temporary table. Probably an index with the same name already exists in
the database. (The sorting index is named «i_reportname»; for example,
«i_order_rpt».) Possibly no disk space is available in the file system
or dbspace. Another possibility with some database servers is that you
have exceeded an operating-system limit on open files. Look for other
error messages that might give more details.

-1330 A row could not be inserted into a temporary report table.

Within the report definition, 4GL generated SQL statements that would
save rows into a temporary table. However, an error occurred while rows
were being inserted. Probably no disk space is left in the database. Look
for other error messages that might give more details.

-1331 A row could not be fetched from a temporary report table.

Within the report definition, 4GL generated SQL statements to select rows
from a temporary table. The table was built successfully but now an error
occurred while rows were being retrieved from it. Almost the only possible
cause is a hardware failure or an error in the database server. Check
for operating-system messages that might give more details.

-1332 A character variable has referenced subscripts that are out
of range.

In the current statement, a variable that is used in taking a substring
of a character value contains a number less than one or a number greater
than the size of the variable, or the first substring expression is larger
than the second. Review the program logic that leads up to this statement
to find the cause of the error.

-1333 Strings of length > 512 cannot be returned from function calls.

The current RETURN statement contains an expression that evaluates to
a character string longer than 512 characters. This situation is not supported.
Review the logic of the function, and modify it so that it does not return
such a long character value. You can assign a longer string to a global
variable.

-1334 The 4GL program cannot allocate any more space for temporary
string storage.

You should not see this message from a program that is compiled at a version
later than Version 4.1; however, programs that are compiled by 4GL Version
4.1 and earlier must deal with this issue.

Temporary string storage is used while evaluating a character expression.
It is allocated by a simple algorithm from a fixed-size buffer. Space
in this buffer is not reclaimed until the last pending character expression
is finished. Because most expressions complete immediately, the string
buffer is normally emptied as fast as it is used.

However, when expressions involve function calls, expression evaluation
is suspended during the function call. The buffer is not cleared until
the function returns. For example, temporary space is used for the literal
«###» and the result of the USING operator in the following statement:

LET charvar = numvar USING ‘###’, myfunc()

These pending values remain in the string buffer for the duration
of the call to myfunc(). If the aggregate total of all temporary character
values that are used during the evaluation of myfunc() and its sub-functions
exceeds the buffer size, this error occurs.

You can usually prevent the error by isolating function calls in separate
statements, as in the following example:

LET charvar = myfunc() LET charvar = numvar USING ‘###’, charvar clipped

The string buffer is free during the call to myfunc() in the first
statement and free again as soon as the second statement completes.

The short form of a WHEN clause in a CASE statement also creates a
suspended character expression. In the following example, temporary
string storage is tied up throughout the calls to func_A() and func_B().

CASE charvar

WHEN ‘A’ CALL func_A() WHEN ‘B’ CALL func_B()

… The longer form of the WHEN clause does not do this because evaluation
of the character expression is completed before the function call begins.

CASE

WHEN charvar = ‘A’ CALL func_A() WHEN charvar = ‘B’ CALL
func_B()

Finally, a known error in some versions of INFORMIX-4GL Version 4.1 causes
a spurious error of this type when the WORDWRAP clause appears in a PRINT
statement. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-1335 A report is accepting output or being finished before it has
been started.

The program executed an OUTPUT TO REPORT or FINISH REPORT statement before
it executed a START REPORT. Review the program logic that leads up to
this statement to find the cause of the error.

-1336 Module name in the pcode file contains pcode version compile-version.
This program can run pcode version runner-version. Run the pcode compiler
with the -V option to check the pcode version that it produces. Then
recompile all modules of your program, and run it again.

The program runner or a customized runner must be the same software version
as the program compiler. To check that the programs are at the same level,
execute each with the -V option. That option displays their version numbers.
When you determine that you are using compatible software, recompile your
program.

-1337 The variable name has been redefined with a different type
or length.

The variable that is shown is defined in the GLOBALS section of two or
more modules, but it is defined differently in some modules than in others.
Possibly modules were compiled at different times, with some change to
the common GLOBALS file between. Possibly the variable is declared as
a module variable in some module that does not include the GLOBALS file.

-1338 The function name has not been defined in any module in the
program.

The named function is called from at least one module of the program,
but it is defined in none. If you are using the Programmer’s Environment,
possibly one module was not defined as part of a multimodule program.
If you are working at the command line, possibly one or more compiled
.4go modules were omitted when the program files were concatenated to
form the .4gi file.

-1339 Global variable name cannot be found in the descriptor table.

This error indicates an internal problem in the runner. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-1340 The error log has not been started.

The program called the errorlog() function without first calling the startlog()
function. Review the program logic to find out the cause of this error.

-1343 No help file specified.

This INPUT, PROMPT, or MENU statement contains a HELP help-number clause;
however, no message file has been established. The OPTIONS HELP FILE statement
establishes the message file, but the statement has not yet been executed.
Review the program logic, and modify it to execute an OPTIONS statement
with a HELP FILE clause before it is needed.

-1344 INFORMIX-4GL Run Time Facility.

No current Informix product displays this message.

-1345 Undefined opcode.

The p-code file for the program (whose file suffix is .4go) has become
corrupted. Recompile the whole program, and run it again. If the same
error occurs, check that you are running the identical version of both
the p-code compiler and the p-code runner. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-1346 Number is too large for a DECIMAL data type.

The DECIMAL data type accommodates numbers from 10 to the -130th power
through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.

-1347 Number is too small for a DECIMAL data type.

The DECIMAL data type accommodates numbers from 10 to the -130th power
through 10 to the 124th power in absolute value. The precision (number
of significant digits) varies from 1 to 32; however, the source of this
error is not the length of the number but its magnitude.

-1348 An attempt was made to divide by zero.

Zero cannot be a divisor. In some cases, this error arises because the
divisor is a character value that does not convert properly to numeric.

-1349 Character to numeric conversion error.

A character value is being converted to numeric form for storage in a
numeric column or variable. However, the character string cannot be interpreted
as a number. It contains some characters other than white space, digits,
a sign, a decimal, or the letter e, or else the parts are in the wrong
order so that the number cannot be deciphered.

-1350 It is not possible to convert between the specified types.

The system will attempt any data conversion that makes sense. However,
some conversions, such as INTERVAL to DATE, or DATETIME to MONEY, are
not supported. Possibly you referenced the wrong variable or column. Check
that you have specified the data types that you intended and that you
formatted literal representations of data values correctly.

-1351 The function (or report) name has already been defined. Function
and report cannot both have the same name.

Each function (or report, which is similar to a function) must have a
unique name within the program. You must change either this use or the
prior one.

-1352 name may not be used as both a function (or report) name and
a variable name.

The name that is shown has been defined at least two ways. Names at the
global or module level (function names, report names, and names of global
or module variables) must be unique. Locate all the definitions of this
name, and change all but one of them.

-1353 Use ‘!’ to edit TEXT and BYTE fields.

The built-in form editor cannot deal with TEXT or BYTE columns. However,
you can designate an external program that can display or edit a value
from a TEXT or BYTE column. To call the external program for any field,
put the cursor in that field, and key the exclamation mark (!) character.
If an external program has been defined (with the PROGRAM attribute in
the form specification), it will be started. In a TEXT field, if no external
program is specified in the form, the program that the DBEDIT environment
variable names will be started.

-1355 Cannot build temporary file.

A TEXT or BYTE variable has been located in a temporary file using the
LOCATE statement. The current statement assigns a value into that variable,
so 4GL attempted to create the temporary file, but an error occurred.
Possibly no disk space is available, or your account does not have permission
to create a temporary file. 4GL creates a temporary file in the directory
that the DBTEMP environment variable specifies. Look for operating-system
error messages that might give more information. Check the value of DBTEMP.
Since Version 5.01, the INFORMIX-SE database server uses the DBTEMP environment
variable, but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server
do not.

-1356 Write error on temporary file filename.

The operating system signalled an error during output to a temporary file
in which a TEXT or BYTE variable was being saved. Possibly the disk is
full, or a hardware failure occurred. For more information, look for operating-system
messages.

-1357 Read error on temporary file filename.

The operating system signalled an error during input from a temporary
file in which a TEXT or BYTE variable was saved. Possibly a hardware failure
occurred. For more information, look for operating-system messages.

-1358 Write error on TEXT or BYTE file filename.

The operating system signalled an error during output to a temporary file
in which a TEXT or BYTE variable was being saved. Possibly the disk is
full, or a hardware failure occurred. For more information, look for operating-system
messages.

-1359 Read error on TEXT or BYTE file filename.

The operating system signalled an error during output to a temporary file
in which a TEXT or BYTE variable was being saved. Possibly the disk is
full, or a hardware failure occurred. For more information, look for operating-system
messages.

-1360 No PROGRAM= clause for this field.

You pressed the exclamation-mark key (!) while the cursor was in a TEXT
or BYTE field. However, no external program has been designated for this
field (with the PROGRAM attribute in the form-specification file). If
this field is a TEXT field, you can set the DBEDIT environment variable
before you start the program to specify a text editor.

-1361 Illegal TEXT or BYTE file name. Null names are not permitted.

The BYTE or TEXT variable has been located in a file using the 4GL statement
LOCATE. However, the filename that is given for the variable is a null
string. Because the file does not exist, 4GL cannot do anything with it.

-1362 4GL runtime stack violation.

The program attempted to access outside the boundaries of the stack. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-1363 A fatal internal error has occurred — Application Terminating.

The program attempted to access outside the memory that belongs to the
application. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-1364 Error recovery setup failed — Application Terminating.

The mechanism that allows the application to catch and handle internal
errors could not complete its actions. Return to DOS, and restart Windows.

-1365 Application appname not found.

The Application Launcher, fglaunch, did not find the requested application.

-1366 Unable to load application appname.

The Application Launcher, fglaunch, could not load the requested application.
The DLL does not have the required NewEra entry points, so it must not
be a NewEra DLL. Check to see if the NewEra DLL has the same name as an
existing system DLL.

-1367 DLL dllname is not a resource DLL — Application Terminating.

The program options for the Application Launcher, fglaunch, specified
that the DLL dllname included resources, but no resources were found,

-1371 The field fieldname does not exist in the current form.

The indicated field name has been given to the NEXT FIELD statement or
to the pf_nxfield() function, but it is not defined in the current form.
A common error is to confuse the tag name, which is used in the screen
layout and to the left of the equal sign in the ATTRIBUTES section, with
the field name, which is the column name used to the right of the equal
sign in the ATTRIBUTES section. Use the latter when you refer to fields.

-1372 The number entered is too large to fit in the decimal or money
variable.

Probably no current Informix product returns this message. If it appears,
refer to the explanation of error -1226. If the error recurs, please note
all circumstances and contact Informix Technical Support.

-1373 The field fieldname is not in the list of fields in the CONSTRUCT/INPUT
statement.

The built-in function get_fldbuf() or field_touched() has been called
with the field name shown. However, input from that field was not requested
in this CONSTRUCT or INPUT statement. As a result, the function cannot
return any useful value. Review all uses of these functions, and compare
them to the list of fields at the beginning of the statement.

-1374 SQL character truncation or transaction warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement involved is a DATABASE statement, the condition is that
the database that was just opened uses a transaction log. On any other
statement, the condition is that a character value from the database had
to be truncated to fit in its destination.

-1375 SQL NULL value in aggregate or mode ANSI database warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement that is involved is a DATABASE statement, the condition
is that the database that was just opened is ANSI compliant. On any other
statement, the condition is that a null value has been used in the computation
of an aggregate value.

-1376 SQL, database server, or program variable mismatch warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
If the statement that is involved is a DATABASE or CREATE DATABASE statement,
the condition is that the database server opened the database. On any
other statement, the condition is that a SELECT statement returned more
values than there were program variables to contain them.

-1377 SQL float-to-decimal conversion warning.

The program set WHENEVER WARNING STOP, and a warning condition arose.
The condition is that in the database that was just opened, the database
server will use the DECIMAL data type for FLOAT values.

-1378 SQL non-ANSI extension warning.

A database operation was performed that is not part of ANSI SQL, although
the current database is ANSI compliant. This message is informational
only.

-1379 Report functions may not be called directly. Please use the
OUTPUT TO REPORT statement.

A report function has been entered as a result of a CALL statement. Report
functions can only be executed using the START REPORT, FINISH REPORT,
and OUTPUT TO REPORT statements. Review the program. Look for places where
the report function name is called like a normal function, and change
them. If you want to use some of the code in the report function as a
subroutine, place it in a separate subroutine, and call it from the report
function and other places.

-1380 Only character expressions may be CLIPPED.

You cannot CLIP a noncharacter expression.

-1381 Cannot execute another runner when debugging.

An instance of the 4GL runner is currently executing. While you are debugging,
you cannot launch additional instances of the runner through a RUN command,
the RUN accelerator button, or directly from Windows. To launch a new
instance of the runner, first quit the currently running 4GL application.

-1390 The class «class» has not been defined in any module in the
program.

The named class has been declared, and it has been used, but it has never
been defined. It must be defined at the definition of the first member
function of that class.

-1391 Invalid class specified in AS clause.

The class specified in an AS clause of a NEW or COPY operation must be
derived from the stated class.

-1392 Cannot use a NULL object.

In the p-code runner, an attempt was made to dereference a NULL object.
Perhaps the program has defined an object, then tried to invoke a member
function of the object before creating it through !copy() or !derive().

-1393 The class class has already been defined.

The program attempted to define a class for a second time.

-1394 Invalid ixRow object argument for built-in function.

An ixRow argument is expected as the first argument for the built-in functions
UNPACKROW() and PACKROWINTO().

-1396 A report PRINT FILE source file cannot be opened for reading.

The file that is named in a PRINT FILE statement cannot be opened. Review
the file name. If it is not in the current directory, you must specify
a full path. If the file is specified correctly, check that it exists
and that your account has file permissions to read it. Look for operating-system
error messages that might give more details.

-1778 The security subsystem could not be initialized for this command.

Ensure that this account has sufficient privileges.

-1779 This command can be executed only by members of the Informix-Admin
group.

Log in with a user account that belongs to the Informix-Admin group, or
ask the Windows NT administrator to add your user account to the Informix-Admin
group. Then try the procedure again.

-1780 The database server can be started only by user informix.

You must be a member of the Informix-Admin group to start the database
server. Log in with a user account that belongs to the Informix-Admin
group, or ask the Windows NT administrator to add your user account to
the Informix-Admin group.

-1781 The database server could not retrieve the account information
for this user account.

The account information is missing or invalid. Run User Manager to check
the validity of this account.

-1782 The database server cannot validate this user.

The user does not have a valid account or password on the computer where
the database server is running. You must create a user account and password
for this user.

-1783 UnSetup will carry out these actions:

  • Remove the groupname group and the username user accounts
  • Remove the servicename service
  • Remove the branch Software\branchname\keyname\ from the registry

Do you also want to remove all Informix product files and directories?
(Y,N,Q)

-1784 The database server could not initialize the security subsystem.

The database server runs under the user informix account, which must have
the following privileges:

  • Log on as a service
  • Create a token object
  • Act as part of the operating system
  • Belong to the Informix-Admin group

To verify that user informix has these rights, access the User Manager,
and use the Policies/User Rights dialog box.

-1785 pathnamebuildsmi.ext

This message refers to the output of buildsmi.bat. For Windows NT, look
into the file %INFORMIXDIR%etcbuildsmi.out if «Error building sysmaster»
appears in the online.log file.

-1786 The command line option specified in the Control Panel/Services/Startup
dialog was -i.

The parameter that was specified in the Control Panel/Services/Startup
dialog box was -i, which causes the database server to initialize the
root dbspace, destroying any information that it currently contains. When
the database server runs as a service under Windows NT, it does not prompt
you to confirm the parameters that you have specified. If you are sure
that you want to initialize the root dbspace, specify the parameters as
-iy instead.

-1787 The database server detected a mismatch in the configuration
file. Mirror chunk pathname = pathname, Offset = offset K, Size = size
K.

Check the actual file size of the chunk against the size that is specified
for the mirror chunk in the ONCONFIG file.

-1788 The audit configuration-file pathname is too long. Its pathname
should contain at most maxnum characters.

The maximum number of characters, or maxnum, is 128.

-1789 The database server could not get account information for user
username.

Check to see that the user account exists and is valid.

-1790 The database server could not be started.

Please ensure that the account used to start the database server is a
member of the Informix-Admin group.

-1791 The database server encountered a fatal error while initializing
shared memory.

Look for the cause of this error in %INFORMIXDIR%online.log.

-1792 The database server cannot access %INFORMIXDIR%dbssodir or
%INFORMIXDIR%aaodir.

Check access to the path segments that lead to %INFORMIXDIR%dbssodir
and %INFORMIXDIR%aaodir. If %INFORMIXDIR% is on a network drive, make
sure that the oninit process privileges are not altered. In addition,
make sure that the AAO and DBSSO group names are valid in the registry.

-1793 The database server could not open the chunk chunkname. The
system error value returned was errno.

Ensure that this chunk exists and has the correct permissions for access.

-1794 The primary chunk chunkname containing the root dbspace is
invalid. It needs to be re-initialized.

The chunk that contains the root dbspace is corrupt or out of date. If
you have backed up your database server, you can perform a full-system
restore to restore the root dbspace. If you have not backed up your database
server, you will need to reinitialize the root dbspace by using the -iy
parameters when you start the database server.

Warning: Starting the database server with the parameters -iy reinitializes
the root dbspace and effectively destroys all existing data. You will
no longer be able to access existing databases unless you subsequently
perform a full system restore. Do not reinitialize the root dbspace
unless you are certain that you want to do so.

-1795 The number of chunks specified in shared memory, num_chunks,
is too large.

The maximum allowable number with the current configuration is num_chunks.
Specify larger chunk sizes, and reduce the number of chunks.

-1796 The database server detected a mismatch in the registry subkey
data for MIRRORPATH. The data retrieved for MIRRORPATH was pathname.

The root dbspace has not been mirrored. To add mirroring, use onspaces
or onmonitor.

-1797 The root dbspace is not large enough for the specified configuration.
The actual size is sizenum, and the required size is sizenum.

The root dbspace will not fit on the specified drive. Free the amount
of space that is needed on the specified drive, or change the ROOTPATH
configuration parameter to specify a different drive with more space available.
Then restart the database server with the -iy parameters to initialize
the root dbspace.

Warning: Starting the database server with the parameters -iy reinitializes
the root dbspace and effectively destroys any existing data. You will
no longer be able to access existing databases unless you subsequently
perform a full-system restore. Do not reinitialize the root dbspace
unless you are certain that you want to do so.

-1800 Invalid transaction state.

You must commit or rollback the current transaction before you disconnect.

-1801 Multiple-server transaction not supported.

You are attempting to span multiple connections within a single transaction.
You can switch to a different connection while a transaction is active
if you use the WITH CONCURRENT TRANSACTION clause when you establish the
connection.

This error message can occur when you try to switch connections as
follows:

  • If the current connection is to a Version 6.0 or later database
    server, you did not specify the WITH CONCURRENT TRANSACTION clause
    when you established the connection, and there is an active transaction
    in the current connection.
  • If the current connection is to a Version 5.0 database server,
    you did not specify the WITH CONCURRENT TRANSACTION clause when you
    established the connection, and a database is currently open on this
    connection.

-1802 Connection name in use.

A connection with the same connection name has already been made. Each
connection must have a unique connection name. Rename the connection,
and try again.

-1803 Connection does not exist.

The connection name in a SET CONNECTION or DISCONNECT statement does not
refer to an established connection. Check your program to see that the
connection was made and, if so, that it was not disconnected. Also, check
the spelling of the connection name in the statement that is failing.

-1804 Invalid database environment.

The database server cannot connect to the database environment that you
specified. The server cannot locate either the database server or the
database that you specified. Check the syntax of your statement. If you
are specifying a database server, you must use the @ sign. You cannot
use //.

-1805 Invalid connection name.

The connection name is invalid. It must conform to the same rules as any
other identifier; that is, it cannot exceed the maximum length, cannot
be an ANSI reserved word, must begin with a letter or underscore, and
can contain only letters, digits, underscores, and, in Informix Dynamic
Server 2000, dollar-sign characters.

The maximum length for identifiers depends on the database server.
In Informix Dynamic Server 2000, the maximum length is 128 characters.
In other Informix database servers, the maximum length is 18 characters.

Check that the connection name is a valid identifier and that you
are using the connection name and not some other value. If a connection
name was used with the original CONNECT TO statement, you must use the
connection name in subsequent connection statements.

-1807 No connection to disconnect.

You are attempting to disconnect a connection that does not exist at this
time. Check your program to see that you have not already performed a
DISCONNECT statement for this connection.

-1808 Reconnect to server_name server to perform the database operation.

If you connect to a database server using the CONNECT statement, you cannot
implicitly reconnect to a server through one of the DATABASE statements
(DATABASE, START DATABASE, and so on). You must switch to it with the
SET CONNECTION statement.

-1809 Server rejected the connection.

Check that you have permission to connect to the server that you specified.
If you specified both a database server and a database, check to see that
you have permission to access the database.

-1810 Disconnect error.

A DISCONNECT ALL statement has not disconnected a connection. The database
server for one of the connections might have terminated. If not, the cause
is internal to the software. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-1811 Implicit connection not allowed after an explicit connection.

Once you have used the CONNECT TO statement to establish an explicit connection
to a database server, you cannot use one of the DATABASE statements to
connect implicitly to another database server. After an explicit connection,
you must use the CONNECT TO statement to connect to other database servers.

-1812 Internal error.

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

-1813 Only the current connection can be made dormant.

You used the SET CONNECTION DORMANT statement incorrectly. You attempted
to put a connection that was already dormant into the dormant state. Or
you attempted to put a connection that is in use by another thread in
a dormant state.

-1814 Need to allocate collection or row variable before using it.

The application needs to call ALLOCATE COLLECTION or ALLOCATE ROW before
it uses a host variable of type collection or of type row in an SQL statement.

-1815 No type information for collection or row is available.

The application needs to declare a typed collection or row host variable
before using it in an SQL statement. The application can fetch the complex
type data from a column of type set, type list, type multiset or type
row into their untyped collection or row host variable before it uses
the data in the SQL statements.

-1816 No such column exists in the collection or row.

The field name specified by the application does not exist in the description
of the collection or row host variable. Check the description of the field
names within the declaration and make sure the field name specified matches
the one in the declaration.

-1817 No collection or row variable provided.

A collection or row host variable was expected but none was provided,
or the host variable used in the derived table syntax is not a collection
or row host variable.

Check the declaration of this host variable in the application and
change it to a collection or row host variable declaration.

-1818 Input variable type does not match collection or row definition.

Certain data types cannot be cast on the client. The following situations
return this error:

  • Trying to cast any complex type into any other complex type (that
    is, casting a set into list)
  • Trying to cast a built-in type (for example, INT) into a complex
    type
  • Trying to cast a complex type into a user-defined data type
  • Trying to cast a built-in type into a user-defined data type

Check the SQL statement and make sure the types are compatible.

-1820 Host variable type has been changed between fetches.

If the host variable is used for user-defined-data-type columns or if
the host variable itself is a user-defined-data-type host variable, the
host variable type and length cannot be changed between fetches.

-1821 Host variable is not large enough to hold the data returned
from the server.

The memory allocated by the application to fetch the user-defined data
type is not sufficient. Change the application so that it allocates more
memory before it fetches this user-defined data type.

-1822 Invalid argument.

One of the arguments passed to the function has an illegal value or is
NULL. Check the documentation for the valid values that can be passed
to this function.

-1823 Need more memory to store data.

This error is returned from ifx_var_setlen() and ifx_var_setdata() when
the application tries to set the length or the data to a size that is
larger than the amount of memory allocated in ifx_var_alloc(). Find the
current allocated length by calling ifx_var_getlen(), resize it if necessary
by calling ifx_var_alloc(), and execute ifx_var_setlen() or ifx_var_setdata()
again.

-1824 Message cannot be found.

The server user-defined routine has been executed, but the message text
cannot be found. Check the user-defined routine to make sure all SQLSTATES
returned by the server have a corresponding message text associated with
them.

-1825 INSERT and DELETE cannot be performed on ROW host variables.

Only UPDATE and SELECT statements can be used with row host variables.
Check the derived table syntax that is using the row host variable and
use UPDATE or SELECT instead.

-1826 DESCRIBE information about this statement is not available
at this time.

When the DEFERRED_PREPARE option is turned on, the description of the
statement is not known until the cursor is opened. Therefore, a DESCRIBE
can only be executed after an OPEN. If DEFERRED_PREPARE and OPTOFC are
both turned on, then the DESCRIBE can happen only after the FETCH, because
the OPEN is not executed until the FETCH is executed.

-1828 Cannot use scroll or hold cursor with client collections.

A cursor declaration for a client collection cannot be for a scroll or
hold cursor, as in the following declarations:

  • /* scroll cursor case **/ EXEC SQL DECLARE cur1 SCROLL CURSOR FOR
    SELECT * FROM table(:collection_host_variable);
  • /* hold cursor case **/ EXEC SQL DECLARE cur2 CURSOR WITH HOLD
    FOR SELECT * FROM table(:collection_host_variable);

Declare the cursor as follows instead:

EXEC SQL DECLARE cur3 CURSOR FOR SELECT * FROM table(:collection_host_variable);

-1829 Cannot open file citoxmsg.pam.

The file citoxmsg.pam is missing from the directory $INFORMIXDIR/msg.

If this error occurs, please note all circumstances and contact Informix
Technical Support.

-2013 The output form file filename cannot be opened.

Possibly your account does not have permission to write in the specified
directory; possibly the disk is full. In some systems, the problem might
be related to a limit on the number of open files. Look for operating-system
messages for more information.

-2014 There were an incorrect number of arguments on the operating
system command line. At least one (1) argument is expected.

When you run the Form Compiler from the command line, you must specify
either the -d option or the name of a form.

-2015 An open comment symbol, {, was found inside an already open
comment on line line, character column. This could be due to a failure
to close the previously opened comment, which was begun on line line,
character column.

Nested comments are not supported. Review the form specification, and
inspect all comments. Check that each open brace has a matching close
brace.

-2016 A comment has been opened, but not closed. The last comment
begun was opened on line line, character column.

Insert a close-comment symbol where appropriate in the report specification.

-2017 The character data value does not convert correctly to the
field type.

You have entered a character value (a quoted string) into a field that
has a different data type (for example INTEGER). However, the characters
that you entered cannot be converted to the type of the field. Consult
the operating instructions for this application, then reenter the data.

-2018 A grammatical error has been found on line line, character
column. The construct is not understandable in its context.

This message points to the exact spot in a source file where the compiler
could no longer understand the input. The actual mistake might be earlier
in the file, perhaps several lines earlier, but it is not later. Other,
more specific error messages should also appear.

-2019 This integer exceeds the maximum size allowed.

The INTEGER data type can accept numbers with absolute values from 0 to
2,147,483,647 (plus or minus (2 to the 31st power) — 1). If you have to
store numbers outside this range, redefine the column or variable to use
DECIMAL data type. (The value -2,147,483,648 is a 32-bit value but is
not acceptable; it is used in 4GL to indicate a null value.)

-2020 The table table-name could not be opened. The operating system
was asked to open it for writing.

You are using a database server that manages tables as ordinary disk files.
The current database is managed as a directory, and tables are files within
it. Look for operating-system error messages that might give more information.
Locate the database directory (either in the current directory or on a
path that is named in the DBPATH environment variable). Check that disk
space is available. In UNIX, your personal account does not have to have
write access to the directory and table files; however, they must be writable
to the group-id informix.

-2021 An illegal color has been specified. Colors 0 through 7 are
white, yellow, magenta, red, cyan, green, blue, and black.

Both in a COLOR attribute in a form specification and in a display attribute
in a 4GL program, you must specify colors by name and spell them as this
message shows. Check the spelling and punctuation of the statement.

-2022 This identifier exceeds the maximum length for identifiers,
which is .

Names of fields and other identifiers cannot exceed the maximum length.
In Informix Dynamic Server 2000, the maximum length for identifiers is
128 characters. In other Informix database servers, the maximum length
for identifiers is 18 characters.

Revise the form specification and recompile it.

-2023 This quoted string exceeds the maximum length for quoted strings,
which is length.

You cannot use longer quoted strings. In a form, you cannot join shorter
strings to make longer ones, so this maximum is an absolute length limit.
You must revise the form specification and recompile it.

-2024 There is already a record name specified. If the record name
is the same as a table name in the form, a default record of the same
name has been created.

Check that the record-name of every screen record and screen array is
unique in the form specification. A screen record is automatically defined
for each table that is used in the ATTRIBUTES section to define a field.
If you define a record with the name of a table, it is seen as a duplicate.

-2025 The comment close symbol (}) has been found on line line, character
column, even though no comment has been opened.

Unless comment symbols are enclosed in quotes, they must be balanced.
Probably you accidentally deleted the open-comment symbol when you were
editing. Change the form specification so that comments are properly delimited.

-2026 The FORMONLY field fieldname did not have a type specified.
A type must be specified if include lists or default values are specified.

The usual way of defining a form-only field (one not linked to a database
column) is as follows:

tagname = DISPLAYONLY.fieldname TYPE datatype

The TYPE clause is required. Review the attribute statements and recompile
the form. (The keyword FORMONLY is used in forms that the 4GL compiler
compiles. Its meaning is the same as DISPLAYONLY.)

-2027 An illegal (invisible, control) character has been found on
line line,character column. It has been replaced by a blank in the listing,
but it is still in the source (input) table, and should be removed before
attempting to compile again.

Illegal characters can be introduced into files by using a word-processing
editor in document mode instead of text mode, by striking nonprinting
keys while editing the file, or by data corruption.

-2028 The symbol name does not represent a table prefix used in this
form. It cannot be used here to select record elements.

In a SCREEN RECORD statement, each component must be introduced by the
name of the table as defined in the TABLES section or by the word FORMONLY.
Review the spelling of the indicated name against the TABLES section,
and check the punctuation of the rest of the statement.

-2029 Screen record array name has component sizes which either differ
from the specified dimension of the array or differ among themselves.

The dimension of the screen array is written in square brackets that follow
its name, as in the following example where the dimension is 12:

SCREEN RECORD details [12]

(items.item_num, items.item_desc, items.unit_price)

In this case, exactly 12 screen fields should be associated with each
of the three columns that are listed in the screen record. This error
message appears when one or more of the columns appear a different number
of times.

-2030 A typographical error has been found on line line, character
column.

The single character at the indicated position, although printable, is
unexpected and does not fit the syntax of a form specification.

-2031 The WORDWRAP attribute can only be specified for CHAR, VARCHAR
and TEXT fields.

This PRINT statement applies the WORDWRAP function to a value that is
not character data. Check that the field named is the one that you intended,
and check the punctuation of the rest of the statement.

-2032 The number above could not be successfully converted to either
an INTEGER or a DOUBLE or a LONG.

Something is wrong with the numeric constant; probably it has too many
digits. Check the punctuation of the statement; possibly two numbers have
been run together.

-2033 The field name has a default value not within the range of
its include list values.

The indicated field has both a DEFAULT attribute and an INCLUDE attribute,
but they disagree. The default value is not one that is allowed. Modify
one of the attributes, and recompile the form specification.

-2034 This feature is not available for INFORMIX-SQL. It is available
for INFORMIX-4GL by using the «form4gl» form builder.

The PERFORM form compiler and the 4GL form compiler accept very similar
form specifications, but they differ in some features. This statement
uses a 4GL feature, but PERFORM cannot process it.

-2035 The WORDWRAP attribute, if specified, should apply to all the
columns in a join.

Ignore this message. It applies to a feature of PERFORM (joins) that 4GL
does not support.

-2036 The display lines of a multi-line field lie in different screen
pages.

A multiline field (multiple fields with identical tags, given the WORDWRAP
attribute) must be complete within a screen page. Possibly you did not
intend the field to be on two pages. If your page layout, plus 4 reserved
lines, is taller than the physical screen (as specified in the SCREEN
statement or in the lines dimension on the command line), the form is
divided by starting a new page after the last line that can fit on the
page, and this situation might accidentally split a multiline field. In
any case, rearrange fields so that the multiline field fits on a single
page.

-2037 The PROGRAM attribute can only be specified for BYTE and TEXT
fields.

The field attribute PROGRAM specifies an external program to edit or display
a BYTE or TEXT value; these values are assumed to be too large and specialized
for the normal form-display methods. However, in this statement, the attribute
is applied to a column of another type, which is not supported. Check
the table and column names to make sure that they are as you intended,
and verify the current definition of the table in the database that is
named in the DATABASE statement.

-2038 BLOB fields cannot be joined.

Columns of BYTE and TEXT types cannot be compared. Therefore, they cannot
be used in joining tables, and they cannot be named as join columns or
in a COMPOSITES statement. Check that the table and column names are as
you intended, and verify the current definition of the table in the database
that the DATABASE statement names.

-2039 The attributes AUTONEXT, DEFAULT, INCLUDE, VERIFY, RIGHT and
ZEROFILL are not supported for BLOB fields.

Columns of BYTE and TEXT types cannot be used in the ways that these attributes
imply. Check that the table and column names are as you intended, and
verify the current definition of the table in the database that the DATABASE
statement names.

-2040 The form name name exceeds the maximum length of length characters.

The limit of the form compiler on names might be shorter than that of
the host operating system. Rename the form-specification file, and issue
the command again.

-2041 The form filename cannot be opened. This is probably because
it does not exist, or the user does not have read permission.

Check the spelling of filename. Check that the form file exists in your
current directory. If it is in another directory, check that the correct
pathname has been provided. On a UNIX system, if these things are correct,
verify that your account has read permission on the file.

-2042 The usage of a BLOB field in or around the above statement
is incorrect.

Columns of BYTE and TEXT types cannot be used in the ways that this statement
implies. Check that the table and column names are as you intended, and
verify the current definition of the table in the database that the DATABASE
statement names.

-2043 Screen layout exceeds the specified screen width. This is a
warning only.

The assumed screen width is taken from the SCREEN statement or a command-line
parameter to the form compiler, with a default of 80 characters. If the
current form specification is displayed on a terminal of that width, either
some lines truncate, or lines wrap unattractively.

-2044 At most one color attribute may be specified for each field
with each condition.

Review this ATTRIBUTES statement; a problem exists near a COLOR attribute.
Look for missing punctuation.

-2045 The conditional attributes of a 4GL field cannot depend on
the values of other fields.

The Boolean expression in a WHERE clause of a COLOR attribute can use
only the name of that field and constants. Revise this attribute, and
recompile the form.

-2100 Field field has validation string error, String = string.

One of the formatting or validation strings that is stored in the syscolval
or syscolatt tables is improperly coded. The string is shown as is the
field to which it applies. Use the Column Attributes Dictionary utility
in Windows or the upscol utility in DOS and UNIX to update the string.

-2800 The first line of the specification must be the keyword database
followed by the database name, or the FORMONLY keyword (4GL only). An
optional WITHOUT NULL INPUT may also follow.

Aside from comment lines, a form specification must begin by naming a
database. Review the file for punctuation and spelling errors. Refer to
the reference manual for this product for the options that are allowed
in the DATABASE statement. (Current products do not use this message.
You might encounter it with Version 4.0 or earlier products.)

-2810 The name name is not an existing database name.

This name, which was found in the DATABASE statement at the start of the
form specification, is not a database that can be found. If you are using
INFORMIX-SE, the database must reside either in the current directory
or in a directory that the DBPATH environment variable names.

-2811 The temporary table table-name could not be opened for writing.

The application is attempting to create a temporary table in the database
or some other temporary file but received an error code from the database
server. The most probable cause is a lack of disk space. Look for other
error messages, including operating-system messages, that might give more
information.

-2812 The temporary table table-name could not be read.

The application created and filled a temporary table in the database or
created and filled some other temporary file, but when it tried to read
rows from it, it received an error code from the database server. Probably
a hardware failure occurred. Look for other error messages, including
operating-system messages, that might give more information.

-2820 The label name between brackets is incorrectly given or the
label is missing.

In this line of the SCREEN section of a form specification, square brackets
indicate a field. The brackets should contain a simple name. Instead,
they contain spaces or an invalid name. Review the punctuation of the
line to make sure that the brackets contain only a simple identifier.

-2830 A left square bracket has been found on this line, with no
right square bracket to match it.

A screen field cannot span lines. Review the SCREEN section to make sure
all fields are properly marked. To create a multiline field, mark off
multiple complete fields all with the same field tag.

-2831 The control block has exceeded the maximum of limit fields.

Too many columns or tables are listed in the OF clause of this control
block. Write separate control blocks, each for part of the list.

-2832 This form uses «|» to both start and end a field placement.
Because of this, the form must specify left and right delimiters which
are the same character. This is done with the DELIMITERS command in
the INSTRUCTIONS section.

Make sure that a DELIMITERS statement is present and that it specifies
the same character for both left and right delimiters.

-2834 NULL cannot be used as the default. It is already the default
if you specify nothing.

This ATTRIBUTES statement contains a DEFAULT clause that specifies NULL.
Either delete the clause, or specify another value.

-2840 The label tag was not defined in the form.

The indicated name appears at the left of this ATTRIBUTES statement, but
it does not appear within brackets in the SCREEN section. Review the field
tags that have been defined to see why this one was omitted.

-2841 The form must include a tables declaration before the attributes
section.

Check that the form-specification file contains a DATABASE statement,
a SCREEN section, a TABLES section, and an ATTRIBUTES section, in that
order.

-2843 The column column-name does not appear in the form specification.

A name in this ATTRIBUTES statement should have been defined previously
in the form specification. Check that all names in the statement are spelled
correctly and defined properly.

-2844 The column column-name is associated with more than one field
in the form specification.

Any one table column can be related to only one field in an ATTRIBUTES
statement. Possibly you are trying to display columns from two or more
tables that have the same column names; in that case, prefix the table
names to the column names to distinguish them.

-2845 The composite column for table table-name containing column
column is not indexed. Performance will be much improved by creating
an index on the column.

The presence of an index can greatly reduce the time that is needed to
join tables. However, an index is not essential, especially when the tables
are small, or during initial testing.

-2846 The field field-name is not a member of the table table-name.

Something in this statement suggests that the name shown is part of this
table, but that is not true in the current database. Review the spelling
of the two names. If they are as you intended, check that the correct
database is in use and that the table has not been altered.

-2850 The name name is not a column name in this database.

The tables that are specified in the TABLES section of the form exist,
but the column name, which is named in the ATTRIBUTES section, does not.
Check its spelling against the actual table. Possibly the table was altered,
or the column was renamed. You can use INFORMIX-SQL to check column names
under the Tables menu, Info selection.

-2856 The TODAY attribute may be assigned only to date columns.

The TODAY function (not attribute) returns the value of today’s date.
That value can be assigned only to a field that has the DATE or DATETIME
data type. The field in this statement has a different type. Automatic
data conversion is provided in 4GL programs, but not in the context of
a form.

-2857 There can be only one dominant composite column in a join list.

This statement defines a join list, a list of two or more column names
that are related to the same form field. In such lists, an asterisk preceding
a column name indicates that column is the dominant column in a verify
join. Only one such column is allowed in any join, but two or more are
present in this list. Review the documentation on verify joins, and choose
a single dominant table.

-2858 The table table-1 is joined to the table table-2, but its joined
columns do not belong to a composite key.

You have defined two or more different joining columns between the two
indicated tables. However, no composite index exists on the joining columns.
Such an index is required to ensure that a composite key exists; that
is, that any combination of values from the joining columns will occur
only once. Review the two or more ATTRIBUTES statements that define join
columns for these two tables. Make sure that they are as you intended;
for example, make sure that you intended to join two tables on two or
more columns, instead of joining three or more tables on one column each.
If you intended the composite key, then use the CREATE INDEX command to
create a composite unique index on those columns for at least table1.

-2859 The column column-name is a member of more than one table —
you must specify the table name.

Two or more tables that are named in the TABLES section have columns with
the name shown. You must make clear which table you mean. To do this,
write the table name as a prefix of the column name, as table.column,
wherever this name is used in the form specification.

-2860 There is a column/value type mismatch for column-name.

This statement assigns a value to the field with the DEFAULT clause or
uses its value with the INCLUDE clause, but it does so with data that
does not agree with the data type of the field. Review the data type of
the field (which comes from the column with which it is associated), and
make sure that only compatible values are assigned.

-2861 You have exceeded the maximum of number tables.

A limit exists on the number of tables that can be in use at one time.
(This limit might be different on different host systems or with different
database servers.) Reduce the number of tables that you use in the form.

-2862 The table table-name cannot be found in the database.

All tables used in a form must exist at the time that the form is compiled,
so that the compiler can verify the data types of the columns. The indicated
table does not exist in the database that is named in the form. Check
the spelling of the table name and database name. If they are as you intended,
either you are not using the version of the database that you expected
(check the value in the DBPATH environment variable), or the database
has been changed.

-2863 The column column-name does not exist among the specified tables.

The tables that are specified in the TABLES section of the form exist,
but column-name, which is named in the ATTRIBUTES section, does not. Check
its spelling against the actual table. Possibly the table was altered,
or the column was renamed. You can use INFORMIX-SQL to check column names
under the Tables menu, Info selection.

-2864 The table table-name is not among the specified tables.

The indicated table is used in this statement but is not defined in the
TABLES section of the form specification. Check its spelling; if it is
as you intended, add the table in the TABLES section.

-2865 The column column-name does not exist in the table table-name.

Something in this statement implies that the column shown is part of the
indicated table (most likely the statement refers to table-name.column).
However, it is not defined in that table. Check the spelling of both names.
If they are as you intended, then check the contents of the database;
possibly the table has been altered or the column renamed.

-2866 The NOW attribute may be assigned only to datetime columns.

This message is not in use in any current product. SQL does not support
any NOW attribute or function; use the CURRENT function.

-2867 The CURRENT attribute may be assigned only to datetime columns.

The CURRENT function (not attribute) produces the current date and time
as a DATETIME value, but the field that is referenced in this statement
does not have the DATETIME data type. Automatic data conversion is not
supported in this context. Review the statement to make sure that it refers
to the field that you intended, and revise the form to assign DATETIME
values only to DATETIME fields.

-2870 The subscripted column size does not match the space allocated
in the display field.

This attribute statement relates a substring of a column to a display
field. However, either the substring numbers are wrong (the first is less
than 1 or greater than the size of the column, the second is less than
the first), or they are correct but the number of characters that they
select is different from the size of the display field. Revise the substring
numbers to select exactly as many characters as the field requires.

-2880 The word ‘screen’ or ‘end’ has been left out.

Every form specification must end in the keyword END and must contain
the keyword SCREEN. Both must begin in the first column of a line. Review
the contents of the form specification to make sure that all the necessary
sections are properly marked.

-2890 A screen definition must begin with a left curly bracket ‘{‘.

Each screen layout must be enclosed in braces ({ }). The open brace must
be the first character on its line. Review the form specification to make
sure that the screen layout is punctuated properly.

-2892 The column column-name name appears more than once. If you
wish a column to be duplicated in a form, use the same display field
label.

The expected way to display the same column in two or more places is to
put two or more fields in the screen layout, each with the same tag-name.
Then put a single statement in the ATTRIBUTES section to associate that
tag-name with the column name. The current column value will be duplicated
in all fields. If you intended to display different columns, the column
names as listed in the ATTRIBUTES section must differ. If you intend to
display different columns that happen to have the same column-names, prefix
each with its table-name.

-2893 The display field label tag-name appears more than once in
this form, but the lengths are different.

You can put multiple copies of a field in the screen layout (all will
display the same column), but all copies must be the same length. Review
the SCREEN section to make sure that, if you intended to have multiple
copies of one field, all copies are the same.

-2895 Display field length of field-size does not match the database
column length of column-size. This is a warning only.

The size of the character field that is defined in this statement (as
shown by its appearance in the SCREEN section) is different from the size
of the associate column. You specified the -v option to the form compiler
to request warnings of this type.

-2901 Field name contains two conflicting attributes, first and second.

This statement contradicts itself. The UPSHIFT and DOWNSHIFT attributes
cannot be applied to the same field; nor can NOENTRY and REQUIRED or NOETNRY
and VERIFY. Review the statement, and correct the selection of attributes.

-2920 The column column is a dominant column but it is not indexed.
Performance will be much improved by creating an index on the column.

You have defined the indicated column as dominant in a verify join. Whenever
the operator enters a value in the field, it will be looked up in this
column. Such a lookup operation is very quick when an index is present.
No index on the column exists at this time. Without one, a lookup might
be extremely slow. Unless the field does not allow operator input (in
which case you should remove the asterisk) or the table is very small
(a few dozen rows at most), you should create an index for this column
before you put the form into use.

-2921 The database dbname is not compatible with the current version
of INFORMIX-SQL.

A prior version of Informix software created the database that is named
in the DATABASE statement in this form. Before the present system can
use the database, you must use the sqlconv utility to convert it.

-2930 Portions of the column name are displayed on the screen more
than once.

This form displays subscripted portions of the indicated column in different
fields. This situation is permitted; however, no single character can
appear in more than one field. That is, the subscripts cannot overlap.
For example, you can display name[25,49] in one field and name[50,74]
in another. You cannot display name[25,49] and name[25,74] because some
characters would be displayed twice.

-2931 There is an error in the format specification.

Check the content of the FORMAT string in this statement. It is not correct
for the data type; that is, it has characters other than # and . for a
numeric column, and it has an incorrect internal length for a DATE column
(for example, yyy, which calls for a three-digit year).

-2932 Formats may be specified only for float, smallfloat, decimal,
or date columns.

This attribute statement specifies a FORMAT string, but the data type
of the field is not one of the four that support formatting: FLOAT, SMALLFLOAT,
DECIMAL (or MONEY), and DATE. If this column is not DISPLAYONLY, check
that it has been associated with the right column and that the column
is defined in the database as you expected.

-2933 The format width is larger than the allocated display width.

The length of the FORMAT string that is specified for this field is greater
than the length of the field itself as shown in the SCREEN section. Review
the screen layout, and revise it or the format so that they agree.

-2934 The format width is less than the allocated display width.

The length of the FORMAT string that is specified for this field is less
than the length of the field itself as shown in the SCREEN section. Review
the screen layout, and revise it or the format so that they agree.

-2935 The number of lines specified with the ‘-l’ option or in the
screen section must be a positive integer from 6 to 600.

The vertical size of the screen, as indicated in the SCREEN statement
or in the -l (lowercase L) command-line option, is out of range. Change
it to specify the expected size of the terminal where the form will be
used.

-2936 The number of columns specified with the ‘-c’ option or in
the screen section must be a positive integer from 30 to 600.

The horizontal size of the screen, as indicated in the SCREEN statement
or in the -c command line option, is out of range. Change it to specify
the expected size of the terminal where the form will be used.

-2940 The column name appears both with and without subscripts.

This form displays all of the indicated column, and subscripted portion
of it, in different fields. You can display different, subscripted parts
of a column in different fields, but the parts cannot overlap. That is,
portions of a column cannot be displayed twice on the same screen. Review
all uses of the indicated column. Perhaps you did not intend to name it
in both places. Perhaps two or more columns of the same name exist in
different tables, and you need to use the table name to distinguish them.
Otherwise, use nonoverlapping subscripts on each field of the column.

-2941 name is not a display field name on the form.

This statement refers to a field as name, but no such name is defined.
Check the spelling, and review the ATTRIBUTES section to see how the field
was defined.

-2943 You have exceeded the pseudo machine capacity.

The expression in this statement is too complex to process. Simplify it,
and recompile the form. (See also error message -2988.)

-2944 You may apply the after add, update, query, or remove commands
to a table only — not a column.

The operations of Add, Update, Remove, and Query all apply to whole rows.
Consequently, these control blocks must list only table names, not names
of individual columns, in their opening command. Review the names in this
statement, and change column names to the names of their tables.

-2945 You may apply the after add, update, query, or remove commands
to a table only — not a column.

Aggregates (AVG, MIN, MAX, COUNT, TOTAL) can only be performed on fields
that are associated with tables (not on DISPLAYONLY fields), and the tables
must be listed in the opening command of the same control block. Revise
the form specification, and recompile.

-2946 You may not calculate an aggregate on the display-only field
name.

Aggregates can only be performed on fields that are associated with tables
(not on DISPLAYONLY fields), and the tables must be listed in the opening
command of the same control block. Revise the form specification, and
recompile.

-2950 The column name has no section which starts at 1. Remember
that the first subscript is one, not zero.

Multiple substrings from the same column are assigned to display fields.
However, the substrings do not cover adjacent, nonoverlapping portions
of the column. Either there is no first section (starting from column
1), or one section overlaps another. Review the substrings that are specified.
Consider using a multiline edit field instead of a group of substrings;
it is simpler to code and provides better editing for data entry.

-2951 The left and right delimiters must be specified in a two character
string.

The DELIMITERS instructions require a string of exactly two characters,
the left and right delimiter (marker) characters to be used when displaying
fields. The characters can be the same, but there must be two of them.

-2952 In order to use a picture, the picture length must be the same
as the display field length.

The string that is specified with the PICTURE attribute must have exactly
the same length as the field as depicted in the SCREEN section. Review
the definition of this field, and make the two lengths agree.

-2953 The name name is not a database column in this form.

All the columns that are named in a COMPOSITES list must be defined in
the ATTRIBUTES section. Check the spelling of all the names, and make
sure that they have been defined.

-2954 You have exceeded the maximum of number control instructions.

The INSTRUCTIONS section of this form has exceeded the ability of the
form compiler to handle it. Remove some instructions to simplify the form.

-2955 The name field-tag is not a displayed field in this form.

The name that is shown appears in the ATTRIBUTES section but nowhere in
the SCREEN section. Check the spelling of the name; it is wrong in one
of those places, or it has been omitted from the screen layout.

-2956 You may not set display field field-tag to a value because
none of its associated database column(s) belong to the same table as
table, nor is it a variable display-only field.

You cannot assign values in a LET statement across tables. All columns
that are associated to the field-tag in a LET statement must belong to
tables that are named in the opening command of the control block, or
it must be a display-only field.

-2957 You may not set the next field to that-tag because none of
its associated database column(s) belong to the same table as this-tag.

The field that is named in a NEXTFIELD statement must be associated with
the same table as the current field. Review the relationships between
columns and tables in this form, and revise it.

-2958 You may have a maximum of ten parameters in a C-function.

This improper call to an external C function has too many parameters.
Find some way to pass the same information in fewer parameters.

-2959 Two tables may join with a maximum of limit column pairs, including
all components of composite columns.

A limit exists on the number of columns that are involved in a join. This
limit includes both the join columns that are named in an ATTRIBUTES statement
and those that are named in a COMPOSITES statement for the same table.

-2970 The column name joins with other columns, but it is not indexed.
It is recommended that columns be indexed for cross-table queries. Performance
will be much improved by creating an index.

The presence of an index on at least one of the columns that are involved
in a join can make join operation much faster. However, an index is not
required when one or both tables are small (dozens of rows). Consider
creating an index on all join columns before you put the form into production.

-2971 This column is not a character column, and therefore cannot
be subscripted.

This statement contains a subscript, a pair of numbers in square brackets,
after a column name. However, the data type of the column is not CHAR,
VARCHAR, or TEXT. Only such columns can be subscripted. Check that you
named the correct column. If you did, check its definition in the database.

-2972 This column cannot be right justified or zero-filled because
its displayed width does not match the actual column width.

In order to use the RIGHT or ZEROFILL attributes, make sure that the field
size (as depicted in the SCREEN section) is exactly the same as the width
of the database column. Review this statement, the screen layout, and
the definition of the table in the database to make sure these sizes agree.

-2973 There may be only one dominant column in a display field description.

This statement defines a join list, a list of two or more column names
that are related to the same form field. In such lists, an asterisk that
precedes a column name indicates that column is the dominant column in
a verify join. Only one such column is allowed in any join, but this list
contains two or more. Review the documentation on verify joins, and choose
a single dominant table.

-2975 The display field label tag-name has not been used.

The indicated name was defined in the SCREEN section but not in the ATTRIBUTES
section. Review the tags in each section, and revise the form so that
all tags are defined.

-2976 The end of the form has been reached prematurely.

This form specification has a SCREEN section but no TABLES or ATTRIBUTES
sections. Complete the form specification.

-2977 Table table1 cannot be a master of table table2 because they
do not join.

The two tables that are named in a MASTER OF instruction must be joined.
A join between tables is expressed by naming columns from both tables
in one statement in the ATTRIBUTES section. Check the spelling of the
table names here, and review the attribute statements.

-2978 The column column1 and the column column2 cannot be joined
columns because their types or lengths are different.

The columns in a join must contain data from the same domain. The fact
that these columns have different types or (if they are character columns)
different lengths indicates that their contents are not from the same
domain. Check the spelling of the column names to make sure that you named
the correct columns. Review the design of the database, and make sure
that these tables are meant to be joined on these columns.

-2984 The table identifier table is defined more than once.

Correct the statements in the TABLES section so that each table is defined
just once. Possibly you have defined an alias that is the same as a real
table name.

-2985 The table identifiers name1 and name2 represent the same table.

In the TABLES section, these two names are defined in such a way that
they refer to the same database table. One or both of them is a table
alias. Change the statements so that each name stands for just one table
and each table has just one name.

-2986 The form specification has exceeded the maximum of limit master/detail
pairs.

A restriction exists on the number of master-detail pairs that can be
supported in one form. You must find a way to simplify the form.

-2987 The form specification has exceeded the maximum of limit screens.

A restriction exists on the number of screen layouts that can be supported
in one form. You must find a way to simplify the form.

-2988 FORMBUILD has run out of memory.

The form compiler cannot get enough data memory to process the form specification.
You must find a way to simplify the form.

-2989 The column name is a reference column, but it is not indexed.
It is recommended that reference columns be indexed for lookups. Performance
will be much improved by creating an index.

You have defined the indicated column as a reference column using the
LOOKUP attribute. Whenever the operator enters a value in the field, it
will be looked up in this column. Such a lookup operation is quick when
an index is present, but no index on the column exists at this time. Without
one, a lookup might be extremely slow. Unless the field does not allow
operator input (in which case you should remove the asterisk) or the table
is very small (a few dozen rows at most), you should create an index for
this column before you put the form into use.

-2990 The columns column1 and column2 are not in the same database
table.

All columns that are cited in a single LOOKUP attribute must belong to
the same table. Check the spellings of the names, and make sure that they
are the columns you intended.

-2991 Warning: Only the first screen of your multiple-screen form
will be displayed under 4GL.

This warning appears when you use the 4GL forms compiler to compile a
multipage PERFORM screen. A 4GL program can display only the first page
of a multipage form. If the form specification has more than one SCREEN
section, it has been purposely divided into multiple pages, and you will
have redesign it for 4GL. If it has only a single screen layout, the 4GL
forms compiler has split it into two pages because it will not fit on
the screen. The form design might not allow for the four screen lines
that 4GL reserves.

-2992 The display label name has already been used.

The forms compiler indicates that name has been defined twice. These names
must be defined uniquely in the form specification. Review all uses of
the name to see if one of them is incorrect.

-2993 There is a circular join path specified in the form.

This form defines a series of three or more joins such that table A joins
to table B, table B joins to table C, and table C joins to table A. The
circularity might not be obvious due to the use of table-alias names.
Review all the statements in the ATTRIBUTES section and any COMPOSITES
statements, and draw a diagram of the join relationships. Then modify
the form so that no circular joins are created.

-2994 The form has exceeded the maximum number of joins between tables.

A limit exists on the number of joins that can be specified. You must
find a way to simplify the form.

-2995 The form has exceeded the maximum number of tables contained
in joins.

A limit exists on the number of tables that can be contained in one join.
You must find a way to simplify the form.

-2996 The unanticipated error number os-error has occurred. Contact
Informix Technical Support.

The error number that is displayed came from the host operating system.
RDS was at one time the name of Informix Software. This error should not
occur. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-2997 See error number number.

The database server returned the error number that is shown. Look it up
in this document. Also look for other error messages that might give more
information.

-2998 Operating system error os-error: text.

The error that is displayed came from the host operating system. This
error should not occur. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-2999 SQL server terminated.

The application has lost contact with the database server. Someone might
have shut down the database server, or an internal error might have damaged
a pipe between the application and the database server. In a local area
network system, the database server process or thread in the file server
might have been terminated, or the file server might be down. Look for
other messages, especially operating-system messages, that might give
more detail.

-3000 ISAM or system error number number.

Look up the error number in the finderr utility.

-3001 There are no forms in the current directory.

You can run only forms that are present in the current directory or a
directory that is named in your DBPATH environment variable. Change directories
to the one that contains the desired form(s), or change the contents of
DBPATH.

-3002 There are no BLOB fields to view.

You selected the View menu option. This option lets you view the contents
of TEXT and BYTE fields of a form, but this form has none.

-3003 This BLOB field is empty.

You selected the View menu option. The cursor is positioned in a field
that represents a BYTE column, and you pressed the ! key to edit the contents
of the field. However, the field is null; no data exists to view. Use
Query to select a row that includes nonnull data in this field.

-3005 You do not have permission to access the form form-name.

The form file form-name does exist; however, your account does not have
operating-system permissions to read and write it.

-3006 An unknown code has been found in the .frm file. Please recompile
your form before running it again.

Recompile the form to make sure that the .frm file has not been corrupted.
If the same error occurs, check that you are running FORMBUILD and PERFORM
products at the identical version level (version numbers are displayed
when the commands are executed from the command line if you do not use
the -s option). If the error recurs, please note all circumstances and
contact Informix Technical Support.

-3007 Your form is incompatible with the current version of PERFORM.
Please recompile your form before running it again.

Use FORMBUILD to compile the form, then run PERFORM again.

-3010 Database database-name not found.

The database that is named in the DATABASE section of the form could not
be opened. Either it could not be found, or your account has not been
granted CONNECT privilege for it. You can use INFORMIX-SQL to separate
these cases. Use Select option from the Database menu. If database-name
is listed, the database can be found but could not be opened.

The database server looks for a database first in the current directory
and then in directories that are named in the DBPATH environment variable.
Check to see if database-name.dbs exists in one of those directories.

-3011 A table is locked — no reading or writing is permitted.

Because another user has locked a table in exclusive mode, PERFORM cannot
continue. Rerun the transaction when the table is not locked.

-3019 Unanticipated error number has occurred, please call Informix
Software.

Please note all circumstances and contact Informix Technical Support.

-3020 The table table-name is not in the database — build your form
again.

A table that is listed in the TABLES section of the form cannot be found.
Review the DATABASE statement to ensure that the form is using the correct
database. If so, and if the table name is spelled as you intended, the
table has been dropped or renamed. You can use INFORMIX-SQL to check table
names under Info selection in the Tables menu. Revise the form to use
the correct name.

-3030 The column column-name is not in the database — build your
form again.

The tables that are specified in the TABLES section of the form do exist,
but the column column-name, which was named in the ATTRIBUTES section,
does not. Check the spelling of column-name against the actual table.
The table might have been altered, or the column may have been renamed.
You can use INFORMIX-SQL to check column names under Info selection in
the Tables menu. Revise the form to use the correct column name.

-3031 The form form-name cannot be found or opened.

PERFORM cannot locate the compiled form form-name.frm in the current directory
or in a directory that is named in the DBPATH environment variable. Or
if it did find the file, it could not open it. Check the spelling of the
name. Verify that the file exists, and check that your account has read
access to it.

-3035 The column column-name has changed column type — build your
form again.

The column column-name, which is named in the ATTRIBUTES section of the
form, no longer has the data type that it had when the form was compiled
(the table has been altered since). Check the present data type; then
examine the form specification to make sure that it will display the column
in a field of the appropriate size. Modify the form as required, and rebuild
it.

-3037 The column column-name is not a composite column — build your
form again.

The column column-name is mentioned as part of a COMPOSITE in the INSTRUCTIONS
section of the form specification. However, no composite index (an index
over all the columns of a composite key) exists over this column and its
fellows in the database. After the form was compiled, the composite index
was dropped. Either it should be restored, or the form should be revised.

-3050 Operating system error. Cannot open a temporary file.

PERFORM is trying to open a temporary file that it created earlier. Look
for operating-system error messages that might give more information.
Possibly you have exceeded a limit on the number of open files. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-3060 Operating system error. Cannot create a temporary file.

PERFORM is trying to create a temporary file but cannot. On UNIX systems,
check that your account is allowed to write in the /tmp directory or the
directory that is named in the DBTEMP environment variable and that the
directory is not full. Possibly you have exceeded an operating-system
limit on the number of open files. In that case, you will have to reduce
the number of tables that are used in this form.

-3081 The specified output file name has a bad extension.

The output filename cannot end in any of the following suffixes: .dat,
.idx, .aud, .per, .frm, .ace, .arc, .sql, or .unl.

Select a different filename.

-3082 No program specified to edit this BYTE field.

The form user has keyed! in the display of a BYTE field. However, no program=
attribute was defined for this field.

-3101 The column column-name does not allow null values.

When you added data to a table, you did not specify data for the column
shown. However, that column is defined in the database as not allowing
null values. You cannot add the row unless you supply a value.

-3120 Error in field.

The data that is entered into the current field is not appropriate for
the data type of the field.

-3200 There are no rows in the current list.

You must first query the table before you execute the UPDATE, REMOVE,
NEXT or PREVIOUS command.

-3210 The current row position contains a deleted row.

Another user has just deleted the row now displayed. That row no longer
exists. You cannot use the UPDATE, REMOVE, NEXT, or PREVIOUS commands
until you use QUERY to display a valid row.

-3260 This is an invalid value — it does not exist in table-name
table.

This column has a verify join with a column in table table-name. Any value
that is entered in this field must be found in that table. The value just
entered was not found. Enter a correct value.

-3261 Invalid value — its composite value does not exist in table-name
table.

This column is listed with others as a COMPOSITE in the INSTRUCTIONS section
of the form specification. It is shown there as needing to be verified
against matching columns of table table-name. The value you have entered,
considered with the other values in the composite, does not occur in table-name.

-3265 A required index on column-name is missing — please restore.

All dominant columns (those with asterisks before their names) in verify
joins must be indexed. Perhaps the index has been dropped since the form
was compiled. Re-create the index, and run the form again.

-3300 There are no more rows in the direction you are going.

You reached the beginning or the end of the current list of rows. You
can start a new query with the QUERY command, or use the PREVIOUS or NEXT
command to reverse through the list the other way.

-3400 There are no rows satisfying the conditions.

No rows in the database match the values that are entered in the form.
Enter different values, and query again.

-3420 This value is not among the valid possibilities.

A list or range of acceptable values has been established for this column
(via an INCLUDE attribute in the form-specification file). You must enter
a value within the acceptable range.

-3421 The joined field table.column cannot be selected by the current
user.

This form queries the column in the table shown in joining two tables.
However, your account name does not have SELECT privilege for that table
and column. Contact the owner of the table or a Database Administrator
to be given this privilege.

-3430 This field requires an entered value.

The row cannot be added to the table until a value has been entered in
the indicated field. A REQUIRED attribute in the form-specification file
has been associated with the column. Enter a value in the field.

-3450 Someone else has deleted a row which is in your list.

Another user, accessing a table that is queried by your form, has deleted
a row that your latest query selected. Restart your query to get an accurate
selection of rows. Version 4.0 and earlier of PERFORM might return this
error message when you query a view. Early versions of the product did
not support views.

-3451 This form has no fields requiring data entry.

None of the fields in this form specification permit data entry; they
are all marked as either LOOKUP or DISPLAYONLY without the ALLOWING INPUT
keywords.

-3452 Add, Update and Remove operations not allowed on a remote table.

The table that is being queried is in a database that is external to the
current database (the one that is named in the DATABASE section of the
form). Such tables cannot be modified. (This message is not currently
used. You might encounter it with products of Version 4.0 or earlier.)

-3460 This row has been locked by another user — try again later.

Another individual is currently using the table. Wait a few moments, and
reenter your statement.

-3500 The two entries were not the same — please try again.

To guard against typographical errors, you must enter the value in this
field twice. The values that are entered must be identical. Carefully
reenter the data. (A VERIFY attribute in the form-specification file has
been associated with this column.)

-3600 No detail table has been specified for this table.

You must first establish this table as the master of another table in
the INSTRUCTIONS section of the form.

-3610 No master table has been specified for this table.

You must first establish this table as the detail of another table in
the INSTRUCTIONS section of the form.

-3620 You do not have permission to write into this table.

You do not have insert or update privilege for the table, so you cannot
insert or update a column. Check with the owner of the table or the person
who has Database Administrator (DBA) privilege for the database for the
necessary permission.

-3630 Operating system error. Cannot write into a temporary file.

PERFORM earlier created a temporary file but now cannot write into it.
The most likely cause of this error is that the disk has filled up. Alternatively,
another user might have deleted the temporary file after it was created.

-3650 You must first remove table-name rows which join this row.

The row you wish to remove is the dominant member of a verify join. You
cannot remove this row without first removing any rows that join it.

-3651 You have exceeded the number of opened tables allowed by your
system.

Executing the statement would require that PERFORM exceed an operating
system limit on the number of open files. You will have to reduce the
number of tables that are included in the form specification.

-3660 You must first update table-name rows which join this row.

The row you wish to update is the dominant member of a verify join. You
are not allowed to change a row value in this column that would invalidate
joined rows in other tables. You must first update the rows in table-name
that join this column.

-3670 Operating system error. Cannot seek into a temporary file.

Earlier PERFORM created a temporary file; now it cannot change the file
position in that file. Perhaps another user deleted the file after it
was created. Look for messages from the operating system that might give
more detail on the problem.

-3680 PERFORM has run out of memory.

PERFORM cannot get the memory data space it needs. You will have to reduce
the complexity of the form.

-3690 Detail cannot be executed — tables first and second do not
join.

A master-detail relationship for these two tables is specified in the
INSTRUCTIONS section of the form. However, the two tables do not join.
Add a join attribute in the ATTRIBUTES section.

-3700 Permission not granted to allow reading of table-name.

Your account has not been granted SELECT privilege for the table table-name.
The owner of the table, or a person who has Database Administrator (DBA)
privilege for the database, can grant this privilege level to you.

-3710 Permission not granted to allow update of table-name.

Your account has not been granted UPDATE privilege for the table table-name.
The owner of the table, or a person who has Database Administrator (DBA)
privilege for the database, can grant this privilege level to you.

-3720 Permission not granted to allow add of table-name.

Your account has not been granted INSERT privilege for the table table-name.
The owner of the table, or a person who has Database Administrator (DBA)
privilege for the database, can grant this privilege level to you.

-3730 Permission not granted to allow remove of table-name row.

Your account has not been granted DELETE privilege for the table table-name.
The owner of the table, or a person who has Database Administrator (DBA)
privilege for the database, can grant this privilege level to you.

-3731 Cannot open the table table-name.

The database server cannot open the file that represents this table. You
might have exceeded an operating-system limit on open files; if that is
the case, you will have to reduce the number of tables that are included
in the form. However, first make sure that a file exists for this table
in the database directory (its name is database-name.dbs) and that your
account has read access to it. The name of the table file is composed
of table-name, a 3-digit number, and the suffix .dat.

-3750 Command aborted.

No current Informix product returns this message. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-3751 Type carriage return to continue.

No current Informix product returns this message. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-3752 You cannot use this editing feature because a picture exists.

This field is defined (in the form-specification file) with a PICTURE
attribute to specify its format. You cannot use certain editing keys (for
example, CTRL-A, CTRL-D, and CTRL-X) while you are editing such a field.
Use only printable characters and backspace to enter the value.

-3754 You have exceed the pseudo machine stack space.

Reduce the complexity of the form. In particular, reduce the level of
nesting of loops and IF statements, and break very complicated expressions
in LET statements up into simpler ones.

-3755 The selected display-only field tagname cannot be accessed.

The field tag name that is passed to the C function pf_nxfield() is the
name of a display-only field. Because the user is not allowed to enter
data in a display-only field, the cursor cannot be located in one. Check
the tag name that is supplied; if it is the one that you intended, review
the attributes of that field, and find out why it has been set display-only.

-3756 The selected field tag-name cannot be assigned a value at this
time.

The specified field is not in the current table. The cursor is not allowed
to enter such fields, and values cannot be set in them.

-3757 A conversion error has occurred for the field tag-name.

The data type of the value that is passed to pf_putval() could not be
converted into the data type of the screen field tag-name. Review the
value and the valtype flag versus the data type of the field in the form
definition.

-3758 The next selected field tag-name is not in the current table.

The field tag name that is passed to the C function pf_nxfield() is the
name of a field that is not in the current table. The cursor is not allowed
to enter such fields.

-3759 The display field field-name does not exist in the form.

The field tag name that is passed to the C function pf_nxfield() is not
defined in this form. Review the string that is passed; if it is as you
intended, inspect the form definition to see what has been changed. A
common error is to confuse the tag name, which is used in the screen layout
and to the left of the equal sign in the ATTRIBUTES section, with the
field name, which is the column name used to the right of the equal sign
in the ATTRIBUTES section. The latter is used when referring to fields.

-3760 Matching may not be used between non-character fields or expressions.

An IF-THEN-ELSE statement in the INSTRUCTIONS section of the form uses
the keyword MATCHES to compare two fields. However, at least one of the
fields is not a character field, and you can use MATCHES only with character
fields. Review all uses of MATCHES in the INSTRUCTIONS section to make
sure it is applied only to character fields.

-3761 ERROR — attempt to divide by zero has occurred.

A division expression in the INSTRUCTIONS section has a zero divisor.
Review all uses of division in the INSTRUCTIONS section, and look for
any that might have a denominator of zero (possibly the denominator is
a field into which the user entered a zero). Protect these expressions
with tests for zero using IF-THEN-ELSE.

-3762 The user function funcname defined in the form could not be
found in the C function definition table userfuncs.

The INSTRUCTIONS section of the form includes a call to a function funcname,
and sperform assumes that this is the name of an external C function.
However, the name and address of each such function must appear in a static
array that is named userfuncs. That array, along with the computer code
of the external functions, is linked with a custom version of sperform.
Because name did not appear in the array, sperform cannot call it.

Check that you are executing the correct, customized version of sperform
(the original version of the program has no external functions linked
to it). Check to see if funcname is correctly spelled. Then examine
the source of the C functions to make sure that the userfuncs array
is defined correctly.

-3763 This program has an invalid serial number. Please consult your
installation instructions.

The Informix software product has been improperly installed. Review the
installation procedure. If you need help, contact your Informix representative.

-3764 Screen too small. Must be at least 6 lines and 30 columns.

PERFORM cannot operate in a screen or window that is smaller than 6 lines
by 30 columns. You must increase the size of the terminal window in which
you are executing perform. The absolute minimum is 6 lines by 30 columns.
However, the window must also be large enough to contain the form that
will be displayed.

-3765 Form image too large to fit in the screen window.

The screen image as defined in the form file is larger (either wider or
taller) than the dimensions of the current window. If the current window
is the main window, its size is set by the dimensions of the terminal
in use. If the current window was opened with OPEN WINDOW, you should
specify more rows or columns. Review the form file, and either reduce
the size of the screen image or display it as a bigger window.

-3766 Usage: SPERFORM [-s] [-d database] filename . . .

This message displays the command-line option of the sperform program.

-3767 An unknown option option name was found on the command line.

Make sure that you typed the correct command-line option.

-3999 System internal error in file filename at line number.

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

-4000 Intrinsic member functions cannot be declared as SHARED.

This statement attempts to declare one of the intrinsic members of this
class (the class constructor, or the !copy() or !derive() function) as
SHARED. You can declare these functions in order to extend them, but the
declaration cannot specify SHARED.

-4001 Fundamental type name «type» cannot be used as a class name.

This CLASS statement attempts to declare a class with the same name as
a built-in data type such as INTEGER. Find a different name for your class.

-4002 Argument n of function «name» is not convertible to its formal
parameter’s type.

The indicated argument expression or default argument expression is not
compatible with the declared type of that function argument. Review the
declaration of the function to see what type is expected.

-4004 Member «name» of class «class-name» cannot be accessed in this
context.

The compiler is aware of the member, but the access control for the member
makes it inaccessible in the statement. Check for a PUBLIC, PRIVATE, or
PROTECTED declaration. Member variables default to PROTECTED access, but
member constants and member functions default to PUBLIC.

-4005 You cannot redefine private base member function «name».

This FUNCTION declaration in a class declaration names a member that is
inherited from a base class of this class. However, that inherited name
is declared as PRIVATE, so it cannot be overridden in this class. Review
the declarations of all base classes; then choose a name for your function
that will be unique to this class.

-4007 Record member «name» is undefined.

This statement refers to record.name. While the variable record is indeed
a record, name is not the name of one of its component fields. Find the
definition of record (it might be in the GLOBALS file), and verify the
names of its fields. Then correct the spelling of name.

-4009 Non-shared member «name» cannot be used in default values.

A default value expression in this function declaration refers to the
value of a normal member variable of this class. This action is not supported.
Default value expressions can refer to variables, but they must be declared
at the module level or be shared members of classes.

-4010 Include file «pathname» is not found.

This INCLUDE statement names a file that the compiler cannot find. If
a complete pathname is used, the file does not exist. Check the spelling
of all the directories and the filename. If only a filename is given,
that file could not be found in the current directory, in $INFORMIXDIR/incl,
or in any directory that is specified in a -H compiler argument. Perhaps
one of these arguments was omitted or misspelled.

-4011 Class «name» is not declared.

This statement refers to a class of the indicated name, but no such class
has been declared to this point in the source module. Check the spelling
of the name. Make sure that all desired include files have been included.

-4012 You can only specify a base clause for class constructors.

This function declaration is followed by a colon, class-name, and argument
list (in short, a base clause). This syntax is used only when declaring
the constructor function for a class (the function whose name is the same
as the name of the class), in order to specify function arguments to the
constructor of the base class.

-4013 Invalid intrinsic member function «!name».

The supported intrinsic member functions are !copy(), !derive(), and the
class-name (the constructor). No other functions can be declared with
an initial exclamation mark. Check the spelling of name. If it is not
one of the supported names, declare the function as a normal member function.

-4014 You cannot specify the RETURNING type for intrinsic member
functions.

This declaration of an intrinsic member function includes a RETURNING
clause. This action is not supported. The compiler defines the returned
value from an intrinsic member function. Omit the RETURNING clause.

-4016 Each class declaration must have at least one member function.

This class declaration contains no member functions. A class must contain
at least one, because the point at which the first (or only) member function
is defined is also the point at which the class itself is defined. If
the class has no other members, declare its constructor function. Because
the constructor is declared, it must also be defined (although the definition
need not contain any statements beyond FUNCTION and END FUNCTION unless
you wish).

-4018 The columns specified in the THRU option do not belong to the
same table.

This statement refers to some table first THRU (or THROUGH) last; however
first and last are not both columns in that table. Check the spelling
of these column names. Make sure that the correct database is current
at this point in the compilation (the most recent preceding DATABASE statement).

-4019 The columns specified in the THRU option appear in the reverse
order.

This statement refers to some aggregate (table, record, or object) with
the qualification «first THRU (or THROUGH) last.» However, first and last
do not appear in that order in the aggregate; last precedes first. Check
the spelling of the two names. Make sure that the correct database is
current at this point in the compilation (the most recent preceding DATABASE
statement).

-4020 Function «member» is not a member of class «class».

This statement tries to invoke class::member(), either directly or as
object.member(). However, no such member function is available from that
class. Check the spelling of the member name and the class or object name.
If the reference is class::member(), review the declaration of the class
for the correct spelling of the names of its members. If the reference
is through an object, make sure the object is declared as having the class
you intended. You can only call members of the stated class (the class
it is declared to have) of an object. If you want to call a member of
an actual class (the class that you think will be present at execution
time), use the CAST operator.

-4021 A class member cannot be named «SELF».

You cannot use SELF, regardless of letter case, as the name of a member
variable, member constant, or member function. The identifier SELF is
a built-in identifier that New Era provides automatically. You can refer
to SELF to make your code more readable when a member has the same name
as an identifier that is declared as in the global or module scope, or
to access a member when a local entity has the same name.

-4022 The reserved keyword «name» cannot be used as a 4GL identifier.

Keywords cannot be used to name a function, report, variable, or constant.
Consult the INFORMIX-4GL Language Reference for a list of reserved words.

-4023 A class cannot derive from itself.

This CLASS statement asserts that the class is DERIVED FROM itself. This
action is not supported. Either remove the clause, or name another base
class.

-4024 Identifier «name» has multiple declarations with different
types.

Multiple declarations of a given name in a given scope must be consistent
(that is, they must have the same type). The identifier that is shown
has been declared with a different type.

-4025 Function «name» is already declared in the class.

A function with the specified name has already been declared in the current
class.

-4026 Member «name» is already defined in base class «class».

A derived class inherits all the members of its base classes. You cannot
add a member that has the same name as a member from the base class.

-4029 The type of expression on which member «name» is selected is
not an object reference or record.

This statement refers to .name as if name were a member of a record or
of a class. However, the expression that precedes the dot is neither the
name of a record nor a reference to an object. If you think name is a
member of a record, check the definition of the record, and make sure
that its name is correctly spelled immediately preceding the dot. If you
think name is a class member, make sure that the dot is preceded by an
expression that yields a reference to an object of the right class.

-4030 Warning: Cannot further expand an expanded expression.

An expression cannot have multiple .* suffixes.

-4032 Warning: The structure part of the THRU member «name» is ignored.

The statement included a THRU phrase of the following form:

rec.first THRU rec.last

The correct form is:

rec.first THRU last

The logic is that first THRU last modifies rec.

-4033 Base member name «name» cannot be used for class name.

This statement attempts to declare a class name, but it also specifies
a DERIVED FROM clause. One of the members that is inherited from that
base class is called name. The name of a class cannot be the same as the
name of one of its members because the constructor function must use that
name. Review the inheritance for this new class, and then choose a different
name for it.

-4034 SQL statements and two-pass reports are not allowed when compiling
with the «-nosql» switch.

The compiler was invoked with the «-nosql» switch, but the source included
either explicit SQL statements or a two-pass report (which involves SQL
statements). Compiling with «-nosql» causes generation of .c code (instead
of .ec code) in which no SQL statements are allowed.

-4035 Function «name» cannot be redefined in a derived class «class»
with different access permissions.

The parent class of the function «name» has an access permission (PRIVATE,
PROTECTED, or PUBLIC) different from this declaration.

-4036 Function «name» cannot be redefined in a derived class «class»
with different scope of reference.

The base class of the function «name» is declared as SHARED and «name»
is not, or «name’ is declared as SHARED and its base class is not.

-4037 Multiple declarations of function «name».

Although you can declare multiple distinct versions of a user-defined
function, you cannot do so for functions such as name that Informix Software,
Inc. defines.

-4041 Including «file» again will cause an infinite loop.

This INCLUDEAGAIN statement specifies a file that includes itself. If
you force it to be included, a loop will follow. Make sure that this is
the file you intended to include. Review the contents of the file.

-4042 This form of declaration can only appear in the global (module)
scope.

The declaration for identifier::identifier can appear only in the global
scope.

-4043 Illegal EXTERNAL declaration.

This statement tries to declare an EXTERNAL classname::membername. A program
cannot use a global EXTERNAL declaration to declare a shared member variable.
To accomplish this, include the class description of which it is a SHARED
member.

-4044 Member «name» not defined in class «class».

This statement tries to access class::name. However, no such variable
or constant is defined for that class. Check the spelling of the member
name and the class or object name. If the reference is class::name, review
the declaration of the class for the correct spelling of the member names.
If the reference is through an object, make sure that the object is declared
as having the class that you intended.

-4045 Member «name» is defined in class «class», but not as a variable
or constant.

The identifier name is defined in the class, but as something other than
a variable or a constant, such as a member function. Check the spelling
of the member name and the class or object name.

-4046 Formal declaration appeared previously for this informal function
definition. The formal declaration is invalidated.

A formal declaration for this function appeared previously in this source
module. At this point, a definition in the informal function syntax appears.

-4047 Mixed informal and formal function declaration syntax. Return
type is ignored.

A function declaration has blended informal (FUNCTION program block) and
formal (FUNCTION prototype) syntax. The parenthesized list of arguments
gave only names, with the types to be defined later in a VARIABLE statement,
but the declaration then continued with a RETURNING clause, available
only in the FUNCTION prototype style of declaration. Consult the INFORMIX-4GL
Language Reference.

-4048 Driver statements for a report are not allowed within the body
of that report.

This statement defines a record variable and uses initialization expressions
when it declares one or more members. This action is not supported. You
can use an initialization expression only when you define a simple variable.

-4050 Function «name» has been used and hence declared as informal
before this formal declaration.

A call to this function appears prior to this declaration of it. Calls
to undeclared functions are supported only for compatibility with previous
versions of the 4GL language. When the compiler encountered the call to
the function, it assumed an informal declaration for it. Move the declaration
of the function to the top of the source module so that it precedes calls
to it.

-4051 Member «name» is defined in class «class», but not as a function.

This statement tries to invoke class::member(), either directly or as
object.member(). The class has a member of that name, but it is a member
variable, not a function. Check the spelling of the member name and the
class or object name. Review the declaration of the class for the correct
spelling of its member names.

-4052 Identifier «name» is not defined in the global scope.

A constant or variable is used that is not locally defined, so the compiler
assumes that it is to be globally defined but does not find it there either.

-4053 Function «name» has already been declared with a different
prototype.

The function that is described in this FUNCTION statement has already
been declared, and the previous declaration disagrees with this one in
the number or type of the arguments. Review included files for declarations
of this function, and make those statements consistent.

-4054 Function «name» has already been declared with a different
return type.

The function that is described in this FUNCTION statement has already
been declared, and the previous declaration disagrees with this one in
the number or type of returned values. Review included files for declarations
of this function, and make those statements consistent.

-4055 Overriding the constructor of a base class is not allowed.

This FUNCTION declaration in a CLASS statement specifies a function whose
name is the same as the name of a base of this class. In other words,
you are trying to override the constructor function of a base class. This
action is not permitted. Review the names of members that are inherited
by this class, and choose unique names for its member functions.

-4057 A class cannot be derived from a class with PRIVATE intrinsic
functions.

This statement declares a new class with a DERIVED FROM clause. However,
the specified base class has one or more intrinsic functions (class constructor,
function such as !copy()) that are declared PRIVATE. The intrinsic functions
of a base class must be available for calling from within the same functions
of the derived class. Private members cannot be called so; therefore,
you cannot derive a class from a base class with private intrinsic functions.
Make sure that you specified the correct base class, and review its declaration.

-4058 Symbol with constructor name is not a function.

A class name that is followed by the name of a member variable or constant
is not allowed in this context.

-4059 More actual arguments than formal arguments for function «name».

This statement invokes function name, but it specifies more argument expressions
than were called for in the declaration of function name. Check the syntax
of the argument list. Review the declaration of the function for the expected
number and type of arguments.

-4060 Fewer actual arguments than formal arguments without defaults
for function «name».

This statement invokes function name, but it specifies fewer argument
expressions than were called for in the declaration of function name.
Check the syntax of the argument list. Review the declaration of the function
for the expected number and type of arguments.

-4062 Warning: Informal function «name» returns (or is expected to
return) different number of results at different places.

The function name is called at more than one place in this source module,
and it is implied to return different numbers of arguments. Possibly this
correct; it is possible to write functions that return different numbers
of values in different circumstances. However, you should check that this
is the case and that the expected number of values will be returned in
each case.

-4063 Function «name» should not return any results.

This statement invokes the function «name» in a context that implies it
should return one or more values. However, that function has been declared
earlier in this module without a RETURNING clause or with RETURNING VOID.
Make sure that you have called the function you intended; then review
its declaration.

-4064 Type of returned value does not match the declared return type
of function «name».

The function «name» was not explicitly declared but has already been called
with one prototype, and the current call provides a different prototype.
Make sure that you have called the function you intended. Then review
its earlier call, or create an explicit declaration for it.

-4065 Multiple exception handlers for the same exception class «name».

Two or more ON EXCEPTION statements exist for the same exception class
in this block. Only one can be invoked. Review the statements, make sure
that each specifies the correct exception class, and remove or combine
duplicate handlers.

-4066 RETURN statement not allowed in the body of intrinsic functions.

This statement is part of the definition of an intrinsic member function
(the class constructor, !copy, and so on). These functions do not have
explicit result values; or more precisely, code that the compiler automatically
generates produces their returned values. Delete the RETURN statement.

-4067 This RETURN statement must provide a value.

This RETURN statement does not specify a value to return, but the function
was declared with a RETURNING clause that specified other than VOID. If
you want to terminate a function early without producing a value, you
could put a label on the END FUNCTION statement and use a GOTO, or redesign
the function logic to avoid the need for an early exit.

-4068 Function «class::member» has not been declared as SHARED.

This statement uses the double-colon syntax to invoke a class-member function.
However, the specified member function was not declared as SHARED. Only
shared member functions can be called this way; normal member functions
must be called through a reference to an object because they need the
object reference as the value of their SELF reference. Check that you
have specified the class and member that you intended; then review the
declaration of that class.

-4069 The type of expression on which member function «name» is called
is not a class.

This statement attempts to invoke the specified function using either
the scope resolution (::) operator or the record membership (.) operator.
However, the name to the left of the scope resolution operator is not
the name of a class in which name is a member, or the name to the left
of the record membership operator is not the name of an object reference
of which name is a member. If you intended to call name through a reference
to an object, use object.name syntax. Otherwise, make sure that you have
specified the class and member names that you intended, and review the
declaration of the class.

-4070 Cannot assign to «SELF».

This statement would assign a new value to the implicit function argument
named SELF. Since the value of SELF is used implicitly in any reference
to a member of the self object, assignment to it is not permitted.

-4071 Cannot assign to constant «name».

This statement would assign a new value to name, but name was declared
(in this scope) with a CONSTANT statement. Constants do not have memory
locations and cannot be assigned new values. Check that name is the identifier
you intended to use. Then review its declaration. Possibly you want to
assign into a module-level variable name, but it has been declared as
a local constant or a member constant that takes precedence in this context.

-4072 Cannot expand structure with no members.

The statement attempted to perform an expansion, but it failed. The expansion
was of the form object.*, but the object that is named does not have any
public member variables, so the expansion set is empty. Check that you
are referring to the correct class and member.

-4073 Beginning or ending name in THRU specification is not a member
of the target record.

This statement makes a reference to some structure (table, record, or
object) with the qualification «first THRU (or THROUGH) last». However,
first or last does not appear as an element of that aggregate. Check the
spelling of the two names.

-4074 No more than two substring index expressions are allowed.

The substring qualifier consists of a pair of integer expressions, separated
by a comma and surrounded by brackets (example: name[1,23]). The first
value cannot be larger than the second. Both must be positive and no larger
than the string length (or the declared length of the receiving data type).

-4075 Simple string expressions must have type CHAR or VARCHAR.

The compiler expected a string expression but found an expression that
was neither CHAR nor VARCHAR data type.

-4076 Class of CAST object must be a base of class specified as right
argument.

You cannot cast an object to any class; you can only cast it as being
of a class that is derived from its stated class. In the CAST expression
in this statement, the stated class of the object reference on the left
is not a base class of the class that is named as the right argument.
Review the expression to make sure that you have specified the object
that you intended (possibly you need to use parentheses around the object
reference) and the target class.

-4077 This operation is not valid on an operand of this type.

The operator cannot accept operands of this type. Correct any other errors
that might have been reported, and verify that this operator is defined
for operands of this type. Then compile the program again.

-4078 Operand is missing, or is of a type that is not supported.

The operator has been directed to operate on an invalid type. Perhaps
a function returns VOID, a blob (TEXT or BYTE), or FOREIGN result. IS
NULL and IS NOT NULL operators can operate upon TEXT or BYTE and FOREIGN
operands and can receive assignment from other operands of the same type
or NULL.

-4079 Operation is not allowed in index expressions.

An operation such as expansion (.*), COPY, NEW, or THRU was attempted
in an index expression.

-4080 Warning: Operation on NULL returns NULL.

While the compiler was optimizing expressions, it found an expression
composed of literal values, at least one of which was NULL.

-4081 Warning: A DATETIME expression cannot be negative.

A «-» operator occurred with a DATETIME operand. No negative points exist
in time. INTERVAL can be negative, but DATETIME cannot. Inspect the syntax
of the expression, and revise it to make it greater than or equal to zero.

-4082 Operands of MATCH and LIKE operations must be of CHAR or VARCHAR
type.

This statement uses the MATCH or LIKE operator with an argument expression
that is numeric or binary. No automatic conversion of data types exists
in this case. Examine the expression. If it is written as you intended,
revise it to assign the values to character variables (thus forcing their
conversion to character) before you use them with MATCH or LIKE.

-4083 Warning: Initialization of external variable(s) will be ignored.

This is only a warning. This statement declares a variable with both the
EXTERNAL keyword and an initialization expression. You can initialize
a variable only at the point where it is defined (that is, where memory
is allocated for it). This is a declaration, not a definition, so the
initialization is ignored.

-4085 Cannot output expression of this type.

The statement attempted to output an expression of a type that cannot
be output, such as FOREIGN, or an expression that includes an invocation
of a function that returns VOID.

-4091 Cannot assign to or refer to an array as a whole. Use indexing
to refer to individual elements.

The compiler attempted to convert the result of one expression to conform
with the type of another expression, and only one of them was an ARRAY.
Either both must be ARRAY type, or neither can be.

-4092 Type mismatch between CLASS and non-CLASS type.

The compiler attempted to convert the result of one expression to conform
with the type of another expression, and only one of them was a CLASS.
Either both must be CLASS type, or neither can be.

-4093 Type mismatch between RECORD and non-RECORD type.

The compiler attempted to convert the result of one expression to conform
with the type of another expression, and only one of them was a RECORD.
Either both must be RECORD type, or neither can be.

-4094 Length of compared CHAR or VARCHAR types is different.

The compiler was attempting to process a comparison between two string
types (such as comparing function signatures), and the two strings had
different bounds.

-4095 Records have different number of fields or fields of incompatible
types.

In this multiple-field assignment the values that are being assigned do
not correctly match to the fields in the receiving record or object. Examine
the syntax of the value expression(s); then review the declaration of
the receiving variable.

-4096 Expression class must be equal to or derived from result class.

The statement attempted to assign a value of one class to an object of
a different class that is not derivable from the former class.

-4097 Multiple declarations for class «name».

This class has been declared previously in the source module (perhaps
in an included file). Only one declaration is allowed. Find all declarations
of the class, and reduce them to one.

-4098 Type of expression that is expanded must be class or record.

This statement refers to name.* (or uses THRU notation); however, the
name it refers to is not declared as a record or as an object of some
class. Check the spelling of the name, and review its declaration.

-4099 Type to CAST to must be a class.

The right argument to the CAST operator in this statement is not the name
of a class. Review the syntax and spelling of the statement. Make sure
that you have included all necessary header files to declare classes.

-4100 Illegal definition of constant identifier «name».

A name already established as that of a constant identifier has appeared
as a declaration for a new identifier. Suppose, for example, that maxval
has already been declared to be a constant in class x, and then a later
declaration of VARIABLE x::maxval INT occurs.

-4103 The compiler detected an internal error in file «name» at line
number.

Please consult your system administrator or call Informix Software, Inc.
to report this error.

Note the specified file name and line number. Then report this internal
error.

-4104 The type of a column value does not match the type of a variable.

The INITIALIZE statement cannot establish a match between the type of
the column value and the type of the corresponding variable.

-4106 An expression of type DATETIME is expected.

In an EVENT statement, a function definition or declaration, an EXTERNAL
REPORT statement, a HANDLER statement, a function invocation, or just
an expression, the compiler found something other than a DATETIME expression.

-4107 An expression of type INTEGER or SMALLINT is expected.

In an EVENT statement, a function definition or declaration, an EXTERNAL
REPORT statement, a HANDLER statement, a function invocation, or just
an expression, the compiler found something other than a INTEGER or SMALLINT
expression.

-4108 An expression of type DATE is expected.

In an EVENT statement, a function definition or declaration, an EXTERNAL
REPORT statement, a HANDLER statement, a function invocation, or just
an expression, the compiler found something other than a DATE expression.

-4109 An expression of type DATE or DATETIME is expected.

In an EVENT statement, a function definition or declaration, an EXTERNAL
REPORT statement, a HANDLER statement, a function invocation, or just
an expression, the compiler found something other than a DATE or DATETIME
expression.

-4110 You cannot use more than one of the REPORT TO options in the
OUTPUT section of a REPORT routine.

In this OUTPUT section, the statement REPORT TO appears more than once.
Only one such specification is allowed. Remove all but one.

-4111 Warning: The function name is declared informally. For stronger
type checking, use a function defined formally.

The compiler detected that function name is an informal function. Possibly
the function returned a different number of arguments in different circumstances,
or the function has no prototype declaration. Although nothing is wrong
with defining a function this way, informal functions are more prone to
errors at runtime. Informix recommends that you use formal function declarations
(along with function prototypes) that are less error-prone and that the
compiler checks more rigorously.

-4117 A constant expression is expected here.

At least one of the values in one of the constant expressions in this
CONSTANT statement cannot be evaluated at compile time. Refer to «Constant
Expressions» in the INFORMIX-4GL Language Reference for information on
what types of operations can be used in constant expressions.

-4118 Expressions of this data type are not allowed in constant expressions.

The indicated expression cannot be evaluated to a constant. Correct any
other errors that might have been reported against this expression, and
recompile.

-4119 Time-dependent functions must be used with the function CONSTANT()
in constant expressions.

One of the constant expressions in this CONSTANT statement refers to function
such as CURRENT, whose value depends on the current time. Such functions
have to be written as arguments to the CONSTANT() function, which returns
their value as of the time of compilation. (You cannot use the time of
execution in a constant value.)

-4120 Declare variable «name» either external or local to module,
but not both.

The specified variable has been declared or defined more than once. At
least one of those times declared it with EXTERNAL, and another was a
definition as a module variable (lacking either EXTERNAL or GLOBAL). Review
the declarations and definitions of name, recalling that some of them
might be in included files. If you intend name as a variable private to
this module, give it a unique name. (You can declare a variable as EXTERNAL
more than once, and you can declare it as EXTERNAL and then define it
as GLOBAL. Both of these things can happen as a result of including header
files, and they have well-defined meanings. But it is contradictory to
have a variable that is both external and local to the module.)

-4121 Reports cannot be invoked through the CALL statement or in
function call expressions.

This statement attempts to call a report as if it were a function. Although
a report has the general form of a function definition, it cannot be used
like one. Check the names of functions that are called in this statement;
one is a report. If you meant to send a row of data to the report, use
the OUTPUT TO REPORT statement.

-4122 Parser limitations have been exceeded. Try to reduce complexity
or size of module.

The parser has returned an error that is NOT a syntax error. This error
could be caused by a parser-stack overflow (too many levels of nesting
within IF statements, WHILE statements, or the like) or by the parser
running out of parser-stack space (the module is too large). Try to reduce
the complexity of the code by splitting complex functions into multiple
functions or splitting the module into multiple modules.

-4123 CALL to function «name» must have a RETURNING clause.

The function name is declared as returning a result, so the CALL statement
must provide a RETURNING clause to receive the result.

-4125 Not defined/declared as a member in the class hierarchy «name».

The element indicated is either not declared, or is declared but not defined,
as a member of the class hierarchy «name.»

-4126 Handler expected.

The identifier in the WITH clause of the HANDLE statement does not identify
a handler. If the identifier of the handler specifies a class, check to
see that the handler is declared as belonging to that class; otherwise,
check to see that it is declared as belonging to the declared class of
the target object.

-4127 Event expected.

The identifier before the WITH clause of the HANDLE statement does not
identify an event. The event must be declared in or inherited by the declared
class of the target object (which can be the SELF object).

-4128 Handler should be a member of either the same class, or else
a base class, of the object.

The indicated handler is declared in the program but is not a member of
same class as the object or of a base class from which the object is derived.

-4129 Object name expected.

In the HANDLE statement, the event was prefixed with a «name.» qualifier,
but the name is not that of a known object.

-4130 Handler can’t be invoked directly.

A handler cannot be the object of an explicit CALL statement. The only
way to invoke a handler is through calling or posting the event to which
the handler has been assigned by a HANDLE statement.

-4131 No implied object for this non-shared function call («SELF»
is not defined in this context).

No object reference has been supplied for this member function call. If
the member function call was made inside a member function, «self» would
be the implied object reference. This call was made in a nonmember function
body, so there is no implied object reference.

-4132 Incorrect base class name in base clause.

The program has declared a base class and has declared another class as
DERIVED FROM that base class. In the definition of the constructor for
the derived class, a base constructor clause specifies a call to a function
that is NOT the base class constructor. Suppose a derived class is called
«bread» and its base class is called «food»; if the constructor for loaf
should have a definition that begins FUNCTION bread::bread(args1):food(args1).
If it begins FUNCTION bread::bread(args1):beverage(args1), the error message
appears.

-4133 Only events can be posted.

A POST statement specified something other than event. Member functions,
handlers, and reports cannot be posted.

-4134 Class qualification not allowed when invoking an event.

The program specified a class name followed by a scope resolution operator
(::) and the name of an event. Replace the class name with the name of
the appropriate object.

-4135 Only shared class variables can be defined outside class declaration.

A class variable described as SHARED cannot be defined outside the class
declaration. The variable definition indicated is completing the definition
of a variable already described without a SHARED qualifier in a class
declaration.

-4136 Intrinsic function name() has wrong signature.

The correct signature for a !copy() function is FUNCTION !copy (obj this_class),
having one parameter whose type is an object of the containing class.
The correct signature for a !derive() function has no arguments, only
a pair of parentheses.

-4137 Embedded C code is allowed in compiled-4GL programs only.

A BEGIN_C and END_C block can be included only in compiled NewEra programs.
It is not valid in a interpreted (p-code) NewEra program.

-4138 Arrays of CHAR(*) are not allowed.

ARRAY [ ] OF CHAR(*) is not a valid type.

-4139 The constant «name» cannot be used within its own definition.

A constant cannot be used until it is defined. Therefore, a constant cannot
be used in its own definition.

-4140 Compiler cannot continue.

This error is output if an unrecoverable error occurs in the compiler
(that is, SEG VIO, BUS ERROR). This situation could occur if the user
terminated the compilation explicitly. Otherwise, if the error recurs,
please note all circumstances and contact Informix Technical Support.

-4141 Unknown 4GL compiler flag «name» will be ignored.

This error occurs when the user invokes components of the NewEra product
directly, instead of through standard interfaces. The executable fglc
or fglp has been passed a compiler switch that is not understood.

-4142 Functions called in the WHENEVER statement cannot require parameters.

The WHENEVER statement in the program has the form WHENEVER condition
CALL function, and the function being called is declared to have parameters.
The function call in this context cannot even have parentheses, let alone
arguments. Note that main has implicit parameters, so it cannot be used
in this form of the WHENEVER statement.

-4143 Functions called in the WHENEVER statement cannot return values.

The WHENEVER statement in the program has the form WHENEVER condition
CALL function, and the function that is being called is declared with
a RETURNING clause. The function call in this context cannot return any
values.

-4144 A grammatical error has been found in an INCLUDEd file. The
construct is not understandable in its context.

This general message shows an inability to parse a NewEra statement from
a file summoned by an INCLUDE statement. Start at the point where the
error was issued, and work backward in the program looking for other error
messages, and for missing punctuation, missing END statements, and other
mistakes. Often, a missing END IF is the culprit. If the cause for this
error is not obvious, concentrate on eliminating any other, more specific
error messages, and this one will probably go away also.

-4145 Too many errors, compiler will quit.

Too many compiler errors have been detected. The compiler reports the
errors it has found to this point and quits.

-4146 Too many input files specified.

The executables fglc and fglp allow only 1 input file.

-4147 A RETURN statement is required in this function.

The function was declared with a RETURNING clause that specified other
than VOID, but no RETURN statement occurs in the body of the function.

-4148 CHAR (*) type is not allowed in SQL statements.

The CHAR(*) type is not allowed as an SQL type. It cannot be used in CREATE
TABLE, ALTER TABLE, and so on.

-4149 Expressions of this type are not allowed in SQL statements.

An identifier that is mentioned in an SQL statement is of a type such
as FOREIGN, or it names an object (a member of a class) or a record.

-4150 First parameter must be an ixRow object.

For calls to the built-in functions packrow() and unpackrow(), the first
argument must be of type ixRow.

-4151 Constructor cannot be called directly.

A constructor cannot be called directly using the CALL statement or as
the function in a function call expression. The constructor should be
invoked indirectly using the NEW operator.

-4152 Invalid begin or end name for THROUGH expression.

Invalid expressions have been used in a THROUGH expression in an SQL statement.

-4153 Warning: The constant expression with the USING clause has
been evaluated based on the values of the environment variables at compile
time.

This warning is generated when a value for a CONSTANT contains a USING
clause. The settings for environment variables DBFORMAT and DBMONEY can
affect the result of the USING operation. This warning reminds the user
that the USING clause in the CONSTANT statement will be evaluated at compile
time and might not be consistent with other USING clauses that are evaluated
at runtime.

-4154 The maximum size allowed for a constant of type CHAR or VARCHAR
is 255.

In a CONSTANT declaration or definition, the size of a character type
constant (CHAR or VARCHAR) cannot exceed 255.

-4155 Warning: Only static cursor names are allowed in the WHERE
CURRENT OF clause. Cursor name will be processed as a static cursor
name.

In the UPDATE and DELETE statements, the WHERE CURRENT OF cursor-name
clause cannot cite a cursor name that has been declared as dynamic.

-4156 Warning: The loop counter may overflow.

This warning can occur for a FOR statement when the upper limit of the
FOR loop is within the STEP value of the maximum value of that type. As
an example, suppose the FOR statement tried to run IX from 1 to 32760
with a step of 20, and IX was declared as SMALLINT; the compiler would
issue the warning because IX would overflow without satisfying the loop
termination condition.

-4157 The statement is too complex. Try to simplify it.

This error occurs if a stack overflow is detected during compilation.
Under Windows, the stack size is limited. Try to reduce the complexity
of your code. Complex expressions, such as many string concatenations
(‘||’), can consume a large portion of the stack.

-4158 INFORMIX-4GL FORM and WINDOW statements are not supported in
this product. Use the Visual Class Library for screen interaction.

The compiler encountered an OPEN FORM or OPEN WINDOW statement. In NewEra,
these functionalities are handled through Visual Class Library objects.
Consult the Graphical and Connectivity Reference Manual. Other grammatical
errors might be generated in addition to this one. Replacing the offending
statements with VCL calls and recompiling should eliminate the additional
messages.

-4159 Subscripting cannot be applied to the expression because it
is not a character or array reference.

The expression cannot be qualified by a subscript because the expression
is neither an ARRAY nor CHAR() type.

-4160 This expression cannot be used as the target of an assignment
statement.

An illegal assignment was detected. For example, you declared abc to be
a constant, but here you attempted to assign a value to it. Some statements
that involve assignment: LET, SELECT…INTO, OPEN CURSOR…INTO, FETCH
INTO, FOREACH…INTO, FOR iterator (the iterator is assigned values),
INITIALIZE, and LOCATE. Only NewEra returns this error.

-4161 This variable has not been defined as a record or object.

The variable indicated has been used with an asterisk or with the THRU
or THROUGH keywords. However, it has not been defined as a record or an
object. Check the spelling of the name. If it is as you intended, locate
the definition of the variable, and find out why it was not defined as
expected. Only NewEra returns this error.

-4162 Values cannot be RETURNed from within reports.

A report cannot include a RETURN statement because that would return control
to the routine that invoked the report.

-4163 Intrinsic function «name» of class «class» cannot be called
directly.

Constructors of the form classname::classname() are invoked through the
NEW operator. The classname::!copy() is invoked through the COPY operator.
The classname::!derive() is invoked through the AS clause in both the
NEW and the COPY operator. Only NewEra returns this error.

-4164 The variable is too complex a type to be used in an assignment
statement.

The type of the variable cannot be used in an assignment.That is, you
cannot assign a value (except for the nonvalue NULL) to a BYTE or TEXT
variable. You cannot assign any value to an ARRAY variable.

-4167 The PRAGMA LOCATION statement should be the last statement
on the line.

No other NewEra statement can follow PRAGMA LOCATION on the same line.
If your source file includes any other NewEra statement or compiler directive
after PRAGMA LOCATION, insert a linefeed character immediately following
the end of the PRAGMA LOCATION compiler directive. (The last specification
of PRAGMA LOCATION must be a line number, a filename, or the keyword RESET.)

-4168 An unexpected character was detected in this NewEra name.

A multibyte character (or other non-ASCII character that supports the
locale) was found in the name of a NewEra identifier. For this release
of NewEra, multibyte characters and other locale-specific characters are
not valid in NewEra identifiers.

-4169 Error loading locale.

A failure occurred in trying to load the CLIENT_LOCALE locale file. Verify
that the specified files exist, that these files have appropriate permissions
set, and that sufficient space is available in which to load them.

-4200 Write error — out of disk space.

The compiler failed to write some information to the output file because
it ran out of disk space.

-4201 Write error. Check available disk space and ulimit.

The compiler failed to write some information to the output file, but
the cause of the error was not reliably determined. This usually means
that the ulimit was exceeded, but possibly the error was detected too
late for the auxiliary information to be accurate, or other errors have
occurred since.

-4202 The compilation was not successful. Errors found: n. The file
filename was not written successfully either.

The compiler failed to produce the output file because of errors and it
also failed to produce the error file. Probably not enough disk space
was available.

-4203 The compilation was successful, with n warnings. The file filename
was not written successfully.

The compiler produced the output file. It also detected some warnings,
and it failed to produce the error file as well. Probably not enough disk
space was available.

-4300 This statement contains too many levels of function call nesting.

This statement has calls to functions that are nested within the parameter
lists of other function calls, to a level exceeding four. The maximum
level supported is four, as in the following expression: Afun(2-Bfun(3+Cfun(4*Dfun(5)))).

Rewrite the expression to store the result of the innermost function
calls in a variable, and use the variable in the expression.

-4309 Printing cannot be done within a loop or CASE statement contained
in report headers or trailers.

4GL needs to know how many lines of space will be devoted to page headers
and trailers; otherwise, it does not know how many detail rows to allow
on a page. Since it cannot predict how many times a loop will be executed,
or which branch of a CASE will be execute, it forbids the use of PRINT
in these contexts within FIRST PAGE HEADER, PAGE HEADER, and PAGE TRAILER
sections. You have to rearrange the code to place the PRINT statement
where it will always be executed.

-4310 Files cannot be printed within report headers or trailers.

4GL needs to know how many lines of space will be devoted to page headers
and trailers; otherwise, it does not know how many detail rows to allow
on a page. Since it cannot predict how many lines are in a file, it forbids
printing a file in a header or trailer. You can write PRINT statements
in the control blocks for FIRST PAGE HEADER, PAGE HEADER, and PAGE TRAILER.
However, you cannot write PRINT FILE statements in these control blocks.

-4312 The NEED statement is allowed only within reports.

The NEED n LINES statement is used in a report to cause a conditional
page skip. This is only relevant in the context of the FORMAT section
of a report. Check to see if a REPORT statement has been omitted.

-4313 The NEED statement cannot be used within report headers or
trailers.

The NEED n LINES statement is used in a a report to cause a conditional
page skip. In the context of a FIRST PAGE HEADER, PAGE HEADER, and PAGE
TRAILER section, however, it is irrelevant. If it did cause a page skip,
an endless loop could ensue.

-4314 The program cannot continue or exit a menu at this point because
it is not within a MENU statement.

This CONTINUE or EXIT statement uses the MENU keyword, but it is not located
within a COMMAND section of a MENU statement. Either the statement is
in error, or some other error has prevented 4GL from recognizing the MENU
statement.

-4315 The program cannot exit a FOREACH statement at this point because
it is not within a FOREACH statement.

This CONTINUE or EXIT statement uses the FOREACH keyword, but it is not
located within a FOREACH loop. Either the statement is in error, or some
other error has prevented 4GL from recognizing the FOREACH statement.

-4316 The program cannot exit a WHILE statement at this point because
it is not within a WHILE statement.

This CONTINUE or EXIT statement uses the WHILE keyword, but it is not
located within a WHILE loop. Either the statement is in error, or some
other error has prevented 4GL from recognizing the WHILE statement.

-4317 The program cannot exit a FOR statement at this point because
it is not within a FOR statement.

This CONTINUE or EXIT statement uses the FOR keyword, but it is not located
within a FOR loop. Either the statement is in error, or some other error
has prevented 4GL from recognizing the FOR statement.

-4318 The program cannot exit a CASE statement at this point because
it is not within a CASE statement.

This CONTINUE or EXIT statement uses the CASE keyword, but it is not located
within a CASE statement. Either the statement is in error, or some other
error has prevented 4GL from recognizing the CASE statement.

-4319 The symbol variable-name has been defined more than once.

The variable that is shown has appeared in at least one other DEFINE statement
before this one. If this DEFINE is within a function or the MAIN section,
the prior one is also. If this DEFINE is outside any function, the prior
one is also outside any function; however, it might be within the file
included by the GLOBALS statement.

-4320 The symbol table-name is not the name of a table in the specified
database.

The named table does not appear in the database that is named in the latest
DATABASE statement. It may be spelled wrong in the program, or the table
might have been dropped or renamed since the last time the program was
compiled.

-4321 An array may have the maximum of three dimensions.

You have written more than three subscripts following the name of an array.
However, 4GL only supports arrays of three dimensions or fewer. Check
the syntax of the subscript; an extra comma might have been entered in
error.

-4322 The symbol column-name is not the name of a column in the specified
database.

The preceding statement suggests that the named column is part of a certain
table in the database that is in the last DATABASE statement. The table
exists, but the column does not appear in it. Check the spelling of the
column name. If it is spelled as you intended, then either the table has
been altered, or the column renamed, or you are not accessing the database
you expected.

-4323 The variable variable-name is too complex a type to be used
in an assignment statement.

The named variable is a record or an array. 4GL does not support the assignment
of whole records or arrays. In the case of a record, you must assign the
individual record components, or you can assign groups of components to
groups of components using asterisk notation. In the case of an array,
you must use a subscript to designate a single array element. This error
is not produced by any version of 4GL later than Version 4.1.

-4324 The variable variable-name is not a character type, and cannot
be used to contain the result of concatenation.

This statement attempts to concatenate two or more character strings (using
the comma as the concatenation operator) and assign the result to the
named variable. Unfortunately, it is not a character variable. 4GL will
not perform automatic conversion from characters in this case. Assign
the concatenated string to a character variable; then, if you want to
treat the result as numeric, assign the string as a whole to a numeric
variable.

-4325 The source and destination records in this record assignment
statement are not compatible in types and/or lengths.

This statement uses asterisk notation to assign all components of one
record to the corresponding components of another. However, the components
do not correspond. Note that 4GL matches record components strictly by
position, the first to the first, second to second, and so on; it does
not match them by name. If the source and destination records do not have
the same number and type of components, you will have to write a simple
assignment statement for each component.

-4326 A NULL value may not be applied to substrings.

The value NULL is a whole value that is relevant to complete variables
only. You can assign NULL to the name of this variable (omitting the substring
notation) to make the entire variable contain the null string. Alternatively,
you can assign spaces to a substring to make it blank. The only way to
delete a portion of a string is to write an expression that extracts the
leading and trailing substrings that are to be retained and concatenates
them.

-4327 The variable variable-name is not of type INTEGER or SMALLINT.
It cannot be used as a loop index.

The index variable in a FOR loop must be an integer type. Specify a different
variable, or redefine the one named.

-4328 The variable variable-name has too complex a type to be used
as the destination of a return from a function.

The named variable is a record or an array. Only simple variables can
be returned by a function, although the function can return a list of
simple variables. In the case of a record, you can use the asterisk or
THRU notation as shorthand to specify a list of components.

-4329 The variable variable-name is not a record. Only record variables
may be expanded using the .* or THROUGH shorthand.

You have used the displayed name with either dot-asterisk (.*) or the
word THRU (or THROUGH), which is shorthand notation to specify a list
of the components of a record. Unfortunately, the variable is not defined
as a record. Make sure that you specified the right variable and that
it is defined as a record.

-4330 Values cannot be RETURNed from the MAIN program.

Although RETURN is equivalent to EXIT PROGRAM in a MAIN program, it cannot
include a value to be returned. NewEra programs return this error.

-4333 The name has already been called with a different number of
parameters.

Earlier in the program, there is a call to this same function or event
with a different number of parameters in the parameter list. At least
one of these calls must be in error. Examine the FUNCTION or EVENT statement
for name to find out the correct number of parameters. Then examine all
calls to it, and make sure that they are written correctly. When this
error appears near the top of a function in conjunction with error -4336,
fix error -4336 first, and -4333 will usually disappear. NewEra programs
return this error.

-4334 The variable variable-name in its current form is too complex
to be used in this statement.

By «too complex» 4GL means «has too many component parts.» In this statement,
only simple variables (those that have a single component) can be used.
If variable-name is an array, you must provide a subscript to select just
one element. If it is a record, you must choose just one of its components.
(However, if this statement permits a list of variables, as in the INITIALIZE
statement, you can use asterisk or THRU notation to convert a record name
into a list of components.)

-4335 The symbol field is not an element of the record record.

This statement refers to record.field. Although the variable record is
indeed a record, field is not the name of one of its component fields.
Find the definition of record (it may be in the GLOBALS file), verify
the names of its fields, and correct the spelling of field.

-4336 The parameter variable-name has not been defined within the
function or report.

The name variable-name appears in the parameter list of the FUNCTION statement
for this function. However, it does not appear in a DEFINE statement within
the function. All parameters must be defined in their function before
use. Possibly you wrote a DEFINE statement but did not spell variable-name
the same way in both places.

-4338 The symbol variable-name has already been defined once as a
parameter.

The name that is shown appears in the parameter list of the FUNCTION statement
and in at least two DEFINE statements within the function body. Only one
appearance in a DEFINE statement is permitted.

-4339 4GL has run out of data space memory.

Your 4GL program requires more memory than is available. If your program
was executing sucessfully prior to this message, examine your code to
see if FREE, CLOSE FORM, CLOSE WINDOW, or other 4GL statements can release
memory used by 4GL program objects that are no longer needed.

If your program was using a shared memory connection, try setting
INFORMIXSHMBASE to a larger value. Alternatively, use a streams (olipcstr)
or network (oltlitcp) connection. If you receive this message during
compilation, a .4gl source module might be too large to compile. Divide
it into smaller modules, and compile them separately. If the error persists,
divide the 4GL program into smaller programs.

-4340 The variable variable-name is too complex a type to be used
in an expression.

By «too complex,» NewEra means «has too many component parts.» In an expression,
only simple variables (those that have a single component) can be used.
If the variable indicated is an array, you must provide a subscript to
select just one element. If it is a record or object, you must choose
just one of its components. NewEra programs return this error.

-4341 Aggregate functions are only allowed in reports and SELECT
statements.

Aggregate functions such as SUM, AVG, and MAX can only appear in SQL statements
and within certain statements you use in the context of a report body.
They are not supported in ordinary expressions in program statements.
You might be able to write an application-specific function to form this
aggregate function on your data; however, you must name it something else
because names such as SUM, AVG, and MAX are reserved words.

-4342 PAGENO and LINENO are allowed only in reports.

These functions are only relevant in the body of a report function (one
following a REPORT statement). Only within the report-generating code
is the idea of a current page or line meaningful. You can make these values
available outside a report through global variables. For example, you
could put a statement such as this one in the PAGE HEADER control block:

LET CURR_PAGE = PAGENO

This would assign the current page to a global variable (called CURR_PAGE
in the example) that could be tested by code outside the report function.

-4343 Subscripting cannot be applied to the expression because it
is not a character or array reference.

You can write subscript expressions (integer-valued expressions separated
by commas and enclosed in square brackets) following an expression that
evaluates to an array. You can specify a substring (two integer expressions
in square brackets) following a character expression. However, in this
statement, expressions in square brackets follow something that is neither
character nor an array. Review the punctuation of the statement and the
declaration of the variables in it. Error -4343 with this text is produced
by 4GL through Version 4.1.

-4343 Subscripting cannot be applied to the variable variable-name
because it is not a character or array variable.

You can write a subscript expression (one, two, or three numbers in square
brackets) following the name of an array variable. You can write a substring
expression (two numbers in square brackets) following the name of a variable
of data type CHAR or VARCHAR. However, variable-name is none of those
things. Either it is not the variable you intended, or it is not correctly
defined. Error -4343 with this text is produced by 4GL through Version
4.1.

-4344 The variable variable-name cannot be used with substrings because
it is not a character variable.

This statement contains what appears to be a substring expression (two
numbers in square brackets) following the identifier shown. However, that
variable is not of data type CHAR or VARCHAR. If you intended this variable
as a substring, then you either named the wrong variable, or the variable
is not correctly defined. If you meant this as an array subscript, the
same is true.

-4345 The variable variable-name has already had substrings applied
to it.

The name that is shown is followed by one substring expression (two numbers
in square brackets) and then by another. This is not valid. Perhaps some
punctuation was deleted accidentally in editing the name of another variable.
Or if you meant this to be a subscript of a two-dimensional array of character
items followed by a substring of the chosen element, the problem is that
variable-name has not been defined as an array.

-4346 Subscripts can contain only INTEGER or SMALLINT expressions.

Array subscripts are integer values, and only integer variables can be
used to form them. This statement contains a subscript in which a FLOAT,
CHAR or some other type of variable is used. No automatic conversion of
data types is performed in a subscript expression. Review the subscript
expressions in the statement; perhaps you simply entered the wrong variable
name. If not, you will have to revise the program to store array subscripts
in integer variables only (you might expect that a DECIMAL value with
a scale factor of zero would be permitted also, but this is not the case.)

-4347 The variable variable-name is not a record. It cannot reference
record elements.

In this statement variable-name appears followed by a dot, followed by
another name. This is the way you would refer to a component of a record
variable; however, variable-name is not defined as a record. Either you
have written the name of the wrong variable, or else variable-name is
not defined the way you intended.

-4348 This type of aggregate must be applied to an expression, not
‘*’. Only PERCENT and COUNT aggregates use ‘*’.

An aggregate function in this statement is one of those, such as MIN and
SUM, that must be applied to a specific column or to an expression involving
specific columns. The asterisk notation in an SQL statement means «the
whole row.» With an aggregate function, it is useful only when counting
entire rows.

-4349 The PERCENT and COUNT report aggregates cannot be used with
an expression.

These aggregate functions simply count entire rows, without regard for
the contents of the rows. COUNT returns a count of the rows, and PERCENT
returns the count of rows as a percentage of the entire table. The only
permitted parameters of these functions ‘*’ mean «the entire row.» They
cannot be applied to specific columns or to expressions that involve specific
columns.

-4350 The program cannot continue a FOR loop at this time because
it is not within a FOR loop.

A CONTINUE FOR statement is not between a FOR statement and its matching
END FOR statement. Perhaps the FOR statement has been accidentally deleted,
or perhaps you changed to another type of loop such as FOREACH or WHILE.

-4351 The program cannot continue a WHILE loop at this time because
it is not within a WHILE loop.

A CONTINUE WHILE statement is not between a WHILE statement and its matching
END WHILE statement. Perhaps the WHILE statement has been accidentally
deleted, or perhaps you changed to another type of loop such as FOREACH
or FOR.

-4352 The program cannot continue a FOREACH loop at this time because
it is not within a FOREACH loop.

A CONTINUE FOREACH statement is not between a FOREACH statement and its
matching END FOREACH statement. Perhaps the FOREACH statement has been
accidentally deleted, or perhaps you changed to another type of loop such
as WHILE or FOR.

-4353 The type of this ORDER BY or GROUP item specified for the report
is not valid for sorting.

The database server does not support comparison functions on columns of
such types as TEXT or BYTE. As a result, columns with such types cannot
be used to order or group rows. Use other columns (usually the primary
key of the table) for ordering and grouping.

-4354 Aggregate functions cannot be performed with TEXT or BYTE variables.

This statement applies an aggregate function such as SUM to a variable
that is defined as BYTE or TEXT. Such variables are not in the domain
of the aggregate functions. Review the use of functions in the statement,
and make sure that they are applied to the variables you intended.

-4356 A page header has already been specified within this report.

Only one PAGE HEADER control block is allowed in a report. The statements
in this control block must be suitable for all pages of the report (except
the very first page, for which you may write a FIRST PAGE HEADER block).
Find the other PAGE HEADER control block(s), and combine all their statements
into one control block.

-4357 A page trailer has already been specified within this report.

Only one PAGE TRAILER control block is allowed in a report. The statements
in this control block must be suitable for all pages of the report. Find
the other PAGE TRAILER control block(s), and combine all their statements
into one control block.

-4358 A first page header has already been specified within this
report.

Only one FIRST PAGE HEADER control block is allowed in a report. (After
all, only one first page exists.) Find the other FIRST PAGE HEADER control
block(s), and combine all their statements into one control block.

-4359 An ON EVERY ROW clause has already been specified within this
report.

Only one ON EVERY ROW control block is permitted in a report. Find the
other ON EVERY ROW control block(s), and combine their statements into
one block.

-4360 An ON LAST ROW clause has already been specified within this
report.

Only one ON LAST ROW control block is permitted in a report. Find the
other ON LAST ROW control block(s), and combine their statements into
one block.

-4361 Group aggregates can occur only in AFTER GROUP clauses.

The aggregate functions that apply to a group of rows (GROUP COUNT, GROUP
PERCENT, GROUP SUM, GROUP AVG, GROUP MIN, and GROUP MAX) can only be used
at the point in the report when a complete group has been processed, namely,
in the AFTER GROUP control block. Make sure that the AFTER GROUP statement
exists and was recognized. If you need the value of a group aggregate
at another time (for instance, in a PAGE TRAILER control block), you can
save it in a global variable with a LET statement in the AFTER GROUP control
block.

-4362 The report cannot skip to the top of page while in a header
or trailer.

When SKIP TO TOP OF PAGE is executed, the page trailer clause must be
executed (so as to display fixed page-end material) followed by the page
header clause. If the statement was allowed in a header or trailer clause,
an infinite loop could ensue.

-4363 The report cannot skip lines while in a loop within a header
or trailer.

4GL needs to know how many lines of space will be devoted to the page
header and trailer (otherwise it does not know how many detail rows to
allow on the page). It cannot predict how many times a loop will be executed,
so it has to forbid the use of SKIP statements in loops in the PAGE HEADER,
PAGE TRAILER, and FIRST PAGE HEADER sections.

-4364 Type of initialization/default expression does not match declared
type of the variable/parameter.

The initialization expression for the specified variable does not evaluate
to a data type that is compatible with the declared type. Review the expression,
and make it and the declared type agree.

-4365 Deferments of interrupt or quit may be executed only in the
main program.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the MAIN
section of the program. They can appear only once each in a program.

-4366 The number of variables does not match the number of database
columns in this statement.

There must be a program variable to receive data from or supply data to
each column named in the statement. Possibly there is an ambiguity between
column names and variable names. When a program variable has the same
name as a database column, you can force 4GL to use the database column
by prefixing it with the at-sign (@) character or with its tablename.

-4367 Interrupt has already been deferred once in the main program.
Each main program may defer interrupts only once.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the MAIN
section of the program. They can appear only once each in a program.

-4368 Quit has already been deferred once in the main program. Each
main program may defer quit only once.

The statements DEFER INTERRUPT and DEFER QUIT can only appear in the MAIN
section of the program. They can appear only once each in a program.

-4369 The symbol variable-name does not represent a defined variable.

The name shown appears where a variable would be expected, but it does
not match any variable name in a DEFINE statement that applies to this
context. Check the spelling of the name. If it is the name you intended,
look back and find out why it has not yet been defined. Possibly the GLOBALS
statement has been omitted from this source module, or it names an incorrect
file. Possibly this code has been copied from another module or another
function, but the DEFINE statement was not copied also.

-4370 The variable variable-name cannot be used in validation.

The VALIDATE statement operates on only simple variables; it cannot accept
records or arrays. If you have named a record, you can use asterisk notation
or THRU notation as shorthand for a list of the component fields of the
record. However, if a record component is itself a record, you must list
its components individually as well.

-4371 Cursors must be uniquely declared within one program module.

In the statement DECLARE cname CURSOR, the identifier cname can be used
in only one DECLARE statement in the source file. This is true even when
the DECLARE statement appears inside a function. Although a program variable
made with the DEFINE statement is local to the function, a cursor within
a function is still global to the whole module.

-4372 The cursor cursor-name has not yet been declared in this program
module. It must be declared before it can be used.

The name shown appears where the name of a declared cursor or a prepared
statement is expected; however, no cursor (or statement) of that name
has been declared (or prepared) to this point in the program. Check the
spelling of the name. If it is the name you intended, look back in the
program to see why it has not been declared. Possibly the DECLARE statement
appears in a GLOBALS file that was not included.

-4373 A grammatical error has been found on line line-number, character
char-number. The construct is not understandable in its context.

This general message shows an inability to parse a 4GL statement. The
line and character numbers show the point at which the parser detected
a problem. However, this is almost never the point at which the error
exists. Start there, and work backward in the program looking for other
error messages and for missing punctuation, missing END statements, and
other mistakes. If the statement at line-number is END FUNCTION, END MAIN,
or END REPORT, one probable cause is the absence of another END, possibly
many lines earlier. Usually a missing END IF is the culprit. If the cause
for this error is not obvious, concentrate on eliminating any other, more
specific error messages, and this one will probably go away also.

-4374 This type of statement can only be used within a MENU statement.

This statement, for example a SHOW OPTION statement, only makes sense
within the context of a MENU statement. Review the program in this vicinity
to see if an END MENU statement has been misplaced. If you intended to
set up the appearance of a menu before displaying it, use a BEFORE MENU
block within the scope of the MENU.

-4375 The page length is too short to cover the specified page header
and trailer lengths.

Examine the statements in the OUTPUT section and in any HEADER and TRAILER
clauses. The total of lines used by these statements must be sufficiently
less than the specified page length that some detail rows can be printed.

-4376 The temporary file filename cannot be created for writing.

Check that your account, on UNIX systems, has permission to create files
in the /tmp directory or in the directory named in the DBTEMP environment
variable if that is different. Look for other, more explicit, error messages
from the operating system. Possibly the disk is full, or you have reached
a limit on the number of open files.

-4377 The output file filename cannot be created or opened.

On UNIX systems, check that your account has permission to create files
in the directory where filename would be created. Look for other, more
explicit, error messages from the operating system. Possibly the disk
is full, or you have reached a limit on the number of open files.

-4378 No input file was specified.

You invoked the C-code or the p-code compiler from the command line but
did not specify the name of a source file to be edited. Repeat the command,
specifying a source file.

-4379 The input filename filename cannot be opened.

Either the file does not exist, or, on UNIX, your account does not have
permission to read it. Possibly the filename is misspelled, or the directory
path leading to the file was specified incorrectly.

-4380 The listing file filename cannot be created.

Check that the directory path leading to the file is specified correctly
and, on UNIX systems, that your account has permission to create a file
in that directory. Look for other, more explicit, error messages from
the operating system. Possibly the disk is full, or you have reached a
limit on the number of open files.

-4381 The input file filename has an invalid extension. The file
name must have .4gl as the extension.

You do not need to enter the file extension or suffix of .4gl when you
type the name of a program source file. However, if you do type a file
suffix it must be .4gl; no other is allowed. If you type the suffix incorrectly,
enter the command again omitting the suffix. If the file really has a
different suffix, you will have to change it.

-4382 Cannot expand a structure with an array member.

The «.*» and THROUGH notation cannot be used to expand a record with an
array member, except in the LET statement. Error -4382 with this meaning
is issued by NewEra.

-4382 Record variables that contain array type elements may not be
referenced by the «.*» or THROUGH shorthand, or used as a function parameter.

You can define a record that contains an array as one of its components.
However, you must always list that component by its full designation of
record.part[n]. The asterisk or THRU notation is only shorthand for a
list of the names of the components of the record. It cannot produce the
bracketed subscript after the name of the array component.

A record that contains an array component cannot be used as a parameter
to a function. However, you can use the array component itself as a
function parameter if you spell out its name as record.part. Error -4382
with this meaning is issued by NewEra.

-4383 The elements name-1 and name-2 do not belong to the same parent
record.

The two names shown are used where two components of one record are required;
however, they are not components of the same record. Check the spelling
of both names. If they are spelled as you intended, go back to the definition
of the record and see why it does not include both names as component
fields.

-4384 The symbol name does not represent the element of any record.

The name shown is used where 4GL expects the name of a record component.
Check the spelling of the name. If it is spelled as you intended, go back
to the definition of the record variable and see why it does not include
name as a component field.

-4385 Report aggregates cannot be nested.

Aggregate functions cannot be nested, primarily because the value of the
inner aggregate is not known at the time the outer aggregate is being
accumulated. Rewrite aggregate expressions to refer only to columns and
simple expressions on columns. In an AFTER GROUP OF clause, you can save
the aggregate value from one group of rows in a program variable, so as
to use it in computing an aggregate over a subsequent group.

-4386 There are too many ORDER BY fields in this report. The maximum
number is number.

A limit exists on the number of ordering fields. You will have to redesign
the report so that it requires ordering by no more than number columns.
Alternatively you can order the data before passing it to the report,
and specify the EXTERNAL keyword on the ORDER BY statement in the report
body. It is generally more efficient to have the database server produce
the rows in the correct order (using SELECT…ORDER BY in the cursor that
produces the rows).

-4387 The right margin must be greater than the left margin.

If the right margin of a report were no greater than the left margin,
there would be no room on each line for data. Check both MARGIN statements
in the OUTPUT section for reasonable values.

-4388 There is one BEFORE GROUP OF clause and one AFTER GROUP OF
clause allowed for each report input parameter.

The report is attempting to define a second BEFORE GROUP OF or AFTER GROUP
OF block for a single report parameter. Only one such control block is
allowed. Find all the block(s) for this parameter, and combine their statements
into one.

-4389 There are too many levels of nesting of IF statements in this
report.

You have exceeded the maximum of five levels of nesting of IF statements.
Possibly an END IF statement has been omitted. If not, you will have to
revise the logic of the report so that decisions are nested less deeply.

-4390 Only one BEFORE MENU clause is allowed for each MENU statement.

There can be only one BEFORE block of statements in a MENU. Make sure
that the scope of your MENU statements are correctly marked with an END
MENU. Then combine all the preparation code for this menu into a single
BEFORE MENU block. This error is returned only by 4GL at Version 4.1.

-4391 When doing INPUT BY NAME or INPUT ARRAY, the BEFORE/AFTER field
names can be specified only by the field name suffix. Screen array and
screen record elements are not allowed.

Only names of single form fields can be used with a BEFORE or AFTER clause.
The name of a field is defined in the ATTRIBUTES section of the form definition;
it is often the same as the name of a database column. Here are example
lines from an ATTRIBUTES section:

atag = customer.customer_num,noentry; tag2 = formonly.total,format=»#######.##»;

The names of these fields are customer_num and total, respectively.

In the 4GL statement in question, you have written a name prefixed
with another name and a dot. That syntax is used for specifying components
of screen records or screen arrays, or database columns of the same
name in different tables, but it is not appropriate here.

-4392 The 4GL compiler has run out of data space memory to contain
the 4GL program symbols. If the program module is very large, dividing
it into separate modules may alleviate the situation.

Reorganize your program source as a group of modules that can be compiled
separately. Alternatively, revise the program so that fewer unique symbols
are required, for instance by replacing many similar variables with an
array. This error might also be related to the CONSTRUCT statement. If
there is a CONSTRUCT over a large number of fields, moving that statement
to a function and putting the function in a different source module might
alleviate the problem with no other changes.

-4393 The MENU statement has exceeded the maximum number of selections.

There is a maximum of 25 selections in a menu. Make sure that you have
not omitted an END MENU statement, thus combining two menus. If the menu
is as you intended it, you will have to revise the program so as not to
exceed the limit, for example by creating a hierarchy of menus.

-4394 Warning: Formal parameters in informal function headers cannot
have initial values. The initial value of this parameter is ignored.
If this value is intended as the default parameter, then use formal
function headers to specify defaults.

Although parameters in formal (function-prototype-style) definitions can
have initial values, those in the informal function definitions cannot.
The initial value of this parameter is ignored. If this value is intended
as the default parameter, then use the formal definition format that uses
function prototypes to specify defaults. Only NewEra returns this error.

-4395 There are too many subscripts specified with a database column
name.

In this statement the name of a database column is followed by square
brackets with several numbers between them. The only valid use for square
brackets with a database column is to select a substring from a character
column. However, for that use you must write exactly two numbers, the
subscripts of the first and last letters of the substring. Here more than
two numbers are used. Check and correct the punctuation.

-4396 The MENU declaration at line line-number is not terminated.

4GL could not identify an END MENU statement to match the MENU statement
on the line number shown. Start at that line and work down until you find
where the terminating statement should have been, and insert it.

-4397 The IF statement at line line-number is not terminated.

4GL could not identify an END IF statement to match the IF statement on
the line number shown. Start at that line and work down until you find
where the terminating statement should have been, and insert it.

-4398 The CASE statement at line line-number is not terminated.

4GL could not identify an END CASE statement to match the CASE statement
on the line number shown. Start at that line and work down until you find
where the terminating statement should have been, and insert it.

-4399 The WHILE statement at line line-number is not terminated.

4GL could not identify an END WHILE statement to match the WHILE statement
on the line number shown. Start at that line and work down until you find
where the terminating statement should have been, and insert it.

-4400 The FOR statement at line line-number is not terminated.

4GL could not identify an END FOR statement to match the FOR statement
on the line number shown. Start at that line and work down until you find
where the terminating statement should have been, and insert it.

-4401 A concatenation operation has created a string too long to
fit in the destination string variable.

This statement concatenates two or more character strings and stores the
result in another variable of type CHAR or VARCHAR. However, the result
of concatenation was longer than the receiving variable. If the excess
length is due to trailing spaces, you can use the CLIPPED function to
prevent them from being included in the combined result. Otherwise you
will have to define the length of the receiving variable as at least the
sum of the lengths of the input variables.

-4402 In this type of statement, subscripting may be applied only
to array variables to select individual array elements.

The statement contains a name followed by square brackets, but the name
is not that of an array variable. Check the punctuation of the statement
and the spelling of all names. Names that are subscripted must be arrays.
If you intended to use a character substring in this statement, you will
have to revise the program.

-4403 The number of dimensions for the variable variable-name does
not match the number of subscripts.

In this statement, the array whose name is shown is subscripted by a different
number of dimensions than it was defined to have. Check the punctuation
of the subscript. If it is as you intended, then review the DEFINE statement
where variable-name is defined.

-4405 The function has exceeded the maximum number of allowed parameters.

This message is not returned by any current Informix product. If the error
recurs, please note all circumstances and contact Informix Technical Support.

-4406 There is an unmatched quote in the above line.

The source line contains an odd number of quote symbols. Inspect it from
left to right and make sure that all literal character strings begin and
end with a quote. All literal strings must begin and end on the same logical
line. However, you can write long literal strings in two ways. First,
you can escape the end of line by making the final character in the line
a backslash (however, there is a fixed maximum of 80 characters on the
total length of a single quoted string). Second, in the DISPLAY and LET
statements, you can concatenate shorter literal strings using the comma.
Here are two examples.

DISPLAY «abcdefghijkl

mnopqrstuvwxyz»

DISPLAY «abcdefghijkl»,

«mnopqrstuvwxyz»

Both display the alphabet with no embedded white space.

-4407 There is an unprintable character in the above line.

This source line contains an unusual character. 4GL suggests that the
source file might be corrupt. Edit the file and remove the bad character.
If you cannot see or select it with your editor, you may have to delete
and retype the line.

-4408 There is a quoted string that is too long in the above line.

The limit on the length of a literal character string is 80 characters.
However, in the DISPLAY and LET statements you can concatenate shorter
literal strings using the comma. See message -4406 for an example.

-4409 There is an invalid character in the above line.

This source line contains some character other than printable text and
normal white space. Remove the invalid characters (which may be invisible
under normal editing). If you cannot see or select the invalid characters
with your editor program, you might have to delete the line and retype
it.

-4410 There is a numeric constant in the previous line that is too
large or too small.

A numeric constant in this line cannot be processed. Check the digits
and punctuation of all literal numbers; for example, make sure that you
have not typed a letter for a digit. No number can have more than 50 digits.
Depending on the context, numbers might be restricted to one of three
ranges.

SMALLINT:

absolute value not exceeding 32,767

INTEGER:

absolute value not exceeding 2,147,483,647

DECIMAL:

absolute value from 10 to the 130th power through 10 to the 124th
power

-4411 There is an alphanumeric identifier that is too long in the
above line.

No identifier can exceed 50 characters. Check the spelling and punctuation
of all identifiers (perhaps two names have run together).

-4412 Values from the RUN command can be returned only to INTEGER
or SMALLINT variables.

The RUN command only returns the integer return code from the program
that was executed. No automatic conversion of data occurs in this case;
its result must be assigned to an integer variable.

-4413 The label label-name has already been defined within this function/report.

The name shown appears in two or more LABEL statements. Check the spelling
of the name; if it is as you intended, then look back through this function,
report, handler, or main program for other LABEL statements and find the
one that uses this same name. Change one of them to use a different name.
Only NewEra returns this error.

-4413 The label label-name has already been defined within this main
program or function.

The name shown appears in two or more LABEL statements. Check the spelling
of the name; if it is as you intended, then look back through this function
or main program for other LABEL statements and find the one that uses
this same name. Change one of them to use a different name. Only 4GL returns
this error.

-4414 The label label-name has been used but has never been defined
within this function/report.

A GOTO or WHENEVER statement refers to the label shown, but there is no
corresponding LABEL statement in the current function, report, handler,
or main program. Check the spelling of the label. If it is as you intended
it, find and inspect the LABEL statement that should define it. You cannot
transfer out of a program block with GOTO; labels must be defined in the
same function body where they are used. Only NewEra returns this error.

-4414 The label label-name has been used but has never been defined
within the above main program or function.

A GOTO or WHENEVER statement refers to the label shown, but there is no
corresponding LABEL statement in the current function, report, handler,
or main program. Check the spelling of the label. If it is as you intended
it, find and inspect the LABEL statement that should define it. You cannot
transfer out of a function with GOTO; labels must be defined in the same
function body where they are used. Only 4GL returns this error.

-4415 An ORDER BY or GROUP item specified within a report must be
one of the report parameters.

The names used in a ORDER BY, AFTER GROUP OF, or BEFORE GROUP OF statement
must also appear in the parameter list of the REPORT statement. It is
not possible to order or group based on a global variable or other expression.
Check the spelling of the names in the statement and compare them to the
REPORT statement.

-4416 There is an error in the validation string: «%s».

Change the appropriate DEFAULT or INCLUDE value in the syscolval table.

-4417 This type of statement can be used only in a report.

Statements such as PRINT, SKIP, or NEED are meaningful only within the
body of a report function, where there is an implicit report listing to
receive output.

-4418 The variable used in the INPUT ARRAY or DISPLAY ARRAY statement
must be an array.

The name following the words DISPLAY ARRAY or INPUT ARRAY must be that
of an array of records. Check the spelling of the name. If it is as you
intended, find and inspect the DEFINE statement to see why it is not an
array. (If you want to display or input a simple variable or a single
element of an array, use the DISPLAY or INPUT statement.)

-4419 The variable used in the CONSTRUCT statement must be a character
variable.

The name following the word CONSTRUCT must be that of a variable defined
as CHARACTER or VARCHAR. It ought to be a long variable, since the string
it receives may be long. Check the spelling of the name. If it is as you
intended, find and inspect the DEFINE statement to see why it is not a
character type.

-4420 The number of lines printed in the IF part of an IF-THEN-ELSE
statement of a header or trailer clause must equal the number of lines
printed in the ELSE part.

4GL needs to know how many lines will be filled in header and trailer
sections (otherwise it could not know how many detail rows to put on the
page). Because it cannot tell which part of an IF statement will be executed,
it requires that both produce the same number of lines of output.

-4421 You may not use an INPUT statement within another INPUT statement
or PROMPT statement, even if it is enclosed within a conditional or
looping statement.

You can execute an INPUT statement from within another one, or from a
PROMPT statement, but in order to do so you must place the INPUT statement
in a function and call the function. You cannot embed the text of an INPUT
statement within another.

-4422 You may not use a CONSTRUCT statement within another INPUT
statement. This includes situations when CONSTRUCT is enclosed within
a conditional or looping statement. You must call a function that executes
the CONSTRUCT statement.

You can execute a CONSTRUCT statement from within an INPUT statement,
but in order to do so you must place the CONSTRUCT statement in a function
and call the function. You cannot embed the text of a CONSTRUCT statement
in an INPUT statement.

-4423 The CLIPPED and USING options for the DISPLAY statement may
not be used when displaying to a form field.

The CLIPPED and USING keywords cannot be used in the DISPLAY TO and DISPLAY
BY NAME statements. The display format of a form field is controlled by
the attributes of that field, as specified in the form file. Trailing
spaces are not displayed in a field. To get the effect of USING, edit
the form file and add a USING attribute to the field or fields.

-4424 This variable has not been defined as a record or object.

The variable indicated has been used with an asterisk, or with the THRU
or THROUGH keywords. However, it has not been defined as a record or an
object. Check the spelling of the name. If it is as you intended, locate
the definition of the variable and find out why it was not defined as
expected. Only NewEra returns this error.

-4424 The variable variable-name has not been defined as a record.

The variable shown has been used with an asterisk, or with the THRU or
THROUGH keywords. However, it has not been defined as a record. Check
the spelling of the name. If it is as you intended, locate the definition
of the variable and find out why it was not defined as a record. Only
4GL returns this error.

-4425 The variable variable-name has not been defined LIKE the table
table-name.

The named variable has been used in the SET clause of an UPDATE statement.
However, it was not defined to be LIKE the table being updated. As a result,
4GL cannot associate record components with table columns. You can change
the definition of the variable, or you can rewrite the UPDATE statement
to show the explicit relationship between column names and record components.

-4426 The PRINT statement can be used only within reports. If you
wish to print without screen positioning, use the DISPLAY statement
without any field or screen destination.

The keyword PRINT is used specifically to produce lines of output to a
report. The keyword DISPLAY introduces output to the screen. Possibly
this statement was accidentally copied from a report body; more likely
it was a hasty attempt to display casual output on the screen. In the
latter case, simply changing PRINT to DISPLAY is usually enough.

-4427 The COLUMN feature for the DISPLAY statement may be used only
when displaying without screen or field destination.

The COLUMN function returns a string of spaces long enough to reach a
certain column in the display output. You may use it with unqualified
DISPLAY and with DISPLAY AT, but it is not appropriate with DISPLAY TO
or DISPLAY BY NAME.

-4428 You may not use a PROMPT statement within an INPUT or PROMPT
statement, even if it is enclosed within a conditional or looping statement.

You can execute a PROMPT statement from within another one or from within
an INPUT statement, but in order to do so you must place the PROMPT statement
in a function and call the function. You cannot embed the text of a PROMPT
statement within an INPUT statement or another PROMPT.

-4429 Report and function parameters cannot be arrays.

You cannot pass a whole array as a parameter of a function. You can pass
an individual element of the array by using a subscript. Possibly the
array that is causing this error is one component of a record variable
that is being passed using asterisk notation. Only 4GL returns this error.

-4429 Parameters cannot be arrays, records with array members, or
constants.

You cannot pass a whole array or a constant as a parameter of a function.
You can pass an individual element of an array by using a subscript. Possibly
the array that is causing this error is one component of a record variable
that is being passed using asterisk notation. Only NewEra returns this
error.

-4430 Values cannot be RETURNed from within reports.

A report cannot include a RETURN statement because that would return control
to the routine that invoked the report. Only NewEra returns this error.

-4430 Record parameters for a report cannot contain elements that
are arrays.

You cannot pass a whole array as a parameter of a function. You can pass
an individual element of the array by using a subscript. In this case,
a record variable is specified as a parameter using asterisk notation,
but one of the components of the record is an array.

-4431 The number of expanded report parameters has exceeded the maximum
allowed.

This message is not returned by any current Informix product. If the error
recurs, please note all circumstances and contact Informix Technical Support.

-4432 An element in a GROUP clause must be a member of the ORDER
BY clause.

In order to perform grouping, the set of selected rows must be ordered
on the same columns. This is the only way to force all the equal values
to be found together, as a group. Rewrite the statement so that each selected
value that you want to group also appears in an ORDER BY clause. Note
that both these clauses allow you to refer to selected values by their
position number, as in the following example:

SELECT customer_num, month(order_date), avg(ship_weight) FROM orders

ORDER BY 1, 2 GROUP BY 1,2

-4433 A variable used in the above statement must be of type CHAR
or VARCHAR.

The filename in the REPORT TO statement must be given as a character value;
and the program name in the REPORT TO PIPE statement must also be given
as a character value. In either case, this can be a constant, a variable
of either of the types mentioned, or an expression. However, it cannot
be a number or other data type; no automatic type conversion occurs in
these statements.

-4434 The limits of the INFORMIX-4GL Demo Version have been exceeded.
Please call Informix Software, Inc. at (415) 926-6300 for licensing
information.

A program compiled using the demonstration version of INFORMIX-4GL can
contain only one module with no more than 150 statements. This program
either has too many statements, or it refers to a function in another
module. Contact your Informix sales representative for information on
full development licenses.

-4435 An acceptable hyphenated key format is CONTROL-X, where X is
any letter except A, D, H, L, R, or X.

When a key is trapped by an ON KEY clause, it loses other special functions;
for example, if you trap the Escape key, you must use the OPTIONS statement
to set up a different Accept key. You are not allowed to use one of the
control keys A, D, H, L, R, or X because these keys have editing functions,
and there is no method of assigning alternate keys to those functions.

-4436 There are too many variables to VALIDATE or INITIALIZE in one
statement.

There is a limit of 250 names (through Version 4.0) in the VALIDATE and
INITIALIZE statements. Simply divide this statement into multiple statements
so as not to exceed the limit.

-4437 All table names in the SELECT list must be the same as the
table name in the FROM clause.

One of the table names used in the list of columns to select does not
appear in the FROM clause. Possibly you simply misspelled the name in
one of the two places. Or you might have used a table alias in the select-list
but forgot to define it in the FROM clause.

-4438 You cannot SELECT into a substring of a character variable.

Substring notation is not allowed in the INTO clause. You can specify
a substring of a column in the list of columns to select and in the WHERE
clause. But you have to select into an entire variable. Define a variable
to select into, and move the data into the destination substring using
a LET statement.

-4439 You cannot SELECT into record record because element name is
a record or an array.

The INTO clause can name only simple variables. The use of asterisk or
THRU notation is a shorthand for listing all the component fields of a
record. The resulting list of fields must consist of simple variables.
In this case, the field name is not simple. Perhaps you have referred
to the wrong record. If not, you will have to list the name component
separately, specifying one or more of its component parts.

-4440 name1 precedes name2 in the record/object and must also precede
it when used with the THROUGH shorthand.

The THROUGH or THRU shorthand requires you to give the starting and ending
fields as they appear in physical sequence in the record. Check the spelling
of the names; if they are as you intended, then refer to the VARIABLE
statement where the record was defined to see why they are not in the
sequence you expected. Only NewEra returns this error.

-4440 The field name1 precedes name2 in the record record-name and
must also precede it when used with the THROUGH shorthand.

The THROUGH or THRU shorthand requires you to give the starting and ending
fields as they appear in physical sequence in the record. Check the spelling
of the names; if they are as you intended, then refer to the DEFINE statement
where the record was defined to see why they are not in the sequence you
expected. Only 4GL returns this error.

-4448 Cannot open the file filename for reading or writing.

Verify that the filename is correctly spelled and that your account has
permission to read or write to it.

-4451 The size of the pcode generated from this function/report has
exceeded the 32K per function limit.

The function or report will have to be simplified. Extract some portion
of its code to a separate function or report, and call that one. Only
NewEra returns this error.

-4451 The size of the pcode generated from this function has exceeded
the 32K per function limit.

The function will have to be simplified. Extract some portion of its code
to a separate function, and call that function.

-4452 The function (or report) name has already been defined.

No two functions can have the same name. No two reports can have the same
name. Change one of the two occurrences of name to a different name. Only
NewEra returns this error.

-4452 The function (or report) name has already been defined. Function
and report cannot both have the same name.

Each function (or report, which is similar to a function) must have a
unique name within the program. Change the function or report name.

-4453 Too many global identifiers and literal strings in your program.

A table 256K bytes long holds literal strings and identifiers used in
the main function and at the global and module levels. The table also
holds the identifiers of forms, windows, and cursors. To avoid this error,
move some code that uses many literal strings into a separate module or
into a function. Alternatively, find a way to initialize character variables
without assigning literal strings, for example by reading the initial
values from a database or file. Reducing the number of global and module
variables will also help.

-4453 The size of the global string table has exceeded the limit
of 32767.

The table is used to hold literal strings and identifiers used in the
main function and at the global and module levels. The table also holds
the identifiers of forms, windows, and cursors. To avoid this error, move
some code that uses many literal strings into a separate module or into
a function. Alternatively, find a way to initialize character variables
without assigning literal strings, for example by reading the initial
values from a database or file. Reducing the number of global and module
variables will also help. Only 4GL returns this error.

-4454 Too many local identifiers and literal strings in this program
block.

A table of 256K bytes holds literal strings and identifiers used in the
current function. To avoid this error, split the function into two or
more sub-functions. Alternatively, find a way to initialize character
variables without assigning literal strings, for example by reading the
initial values from a database or file. Only NewEra returns this error.

-4454 The size of the local string table has exceeded the limit of
32767.

The table is used to hold literal strings and identifiers used in the
current function. To avoid this error, split the function into two or
more sub-functions. Alternatively, find a way to initialize character
variables without assigning literal strings, for example by reading the
initial values from a database or file. Only 4GL returns this error.

-4458 Each dimension for an array must be between 1 and 32767, inclusive.

Array dimensions cannot be less than one or greater than 32,767. If you
need a larger array, you must either split the array into multiple arrays,
or use multiple dimensions.

-4475 «name» cannot be used as both a function (or report) name and
an identifier name.

The name shown has been defined at least two ways. Names at the global
or module level must be unique. Locate all the definitions and declarations
of this name and change all but one of them. Only NewEra returns this
error.

-4475 «name» may not be used as both a function (or report) name
and a variable name.

The name shown has been defined at least two ways. Names at the global
or module level (function names, report names, and names of global or
module variables) must be unique. Locate all the definitions of this name
and change all but one of them. Error -4475 is issued with this meaning
from 4GL at versions after 4.1.

-4475 «name» may not be used as both a function (or report) name
and an identifier.

The name shown has been defined at least two ways. Names at the global
or module level must be unique. Locate all the definitions and declarations
of this name and change all but one of them. Error -4475 is issued with
this meaning from 4GL at versions after 4.1.

-4476 Record members may not be used with database column substring.
Possible misspelling or usage of undefined host variables.

This statement has a reference of the form name1.name2[…]. This is the
form in which you would refer to a substring of a column: table.column[…].
However, the names are not a table and column in the database, so 4GL
presumes they refer to a field of a record. Inspect the statement and
determine what was intended: a reference to a column or to a record. If
it is a column reference, verify the names of the table and column in
the database. If it is a record reference, verify that the record and
component are properly defined. If the record has the same name as a table,
prefix the name of the table with @ to make it clear you mean the table,
not the record.

-4479 Warning: non-ANSI comment indicator. Use «—» for ANSI compatibility.

If you want your SQL statements to comply with ANSI standards, you must
use the two-dash comment delimiter (- -). The comment delimiters of the
number sign (#) and the braces ({ }) are not portable to ANSI-compliant
systems. This message is seen because you specified that you wanted warnings
issued for constructs that are not ANSI compliant, by means of the -ansi
command-line parameter, the DBANSIWARN environment variable, or the DBANSIWARN
setting in the informix.ini file. Only NewEra returns this error.

-4479 Warning: non-ANSI comment indicator. Use «—» for ANSI compatibility.

If you want your SQL statements to comply with ANSI standards, you must
use the two-dash comment delimiter (- -). The comment delimiters of the
number sign (#) and the braces ({ }) are not portable to ANSI-compliant
systems. This message is seen because you specified that you wanted warnings
issued for constructs that are not ANSI compliant, by means of the -ansi
command-line parameter, or the DBANSIWARN environment variable. Only 4GL
returns this error.

-4486 TEXT or BYTE variables and wordwrap fields cannot be printed
in report headers or trailers.

4GL has to be able to predict how many lines will be used in a report
header or trailer. Because the size of a TEXT variable is unpredictable,
you cannot display one in these contexts.

-4487 It is not possible to mix parameter and local record definitions
where the record contains variables of type TEXT or BYTE. Please make
a second definition for the local record variable.

In this report body, use separate DEFINE statements for parameters of
the report and for local variables of any type.

-4488 The program cannot CONTINUE or EXIT statement-type at this
point because it is not immediately within statement-type statement.

This CONTINUE or EXIT statement is not appropriate in its context. Possibly
the statement is misplaced, or possibly the statement type was specified
incorrectly.

-4489 The statement above does not allow the use of local variables
or report parameters in its expressions.

This statement cannot refer to an argument of the function or to a variable
defined in the function. It can use only variables defined at the module
level (before the MAIN section) or in the GLOBALS section. In the case
of OUTPUT REPORT TO, the statement takes effect during the execution of
a START REPORT statement. At this time, no arguments are passed into the
report description, and no report description statements are executed
that could initialize a local variable. Change the statement to refer
to a variable that can be initialized before the report is started.

-4490 You cannot have multiple BEFORE clauses for the same field.

You cannot specify more than one BEFORE clause for the same field.

-4491 The parameter name has been changed.

More than one copy of the function prototype has occurred in the current
scope, and the one indicated by this message has specified a different
name for a formal parameter than that specified by any prototypes already
encountered.

-4492 Warning: The parameter is assigned a new default value.

More than one copy of the function prototype has occurred in the current
scope, and the one indicated by this message has specified a different
default value for a formal parameter than that specified by any prototypes
already encountered.

-4493 Named parameters are allowed only for formal functions/reports.

The indicated function reference uses named parameters, but the declaration
of the function or report used the informal style of parameter declaration,
in which only the names are specified in the parameter list and the types
are specified in subsequent, subsidiary declarations.

-4494 Missing named parameter «name» does not have default value.

The indicated function invocation does not list a value for a parameter,
and the declaration for the function does not provide a default value
for it. Either add a default value in the declaration, or add a name/value
pair here in the invocation.

-4495 Duplicate or invalid parameter name.

The name of a parameter specified in the invocation of the function does
not match any of the names in the declaration of that function, or it
is not a valid NewEra identifier. Check its spelling.

-4496 CHAR (*) type is not allowed within records or classes.

The CHAR(*) type is allowed only in function prototypes, as a parameter,
not as an element of a record or class.

-4497 Event «name» is already declared in the class.

Two events in the same class cannot have the same name.

-4498 Event/Handler name must be different from intrinsic member
function name.

You cannot declare an event or a handler with the same name as an intrinsic
member function (!copy(), !derive(), or the name of the class). Change
the name of the event or handler.

-4499 Member «name» is already declared in the class or in its base
class.

Either a member called «name» already exists in the current class, and
you have attempted to declare another member with that name, or you are
attempting to override an event or a variable. Only member functions can
be overridden.

-4500 A numeric conversion error has occurred due to incompatibility
between a calling program and its function parameters or between a variable
and its assigned expression.

See error -1317, which has replaced this error.

-4501 A parameter count mismatch has occurred between the calling
function and the called function.

See error -1318, which has replaced this error.

-4502 The 4GL program has run out of runtime data space memory.

See error -1319, which has replaced this error.

-4503 A function has not returned the correct number of values expected
by the calling function.

See error -1320, which has replaced this error.

-4504 A validation error has occurred as a result of the VALIDATE
command.

The type of a VALIDATE variable cannot be converted to the type of the
validation values. Only NewEra returns this error.

-4504 A validation error has occurred as a result of the VALIDATE
command.

See error -1321, which has replaced this error for products other than
NewEra.

-4505 A report output file cannot be opened.

See error -1322, which has replaced this error.

-4506 A report output pipe cannot be opened.

See error -1323, which has replaced this error.

-4507 A report output file cannot be written to.

See error -1324, which has replaced this error.

-4508 PRINT FILE error — cannot open file filename for reading.

See error -1325, which has replaced this error.

-4509 An array variable has been referenced outside of its specified
dimensions.

An array bound has been exceeded, and array-bounds checking has been turned
on. Array-bounds checking can be turned on through the compiler switch
«-a» or the PRAGMA ARRAY BOUNDS statement. Only NewEra returns this error.

-4509 An array variable has been referenced outside of its specified
dimensions.

See error -1326, which has replaced this error for products other than
NewEra.

-4511 A temporary table needed for a report could not be created
in the selected database. The user must have permission to create tables
in the selected database.

See error -1328, which has replaced this error.

-4512 A database index could not be created for a temporary database
table needed for a report.

See error -1329, which has replaced this error.

-4513 Incorrectly formed hexadecimal value.

The hexadecimal digits are a to f and 0 to 9. Possibly you included an
illegal character where NewEra expected a hexadecimal value or its sign.

-4513 A number used as a DISPLAY AT location or SCROLL count must
be positive.

For a DISPLAY AT statement, see error -1135, which has replaced this error.
Since Version 4.0, the SCROLL statement accepts negative numbers.

-4514 A row could not be inserted into a temporary report table.

See error -1330, which has replaced this error.

-4515 A row could not be fetched from a temporary report table.

See error -1331, which has replaced this error.

-4516 A character variable has referenced subscripts that are out
of range.

See error -1332, which has replaced this error.

-4517 Strings of length > 512 cannot be returned from function calls.

See error -1333, which has replaced this error.

-4518 The 4GL program cannot allocate any more space for temporary
string storage.

Either the program is attempting to return more than 32,768 bytes of CHAR,
VARCHAR, or CHAR(*) values from a function, or the number of bytes of
temporary CHAR(*) variables that the program creates implicitly has exceeded
32,768. Only NewEra returns this error.

-4518 The 4GL program cannot allocate any more space for temporary
string storage.

For products other than NewEra, see error -1334, which has replaced this
error.

-4527 Undefined opcode in function name.

The p-code file for the program (whose file suffix is .4go) has become
corrupted. Recompile at least the module that contains the named function
(preferably the whole program) and run it again. If the same error occurs,
make sure that you are running both fglpc and fglgo at the identical version
level. If you are, refer to the Administrator’s Guide for your database
server, Appendix B, «Trapping Errors,» for additional diagnostics. Contact
Informix Technical Support with the diagnostic information.

-4535 Bad store include table syntax «file1» «file2».

An internal error has occurred.

The code that generates the INCLUDE statement, the Application Builder
front-end code that generated the INCLUDE statement is out of synchronization
with the Application Builder back-end code that handles the insertion
and removal of data from the database.

An extraordinarily large save in which the filenames exceed 64 kilobytes
could also cause this error.

-4536 Database open failed.

The Application Builder could not open the database. A network failure,
INFORMIX-NET failure, or an incorrect value in the DBPATH environment
variable could cause this error. Check the DBPATH setting, and run SETNET.
Also verify that the UNIX host is functioning correctly.

-4538 No database name has been given.

The Application Builder attempted to execute an OPEN DATABASE command
without specifying the name of the database. Check the «database=…»
line in your informix.ini file. If you want to use the default database,
set the line to «database=syspg4gl».

-4542 Attempt to upgrade the design database failed.

The Application Builder attempted to upgrade an older style database from
INFORMIX-4GL to a new style that uses NewEra failed. This process involves
creating a series of new tables and modifying and moving the data.

The error might occur because of lack of permissions. The owner of
the database should perform the upgrade.

The error could be due to a full disk. The upgrade does not erase
old information until it has been written and verified, and then only
if requested. The amount of free space that an upgrade requires is approximately
equal to the amount that the older database uses.

-4543 Invalid delimiter. Do not use ‘\’, hex digits (0-9, A-F, a-f),
or space.

Use a delimiter other than any of the 22 forbidden symbols that are listed
here.

-4555 Variable size cannot exceed 65535 bytes.

You have attempted to create a variable whose total size exceeds 65535.
Arrays can consume space more quickly than you might notice. A simple
array A[100,100] of CHAR(6) would consume 10,000 x 7 — 70,000 bytes.

-4556 Object size cannot exceed 65535 bytes.

You have attempted to create an object whose total size exceeds 65535.
Arrays can consume space more quickly than you might notice. A simple
array A[100,100] of CHAR(6) would consume 10,000 x 7 — 70,000 bytes.

-4646 The specified WORDWRAP RIGHT MARGIN value is out of range.

The value must be greater than or equal to the current column and less
than or equal to the right margin of the report (or the left margin for
reports with DIRECTION RIGHT TO LEFT). The report margins are set in the
OUTPUT section of the report.

-4654 CHAR size should be in the range of 1 to 32766.

The program has declared a variable of type CHAR with a size that is out
of the acceptable range.

-4655 Invalid range specified for VARCHAR.

The declaration of the fort VARCHAR (maximum, reserved) has incorrectly
specified a value for reserved that is not between 0 and maximum, inclusive.

-4656 CANCEL INSERT can only be used in the BEFORE INSERT clause
of an INPUT ARRAY statement.

The CANCEL INSERT statement is being used outside of BEFORE INSERT clause
of an INPUT ARRAY. Review the code to make sure that CANCEL INSERT has
not been used anywhere else except in the BEFORE INSERT clause.

-4657 CANCEL DELETE can only be used in the BEFORE DELETE clause
of an INPUT ARRAY statement.

The CANCEL DELETE statement is being used outside of BEFORE DELETE clause
of an INPUT ARRAY. Review the code to make sure that CANCEL DELETE has
not been used anywhere else except in the BEFORE DELETE clause.

-4658 Constants are not allowed as cursor names.

Identifiers that are used for dynamic cursor names must be variables.

-4659 The CHAR (*) type is not allowed for report parameters.

A formal argument cannot accept a character data type of unspecified length,
such as CHAR(*).

-4660 Report parameters cannot take object references.

A formal argument cannot specify a class name (or FOREIGN) as its data
type.

-4661 Access control restrictions are not allowed for this intrinsic
member function.

The intrinsic member functions !copy() and !derive() must have PUBLIC
access control, which is the default access control for member functions.

-4663 ODBC error from engine — «text».

The -useccl compiler switch has been used. An ODBC error, shown here as
«text», has been detected.

-4664 CCL class declarations are required with the «-useccl» switch.
Add INCLUDE SYSTEM «ixstmt.4gh» to your module.

To compile a REPORT or the MAIN program block with the -useccl switch,
the user needs to include ixstmt.4gh.

This statement has calls to functions nested within the parameter
lists of other function calls, to a level exceeding four. A maximum
level of four is supported, as in the following expression: Afun(2-Bfun(3+Cfun(4*Dfun(5))))

Rewrite the expression to store the result of the innermost function
calls in a variable, and use the variable in the expression.

-4665 Warning: Report page header or trailer output must end with
a newline, so a newline will be automatically appended.

A report header or trailer contained a semicolon (;) at the end of the
line. In the body of the report, a trailing semicolon suppresses the creation
of a new line. The header and trailer must end with a new-line character
to perform properly. The compiler has ignored the semicolon. To prevent
this warning message from appearing, remove the semicolon from the source
code.

-4666 Problem encountered in populating the repository.

For a detailed description of the problem, see the repold.log file in
either $INFORMIXDIRtemp or the current directory.

-4667 Class name is only forward declared in this file.

Updating the repository with a forward-declared class is discouraged.

-4668 The report output, specified by a START REPORT statement, is
not any of file, pipe, screen, printer, pipe in line mode, or pipe in
form mode.

The output of a report can be sent only to any of file, pipe (in form
or line modes), screen, or printer.

-4669 The function fgl_setcurrline can only be used in INPUT/DISPLAY
ARRAY block.

The function is being used outside of an INPUT/DISPLAY ARRAY block. Review
the code to make sure that fgl_setcurrline has not been used anywhere
else except in the INPUT/DISPLAY ARRAY block.

-4670 Multiple INTO clauses cannot be used inside SQL…END SQL block.

Only one INTO clause can be used inside the SQL… END SQL block. Review
the code to make sure that more than one INTO clause has not been used.

-4671 Missing END SQL after semicolon(;) in SQL…END SQL block.

A optional semicolon(;) can be used to mark the end of an SQL statement
inside the SQL…END SQL block. The program has encountered a semicolon(;)
but could not find END SQL immediately after that. Review the code to
make sure that the END SQL directive appears immediately after the semicolon(;).

-4701 The -V option must be used on its own with no other arguments.

The -V option requests that the program display the version number and
then terminate. No other options are allowed with this option. To display
the version number, repeat the command, but with only the -V option.

-4702 No program was specified.

The command cannot be executed because you did not specify the program
name. Repeat the command with the name of a NewEra program as an argument.

-4703 Invalid option name.

You specified an option that the program does not recognize. For the valid
options of this command, refer to your documentation. Repeat the command,
using only valid options.

-4704 Option name requires an argument.

You specified an option that the program does not recognize. For the valid
options of this command, refer to your documentation. Repeat the command,
using only valid options.

-5000 CSM error:

A CSM (Communications Support Module), in the database server or in the
client, detected an error.

This error code is a general CSM error code. It can be used by individual
CSMs to reflect different error conditions. The text provides clues
about the possible cause of the error.

If the confidentiality option is enabled for a particular CSM, you
might see the following example of this error code: «CSM error: CSM:
received message of unexpected type.» This implies that the CSM on the
user’s side (either database server side or client application side)
cannot interpret the messages it receives. Make sure that the confidentiality
option is set for both the database server and the client application.

Check your sqlhosts file and CSS configuration file. Check the error
message on the other side (either database server side or client application
side) for more clues about the possible cause of the error.

Also make sure that the CSM you are using is supported by the database
server or the client SDK. If the problem persists, contact Informix
Technical Support or the CSM vendor. Have the following information
available: CSS configuration files and sqlhosts information for both
the client and the database server.

-5001 CSM: memory allocation error.

A CSM (Communications Support Module), in the database server or in the
client, could not acquire memory for processing.

Make sure that the system configuration makes sufficient memory available
for dynamic allocation. If that fails, contact Informix Technical Support
or the CSM vendor and have the following information available: CSS
configuration files and sqlhosts information for both the client and
the database server.

-5002 CSM: memory de-allocation error.

A CSM (Communications Support Module), in the database server or in the
client, could not deallocate memory. This error message arises only when
some form of memory corruption has occurred.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-5003 CSM: file I/O error.

A CSM (Communications Support Module), in the database server or in the
client, could not complete a file read or write operation successfully.
This error can occur only during use of a CSM.

Validate that all files that the CSM requires for operation are available
for read and write access by the user in the client or by user informix
in the database server. If that fails, contact Informix Technical Support
or the CSM vendor and have the following information available: CSS
configuration files and sqlhosts information for both the client and
the database server.

-5004 CSM: invalid context.

A CSM (Communications Support Module), in the database server or in the
client, detected a context that contains invalid data or that is inconsistent
with the current operation or CSM state. This error normally occurs during
input or output message processing (as opposed to context establishment).

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-5005 CSM: unsupported feature.

A CSM (Communications Support Module), in the database server or in the
client, found either a global or connection parameter specification that
the current version of the CSM does not support. The CSM could also find
that the peer CSM, through the internal CSM-to-CSM protocol, indicated
the use of an option that this CSM instance does not support.

Remove any option that the CSM does not support or upgrade the CSM
to one that supports the option. Install and activate matching versions
of the CSMs in the client and database server. If all this fails, contact
Informix Technical Support or the CSM vendor and have the following
Information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-5006 CSM: invalid global options.

A CSM (Communications Support Module) found a global option that the current
version of the CSM does not support. The global option string is specified
in the CSS configuration file.

Remove any options that the CSM does not support from the global option
specification or upgrade the CSM to one that supports the options. If
this fails, contact Informix Technical Support or the CSM vendor and
have the following information available: CSS configuration files and
sqlhosts information for both the client and the database server.

-5007 CSM: invalid context options:

A CSM (Communications Support Module), in the database server or in the
client, found a CSM connection option specification that the current version
of the CSM does not support. The connection options string is specified
in the CSS configuration file, and the csm option field in the sqlhosts
file. The text in the error message shows any options that the CSM does
not support.

Remove any options that the CSM does not support from the CSM connection
option specification or upgrade the CSM to one that supports the options.
If this fails, contact Informix Technical Support or the CSM vendor
and have the following information available: CSS configuration files
and sqlhosts information for both the client and the database server.

-5008 CSM: peer disconnected.

A CSM (Communications Support Module), in the database server or in the

client, received a message from the peer CSM (using their private
CSM-to-CSM protocol) to initiate an orderly tear-down of their respective
CSM contexts. This CSM responded by returning to the caller (CSS and
its caller) with this message. This message might not be an error, but
might actually be part of the protocol. A typical event that might trigger
this disconnection is the expiration of a credential (such as an old
Kerberos ticket, an association that is too long if the CSM functionality
includes placing limits on the duration of SQL sessions, or an expired
X.509 certificate). This error can occur only during use of a CSM.

If the disconnection seems unexpected and the problem persists, contact
Informix Technical Support or the CSM vendor and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-5009 CSM: authentication error.

A CSM (Communications Support Module) that performs principal authentication
either in the database server or in the client failed to authenticate
the principal.

If this error occurs during session establishment, the connection
establishment fails. Otherwise, the connection is dropped.

A common cause for this error is that an invalid password is given
or the desired database server does not consider the client computer
or your user ID trusted.

Provide a correct password as required by the authentication. Or ask
the system administrator to include the client computer as a trusted
host and/or your user ID as a trusted user in the /etc/hosts.equiv file
on the database server computer or in the .rhosts file in your home
directory on the database server computer. For more information, see
the UNIX manual pages on HOSTS.EQUIV(5).

If this fails, contact Informix Technical Support and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-5010 CSM: internal processing error.

A CSM (Communications Support Module), in the database server or in the
client, detected an internal processing error and is incapable of self-diagnosing
it to provide additional information. This error can occur only during
use of a CSM and normally represents an internal processing error, but
could be caused by an undetected protocol error.

If this error occurs during context setup (that is, at connection
time), the connection establishment fails. If this error occurs after
establishment of the connection, the connection is dropped.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-5011 CSM: protocol error.

A CSM (Communications Support Module), in the database server or in the
client, received a message that is not consistent with the CSM’s protocol
formats, with its internal state, or with both. The usual cause of this
error is an internal message inconsistency, which indicates the receipt
of a protocol data unit with an unknown format. This error can occur only
during use of a CSM, and the cause can be a communications error, the
use of incompatible versions of the CSM in the client and the database
server, or inconsistent configurations of the client and database server
CSMs.

If this error occurs during context setup (that is, at connection
time), the connection establishment fails. If this error occurs after
establishment of the connection, the connection is dropped.

Make sure that the release levels of the CSMs types match, and the
configurations of client and database server CSMs match. If that fails,
contact Informix Technical Support or the CSM vendor and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-5012 CSM: received message of unexpected type.

A CSM (Communications Support Module), in the database server or in the
client, received a message with a type that is inconsistent with the protocol
formats and/or internal state. This message is more specific than message
-5011 because in this case the protocol data unit that is internally consistent
might be carrying a message type that the receiver cannot handle. This
error can occur only if a CSM is used. It can be caused by a communications
error, by the use of incompatible versions of the CSM in the client and
the database server, or by inconsistent configurations of the client and
database server CSMs.

If this error occurs during context setup (that is, at connection
time), The connection establishment fails. If this error occurs after
Establishment of the connection, the connection is dropped.

Make sure that the release versions of the CSMs types match, and the
configurations of client and database server CSMs match. If that fails,
contact Informix Technical Support or the CSM vendor and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-5013 CSM: can not obtain credential: authentication error.

A CSM (Communications Support Module), in the database server or in the
client, cannot obtain a credential to proceed in an authentication exchange.
For example, a user did not provide a password, or a credential request
to an external authentication service returned an error. This error can
only occur during context setup (that is, at connection time).

The connection establishment fails.

When a CSM is configured to require a password for authentication,
a valid password must be provided. Do not configure the database server
to use CSM in such a way that password input is required when you first
bring up the database server. Bring the database server up and let it
build system tables. Bring the database server down, and reconfigure
it to use the CSM as you desire.

Provide the password credential, or perform the operations that the
external authentication service provider requires in advance (for example,
Kerberos klogin).

-5030 CSM: crypto library error: .

A CSM (Communications Support Module), in the database server or in the
client, received an error indication from its cryptographic service provider
(or crypto library). This error can occur only during use of a CSM and
normally represents an internal processing error, but an undetected protocol
error could cause this error as well. Additional text, crypto-library
return code(s), or both might follow the error message.

If this error occurs during context setup (that is, at connection
time), the connection establishment fails. If this error occurs after
establishment of the connection, the connection is dropped.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-5852 Invalid date.

One of the arguments specified to the function must be a DATETIME type.
Check the values of the arguments that you are passing to the function.

-5853 The format element: (element_name) does not have an equivalent
in INFORMIX.

The format specified is not supported and therefore cannot be converted
to an Informix format.

-5854 Unrecognized format element: (element_name).

The format element specified is unrecognized. It is probably not a legal
Oracle format element.

-5855 Target string is not long enough to contain the converted format.

The target string is not long enough to contain the converted format.
You need to allocate more space for the target string.

-5856 You specified invalid precision for FLOAT.

Maximum precision value for FLOAT data type must be between 1 and 16.
Note: SQL ignores any specified precision.

-5857 Using NULL in the RANGE or STEP expression is not possible.

A RANGE or STEP expression included NULL.

Replace NULL with another value in the RANGE or STEP expression and
retry the statement.

-6000 Tried to perform an operation on an unopened table or database.
Database not yet opened.

Before a program can access data, it must use the dbselect() function
to select a database and then a table. Review the program logic to see
why these calls were not made.

-6001 The database or table does not exist.

Either the table or the database that is specified to this function does
not exist. Possibly the name is incorrect, the wrong database has been
selected, or the database has been altered.

-6002 Tried to open more than one database.

The program has called dbselect() twice in succession passing the DBOPEN
flag. The program must call dbselect() with the DBCLOSE flag to close
a database before it opens another database.

-6004 No database open.

The program has called a function that requires a database to be open,
but none is open. The program must call dbselect() before it calls this
function.

-6005 A column cannot be found.

At least one of the column names passed to this function does not exist
in the table whose name was passed. Review the name of the table and the
names of the columns. If they are correct, either the wrong database has
been selected, or the database has been altered.

-6006 Tablename has not been opened.

The table whose name was passed to this function has not been opened.
The program must first call dbselect() to open the table.

-6007 Column or index cannot be found in the current table.

The column name passed to this function does not exist in the table. Review
the spelling of the name. If it is correct, either the wrong database
is selected or the table has been altered.

-6008 Tablename has not been opened.

A call to dbselect must first open the table that dbselfield() is to use.
Review the program logic to make sure that this action is performed.

-6009 There is no data in the table.

Either dbselfield() or dbfind() returns this message when they are called
for an empty table. The message does not reflect an error in the program
but a condition of the table.

-6010 Value cannot be found.

This call to dbfind() for a keyed search returned no data. The value that
was requested was not found in the selected index column.

-6011 End of file.

This call to dbfind() for the NEXT row produced no data. The end of the
table has been reached.

-6012 Beginning of file.

This call to dbfind() for the PRIOR row produced no data. The beginning
of the table has been reached.

-6014 No such flag value.

The flag parameter to this function was not one of the defined values.
When you call functions that take predefined flag values, use the names
that the dbio.h include file defines, and pass only the flags that are
defined for the particular function.

-6015 Tablename has not been opened.

First, use dbselect() to open the table name that is specified to this
function. Review the program logic to make sure that this action is performed.

-6016 No view has been set.

Before the program calls dbfind(), it must call dbsetview() to establish
a view (that is, a specification of the columns to be returned and the
buffer to receive them). Review the program logic to see that this action
is performed.

-6017 Cannot add a duplicate value; the index has been defined as
UNIQUE.

At least one of the column values that was presented to dbadd() is a duplicate
of a value that exists in its column. However, that column is constrained
to contain unique values. The row cannot be inserted.

-6018 Tablename has not been opened.

A call to dbselect must first open the table that dbadd() is to use. Review
the program logic to make sure that this action is performed.

-6019 No view has been set.

Before the program calls dbadd(), it must call dbsetview() to establish
a view (that is, a specification of the columns to be returned and the
buffer to receive them). Review the program logic to see that this action
is performed.

-6020 There is no current row.

The dbdel() and dbupd() functions operate on the row last chosen using
dbfind(). Review the program logic to see that dbfind() is called to establish
a row. If the call was to dbfind() itself, it was passed a flag such as
CURRENT, which assumes that a row had been selected in a prior call, but
none had been selected.

-6021 Tablename has not been opened.

A call to dbselect must first open the table that dbdel() is to use. Review
the program logic to make sure that this action is performed.

-6022 Lock was denied.

Probably some other process has already locked the table. The program
should wait a short time and attempt the lock again. If the condition
persists, the program should roll back its transaction and retry the entire
operation.

-6023 Tablename has not been opened.

A call to dbselect must first open the table that dblock() or dbunlock
is to use. Review the program logic to make sure that this action is performed.

-6024 Memory allocation error, out of memory.

During certain operations, memory is allocated to hold internal data structures.
On this call, memory allocation failed. You might avoid this problem by
opening fewer tables and/or creating dbview structures with fewer columns.

-6025 The table is already open.

This call to dbselect() passed the name of a table that is already open.
The table continues to be open. Review the program logic to see if it
is making redundant calls to dbselect().

-6026 The named column must be indexed or sequential search must
be selected.

This call to dbselfield() names a column that does not have an index in
the database, but the flag passed was ACCKEYED. Check that the correct
column was named and that the correct database and table have been opened.
If that is the case, then the index has been dropped and should be re-created
before you run the program again.

-6027 Cannot insert a NULL value into a NOT NULL column.

This call to dbadd() or dbupdate() has attempted to insert a row that
contains a null value for a column that is constrained to be not null.
Possibly the program placed a null in the record buffer using dbsetnull(),
or the current view omits a column that is constrained to be not null.
The row is not inserted. Review the definition of the table and the program
logic, and change it so that it to define values for all not null columns
before an add or update.

-6028 Tablename has not been opened.

A call to dbselect must first open the table that dbupdate() is to use.
Review the program logic to make sure that this action is performed.

-6029 No view has been set.

Before the program calls dbupdate(), it must call dbsetview() to establish
a view (that is, a specification of the columns to be returned and the
buffer to receive them). Review the program logic to see that this action
is performed.

-6030 Cannot add a duplicate value; the index has been defined as
UNIQUE.

At least one of the column values that was presented to dbupdate() is
a duplicate of a value that exists in its column. However, that column
is constrained to contain unique values. The row cannot be inserted.

-6031 The user does not have SQL permission to SELECT the specified
columns.

The user account that is running this program has not been granted SELECT
privilege on the current table or on the particular columns that are being
selected. A user with DBA privileges for the database should use the SQL
statement GRANT to grant the necessary privilege. Then run the program
again.

-6032 The user does not have SQL permission to INSERT rows into the
table.

The user account that is running this program has not been granted INSERT
privilege on the current table. A user with DBA privileges for the database
should use the SQL statement GRANT to grant the necessary privilege. Then
run the program again.

-6033 The user does not have SQL permission to UPDATE the specified
columns.

The user account that is running this program has not been granted UPDATE
privilege on the current table. A user with DBA privileges for the database
should use the SQL statement GRANT to grant the necessary privilege. Then
run the program again.

-6034 The user does not have SQL permission to DELETE rows from the
table.

The user account that is running this program has not been granted DELETE
privilege on the current table. A user with DBA privileges for the database
should use the SQL statement GRANT to grant the necessary privilege. Then
run the program again.

-6035 No current row.

The flag parameter passed to dbfind() implies a current row (for example,
a flag of CURRENT or NEXT as opposed to one of FIRST); however, a prior
call has not established a current row. Review the program logic to make
sure that it establishes a current row before it makes a call of this
kind.

-6036 An aliasname is the same as an existing table name within the
database.

The newname parameter that was given to dbalias() already exists as a
table in the database. Review the program logic, and change it to use
only unique aliases.

-6037 An aliasname has been used previously.

The newname parameter that was given to dbalias() has already been defined
as an alias in a previous call. An alias can be defined only once in the
run of a program. Review the program logic, and change it to use aliases
only once.

-6038 An alias cannot be an alias of an existing alias.

The oldname parameter that was presented to dbalias() has been defined
as an alias in a previous call. The program can define multiple aliases
for a table, but it cannot define an alias for an alias. Review the program
logic, and change it so that the oldname parameter is always the name
of a real table in the database.

-6040 The aliased table was not found as a table name in the database.

The oldname parameter that was presented to dbalias() cannot be found
in the current database as a tablename. Check the value of the parameter;
if it is as you intended, then perhaps the wrong database is current,
or the intended table has been renamed.

-6041 The column number is greater than the number of columns in
the table.

The colnum parameter that was presented to dbnfield() is greater than
the total number of columns in the table whose name was passed. If the
program was iterating over the column numbers from 0 upward, this return
code signals the end of the table. Otherwise, check the number passed;
if it was as you intended, either the wrong database is current, or the
table has been altered.

-6042 Invalid format passed to dbprusing.

The format string that was passed to dbprusing() is not acceptable. Verify
the value passed, and review the rules of the USING function as described
in the reference material for the REPORT feature of INFORMIX-4GL.

-6043 Column is not a composite key.

The columname parameter that was passed to dbselfield() is not the name
of a column in the specified table, nor is it the name of a composite
index on that table. Review the tablename and columname parameters. If
they are as you intended, check that the correct database has been selected.
If so, the desired index might have been dropped or created under a different
name.

-6044 The column number is greater than the number of columns in
the composite key.

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

-6045 No column or index has been selected.

Before the program calls dbfind(), it must call dbselfield() to establish
a retrieval method even if no index is to be used. Review the program
logic to make sure that this action is performed.

-6050 Bad key description: internal error.

This error should not be returned. The most likely cause of the error
is that some internal data structure that ALL uses has been overwritten
in memory. Review the program logic. When you are certain that the program
cannot have stored into ALL data, please note all circumstances and contact
Informix Technical Support.

-6052 Not all of the composite index is contained in the current
view of this table.

When the program calls dbselfield() to set a composite index, the current
view that is established by calling dbsetfileview() or dbstructview()
must include all columns of that index. Review the program logic, especially
the calls to the latter two functions, to make sure this action is performed.
If the view is set as you intended, possibly the composite index has been
dropped and re-created using more or different columns.

-6055 BEGIN WORK failed.

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

-6056 COMMIT WORK failed.

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

-6057 ROLLBACK WORK failed.

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

-6062 Dbsetfileview cannot be used when any column within the table
allows nulls.

Because the buffer that dbsetfileview() constructs does not use alignment,
dbsetfileview() cannot build a buffer for columns that might have null
values.

-6063 NULL pointer parameter.

A parameter to this function call that is supposed to contain a pointer
to memory in fact contains a C null pointer value (zero). Review the logic
of the program to find out how this error occurred.

-6064 Tried to terminate a transaction that hasn’t been started.

The program has called either dbcommit() or dbrollback() when a transaction
is not in effect. Either dbbegin() had not been called to start a transaction,
or a call to dbcommit(), dbrollback(), or dbselect() had already ended
the transaction. Review the program logic to see why this error occurred.

-6065 Database does not have transactions.

This call to dbbegin(), dbcommit() or dbrollback() is inappropriate because
the current database does not support transactions. To use transaction
processing to convert the database, see the reference material for your
database server.

-6066 Database server protocol error.

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

-6067 Tried to unlock a table inside a transaction.

You cannot call dbunlock() inside a transaction, that is, after you call
dbbegin() and before you call dbcommit() or dbrollback(). When you use
transaction processing, all locks must remain in effect until the transaction
is committed or rolled back. Ending the transaction releases all locks
automatically.

-6068 Data type not supported.

A column has a data type that this version of ALL does not support (for
example, the BYTE data type). Review the requested column(s) against the
actual table, and use only the columns that have numeric or CHAR data
types.

-6069 Tried to lock a table outside a transaction.

When you use a database that has transactions, the program must open all
tables within the bounds of a transaction; that is, after a successful
call to dbbegin(). Review the program logic to see that this action is
performed. Possibly transaction-logging has been applied to the database
since the last time that you used the program.

-6070 Tried to close a database with a transaction open.

Before the program closes the database with dbselect(), it must end the
current transaction. The program can use a call to dbcommit() or dbrollback().

-7000 Error error-number from the optical subsystem. Consult your
appropriate subsystem manual.

Check the error number in the documentation for the subsystem that you
are using.

-7202 Database was created without NLS functionality.

You attempted to create an NCHAR (or NVARCHAR) column or declare an NCHAR
(or NVARCHAR) variable, in a non-NLS database.

-7203 DBNLS is not set or LC_COLLATE must be category-value.

You might receive this message when you try to access an external database
that has a different locale than the current database. In order to use
this NLS database, you must set the DBNLS environment variable to 1 or
2 and the LC_COLLATE environment variable to the specified category-value.

-7204 LANG or LC_COLLATE environment variable is invalid.

Either the LANG or the LC_COLLATE environment variable setting is invalid.
Set either or both variables to the values that your system supports.

-7205 DBNLS is not set or LC_CTYPE must be set to category-value.

You might receive this message when you try to access an external database
that has a different locale than the current database. In order to access
this NLS database, you must set the DBNLS environment variable to 1 or
2 and the LC_CTYPE environment variable to the specified category-value.

-7206 LANG or LC_CTYPE environment variable is invalid.

Either the LANG or the LC_CTYPE environment variable setting is invalid.
Set either or both variables to the values that your system supports.

-7207 LANG or LC_MONETARY environment variable is invalid.

Either the LANG or the LC_MONETARY environment variable setting is invalid.
Set either or both variables to the values that your system supports.

-7208 LANG or LC_NUMERIC environment variable is invalid.

Either the LANG or the LC_NUMERIC environment variable setting is invalid.
Set either or both variables to the values that your system supports.

-7209 LANG or LC_TIME environment variable is invalid.

Either the LANG or the LC_TIME environment variable setting is invalid.
Set either or both variables to the values that your system supports.

-7210 This server does not have NLS capability.

You tried to access an NLS database from a non-NLS-ready database server.
This database server does not support NLS. Contact Informix for a version
that does support NLS.

-7211 Cannot reference an external NLS database.

If your current database is not an NLS database, you cannot access an
NLS database on another database server or on the same database server.
However, if the NLS environment variables are set correctly, you can drop
an external NLS database even if your current database is not an NLS database.

-7400 Invalid API argument .

Verify the arguments to the DataBlade API calls.

-7401 Invalid API usage .

A DataBlade API call used an invalid argument or was made in an incorrect
context. The value of one or more arguments might be invalid, the sequence
of DataBlade API calls might be incorrect, or the call might have been
made from within a callback function where the call is invalid.

Check that the values of individual arguments are valid in the API
call and that the combination of all argument values is correct. Also
check the sequence of your DataBlade API calls. If the API call named
in the error message is made from within a callback function, move the
call or remove it.

-7402 Internal error.

If this error occurs, note all circumstances and contact Informix Technical
Support.

-7403 File protocol error. Expected message_packet_name.

This is an internal error. If it recurs, please note all circumstances
and contact Informix Technical Support.

-7404 File protocol error. Reported by client.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7406 Operation operation_name not supported outside execution.

This is an internal database server error. If it recurs, please note all
circumstances and contact Informix Technical Support.

-7411 Error loading locale object for client locale.

Probably an error occurred either while reading a registry or reading
a conversion object file. Locale file details are missing from the registry
file. Make sure the locale you are trying to load is compatible with the
locale that was specified when the database was created.

-7412 Error loading code-set conversion object for converting to
client codeset.

Probably an error occurred either while reading a registry or reading
a conversion object file. Locale file details are missing from the registry
file. Make sure the locale you are trying to load is compatible with the
locale that was specified when the database was created.

-7413 Error loading locale object for server processing locale.

Probably an error occurred either while reading a registry or reading
a conversion object file. Locale file details are missing from the registry
file. Make sure the locale you are trying to load is compatible with the
locale that was specified when the database was created.

-7420 Argument argument_name is invalid.

Verify the arguments to the DataBlade API calls.

-7421 The specified column position is invalid.

Check the arguments to the DataBlade API calls that require column numbers.
DataBlade API calls use column numbers 0 to number of columns minus one.

-7422 Cannot issue SAPI function in a secondary PDQ
thread. You need to define the user-defined routine as non-parallelizable.

A user-defined routine that was defined as parallelizable has issued a
SAPI function that is not PDQ thread-safe. Only nonparallelizable user-defined
routines can call such a SAPI function.

Drop the routine and redefine it as nonparallelizable. To define a
routine as nonparallelizable, reissue the CREATE FUNCTION, CREATE PROCEDURE,
or CREATE ROUTINE statement without the WITH (PARALLELIZABLE) class.
Or you can use the following statement to make a routine nonparallelizable:

ALTER ROUTINE routine-name WITH (DROP PARALLELIZABLE)

-7423 An invalid argument is specified. Either the return type buffer
is empty or the length of the buffer is not valid.

Verify arguments to DataBlade API calls.

-7424 A Cursor can only be defined for a prepared SELECT statement.

Prepare your SELECT statement before you define the cursor.

-7425 Invalid statement handle.

Verify arguments to DataBlade API calls. The statement handle used was
invalid or improperly modified.

-7426 There is no active query on this connection.

Verify the logic in the user-defined routine. You cannot retrieve or query
results without an active query.

-7427 Argument is not a valid argument_name.

An argument to a DataBlade API is invalid. Verify the arguments used in
each call to the DataBlade API.

-7428 Saveset is corrupted.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7429 Out of memory allocating save set.

Check with your system administrator or database administrator.

-7430 Out of memory allocating save set element.

Check with your system administrator or database administrator.

-7431 Invalid save set type type_name.

Verify that your type name is spelled correctly. If it is a user-defined
type, ensure that it has been defined correctly in your database.

-7432 Command is not yet complete.

Feature is not yet implemented. Review your release notes.

-7433 Command not a DML.

A SELECT, INSERT, UPDATE or DELETE statement was expected. Review the
SQL statement in the user-defined routine.

-7434 Parameter information not supported for SELECTS.

Feature is not implemented.

-7435 This statement references a table that is used in the parent
queries.

Subqueries or queries invoked by nested user-defined routines cannot reference
tables used by parent queries or calling user-defined routines. Restructure
your query to avoid this situation.

-7436 Inappropriate statement for parameter information.

You requested parameter information calls for a non-DML statement. Parameter
information can be obtained only for DML statements.

-7438 Unsupported data type.

The data type you are using is not supported. Verify the type definition.

-7442 The statement must be opened before this operation can be performed.

An attempt was made to fetch or close a prepared statement that is not
open. Ensure that a mi_open_prepared_statement call was successfully completed
prior to calling mi_fetch_statement or mi_close_statement.

-7443 The statement must be closed before it can be reopened.

An attempt was made to open or execute a prepared statement that is already
open. A statement must be closed before it can be reopened with either
a mi_open_prepared_statement call or a mi_exec_prepare_statement call.

-7470 Invalid connection connection_handle.

Verify arguments to DataBlade API calls. The connection handle used was
NULL, not opened, invalid, or improperly modified.

-7471 Internal error: Invalid user-defined routine context/state
(state)

If this error recurs, note all circumstances and contact Informix Technical
Support.

-7472 Out of memory allocating internal user-defined routine connection
state.

Check disk space on your computer. For more help, call your system administrator
or database administrator. If these checks do not resolve the problem,
and this error recurs, please note all circumstances and contact Informix
Technical Support.

-7473 Internal error: Bad install of user-defined routine-language
manager callback.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7474 Out of memory allocating server user-defined routine connection.

Check disk space on your computer. For more help call your system administrator
or database administrator. If this error recurs, please note all circumstances
and contact Informix Technical Support.

-7475 Cannot close a connection from outside of its own parent statement.

Check the logic in your user-defined routine. You must open and close
connections within the scope of the user-defined routine.

-7490 Cannot open trace output file file_name.

Check permissions on the file and its directory. For more help, call your
system administrator or database administrator.

-7491 Cannot read trace system table table_name.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7492 Write to trace output file failed.

Check permissions on the file and its directory. Check disk space on your
computer. For more help, call your system administrator or database administrator.
If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7493 Cannot create internal map to trace classes.

Check disk space on your computer. For more help call your system administrator
or database administrator. If this error recurs, please note all circumstances
and contact Informix Technical Support.

-7494 Cannot create internal trace message list.

Check disk space on your computer. For more help call your system administrator
or database administrator. If this error recurs, please note all circumstances
and contact Informix Technical Support.

-7500 Invalid multibyte character in syserrors catalog table for
sqlstate SQLSTATE_value.

An invalid multibyte character has entered the syserrors catalog table.
Possibly, the syserrors.locale is not the actual locale used for syserrors.message.
This table is normally populated with DataBlade messages or possibly messages
from user-defined routines.

-7514 MI_EVENT_END_XACT callback can only be registered inside a
transaction.

Move the end-of-transaction callback inside your transaction.

-7520 Argument argument_name is NULL.

Verify arguments to DataBlade API calls. NULL was passed but not expected.

-7521 GLS internal error encountered within API: error_code.

Verify your CLIENT_LOCALE. If this error recurs, please note all circumstances
and contact Informix Technical Support.

-7522 Incomplete locale information for conversion between client
and server formats

Verify your CLIENT_LOCALE. If this error recurs, please note all circumstances
and contact Informix Technical Support.

-7530 Missing parenthesis in the signature specified for user-defined
routine lookup.

Verify signature for routine specified for fastpath execution.

-7531 Invalid user defined routine type: must be function or procedure.

Specified user-defined routine must be a function or a procedure. Verify
name and definition of routine to be called.

-7532 Error converting type in string format to id format

Verify spelling and definition of types used in the routine signature.

-7533 Error in user-defined-routine lookup: Specified user-defined
routine not found.

Verify spelling and definition of user-defined routine.

-7534 Error initializing user-defined-routine sequence for execution.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7535 Invalid MI_FPARAM pointer returned.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7536 Error unlinking function descriptor from connection, not previously
linked.

Verify arguments to Blade API calls. The connection handle used was NULL,
not opened, invalid or improperly modified.

-7537 Error setting default arguments for execution of user-defined
routine.

Review arguments to user-defined routine.

-7538 Error converting default arguments to C style values.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7539 Error performing fastpath execution of UDR from API.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7540 Routine’s return value ID is out of range.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7542 Cast user-defined-routine lookup failed.

Verify spelling and definition of types used in the routine signature.
If this error recurs, please note all circumstances and contact Informix
Technical Support.

-7580 Invalid attempt to call routine: this routine may only be called
from an am_check routine. You tried to call the specified routine from
a UDR other than a VTI/VII am_check routine. Outside of am_check routines,
use mi_db_error_raise to report messages and errors.

-7601 Bad cursor action: Subquery collections only support cursor
action MI_CURSOR_NEXT.

A cursor action other than MI_CURSOR_NEXT was used on a subquery collection.

Remove any invalid cursor actions. For subquery collections, use only
the MI_CURSOR_NEXT cursor action or open the subquery collection without
the flags MI_COLL_NOSCROLL and MI_COLL_READONLY.

-7607 Invalid row literal value.

A row literal should be well-formed with respect to its syntax and the
type of objects contained in the literal. For a description of the syntax
and semantics of Literal Row, refer to the Informix Guide to SQL: Syntax.

-7610 Invalid collection literal value.

Your collection value is not well-formed.

See the documentation for a description of the construction of collection
literal values.

-8001 The number of newlines specified for TOP MARGIN, FIRST PAGE
HEADER (PAGE HEADER), PAGE TRAILER, and BOTTOM MARGIN must leave enough
room on the page for the printing of the ON EVERY RECORD clause.

The total number of lines that are defined for all the above statements
exceeds the page length. Check that you entered the desired number of
lines in each statement in the OUTPUT section and in the header and trailer
specifications of the FORMAT section.

-8002 The ACE report specification is too complex or large to be
properly compiled. The number of instructions needed to implement this
specification is greater than the space that is allocated in the instruction
tables for the compiler.

Reduce the size of the report. Because you cannot divide a report into
parts to compile separately, you must find a way to simplify the report.

-8003 A SMALLINTEGER constant may not be larger than 32767.

The allowable range of values for a SMALLINT constant is -32,767 through
32,767. Only whole numbers are allowed, with only digit characters.

-8004 Illegal FLOAT constant.

The FLOAT constant is not written correctly. The exponent might be too
small or too large (the allowable range of exponents depends on your computer
and operating system but is the same as your C compiler allows for the
DOUBLE data type), or incorrect punctuation or a nondigit character other
than e might be present.

-8005 Too many user variables, parameters, or functions have been
defined. You cannot define any more than number in an ACE specification.

The total number of identifiers that are defined for ASCII fields, parameters,
and variables cannot exceed the number that is shown. You must simplify
the report.

-8006 A quoted string may not exceed 80 characters in length.

You must reduce the quoted string to a maximum of 80 characters. In a
PRINT statement, simply divide the string into shorter parts, and separate
the parts with commas.

-8007 There is an unmatched quote in a quoted string.

This line of the report specification contains an odd number of quote
(«) symbols. A quoted string cannot include a new-line character; all
quoted strings must be complete in one line. In order to print a longer
string, store its parts in variables and list them all in a PRINT statement.

-8008 The file filename could not be opened. The operating system
was asked to open it for reading.

Check the spelling of the filename. Make sure that the file exists and
that your account name has read access to it. If the file is in a directory
other than the current directory, you might have to enter a complete pathname.

-8009 A memory allocation error has occurred. The ACE report specification
is probably too large.

The ACE compiler could not allocate memory that it needed. Try reducing
the size of the report specification.

-8010 The file filename could not be opened. The operating system
was asked to open it for writing. It is possible that a file by the
same name already exists, but the user has no permission to write over
it, or, if -o is used, the destination directory does not exist.

Ensure that filename is spelled correctly and that your account name has
write access to the directory where it will be stored. (That directory
might be the one that the environment variable DBTEMP names.) If a file
of that name already exists, either erase it or make sure that your account
has write access to it.

-8011 The user function called name has not yet been defined by the
user.

A call was made to a function with the name shown. ACE assumes that it
is an external C function. However, external functions must be defined
in the DEFINE section of the report using FUNCTION funcname statements,
and this name is not defined. If name was intended as the name of an external
function, insert a FUNCTION statement for it.

-8013 An error occurred when an attempt was made to open the listing
file filename. Be certain that the user has write permissions in the
current directory.

Ensure that your account has write access to the current directory. If
a file filename already exists, check that your account has write access
to it.

-8014 Usage: SACEPREP [-q][-o output_directory] input_filename (etc.)

Something in the command line that you entered was not acceptable to saceprep.
Read the message to remind yourself of the syntax of the various options
and then retype the command line.

-8015 An open comment symbol, {, was found inside an already open
comment on line line-number, character char-number. This could be due
to a failure to closethe previously opened comment, which was begun
on line lnum, character cnum.

You cannot nest comments. Insert a close-comment symbol where appropriate
in the report specification.

-8016 A comment has been opened but not closed. The last comment
begun was opened on line line-number, character char-number.

Insert a close-comment symbol where appropriate in the report specification.

-8017 An illegal (invisible, control) character has been found on
line line-number, character char-number. It has been replaced by a blank
in the listing, but it is still in the source (input) file, and should
be removed before attempting to compile again.

Using a word-processing editor in document mode instead of text mode,
striking nonprinting keys while you are editing the file, or data corruption
can introduce illegal characters into files.

-8018 A grammatical error has been found on line line-number, character
char-number. The construct is not understandable in its context.

A syntax error exists in the source file. A keyword might be misspelled
or misplaced in the file. Check the spelling of the keyword or the sequence
of control blocks within the report-specification file.

-8019 Cannot open temporary file filename for reading of a TEXT column.

For each TEXT column that is selected for the report, ACEGO prepares a
temporary file in the directory that the DBTEMP environment variable names.
This message indicates that the file was created and loaded with a copy
of a TEXT value, but now it cannot be read. Look for operating-system
error messages that might give more details. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-8021 The source file filename cannot be opened. This is probably
because the file does not exist.

Check the spelling of filename. Check that the report-specification file
exists in your current directory, or if it is in another directory, check
that you provided the correct pathname. If this information is correct,
verify that your account has read permission on the file.

-8022 This identifier exceeds the maximum length for identifiers,
which is 50.

You must devise a shorter identifier.

-8025 The comment close symbol, }, has been found on line line-number,
character char-number, even though no comment has been opened.

Unless comment symbols are enclosed in quotes, they must be balanced.
Probably the open-comment symbol was accidentally deleted during editing.
Change the file so that comments are properly delimited.

-8030 A typographical error has been found on line line-number, character
char-number.

The single character at the location that is shown is not syntactically
correct; it cannot be interpreted as part of a report specification.

-8033 The source file name filename exceeds the maximum length of
10.

The form compiler imposes a limit on the length of source-file identifiers.
You must rename the file before you use it. In DOS systems, filenames
can be a maximum of 8 characters plus a 3-character extension.

-8034 An unknown option option was found on the command line.

ACEPREP supports the following command-line options:

  • -s to suppress messages
  • -o to name an output destination
  • -ansi to test for ANSI compliance

ACEGO supports the following command-line options:

  • -s to suppress messages
  • -d to name a database

-8051 The LEFT MARGIN must be no less than zero and no greater than
the RIGHT MARGIN.

Revise the left and right MARGIN statements in the OUTPUT section to reasonable
margin values.

-8052 There is insufficient space in the compiler string table for
the storage of CHAR variables.

Reduce the length or number of character variables in the report specification.

-8053 Neither the PAGE LENGTH, TOP MARGIN, nor BOTTOM MARGIN is allowed
to be less than zero.

Revise the statements in the OUTPUT section to have reasonable values.

-8054 The string string does not fit into remaining space in the
compiler’s string table.

Reduce the length or number of strings in the report specification. Identical
strings are stored only once.

-8055 This constant causes the constant table in ACEPREP to overflow.

Reduce the number of numeric constants that the report-specification file
uses.

-8056 Skipping lines inside of WHILE or FOR loops is not allowed
within PAGE HEADER or TRAILER.

ACEPREP needs to determine how many lines of space to devote to the page
header and trailer (otherwise, it does not know how many detail rows to
allow on the page). It cannot predict how many times a loop will be executed,
so it has to forbid the use of SKIP statements in loops in these sections.

-8057 Only user variables of type CHARACTER may be subscripted or
have lists in the LET statement.

You can use a subscript (two numbers in square brackets, used to extract
a substring of characters) with names of character variables only. In
a LET statement, you can assign multiple strings, separated by commas,
to a character variable only. Variables of other types can receive only
single values.

-8058 The ASCII field field-name has already been defined.

A field name can be defined only once. Field names must be unique in the
DEFINE section, that is, a name cannot be used for both a PARAM and a
field.

-8059 The limit for IF statement nesting has been exceeded. There
are too many IF statements within IF statements for ACE to properly
compile this specification.

You have exceeded the maximum levels of nested IF statements. You must
simplify the logic of the report.

-8060 An end-of-file has been prematurely found in the report specification.

ACEPREP encountered the end of the report-specification file while it
still expected input. Possibly you omitted an END statement. A minimal
FORMAT section that contains at least an EVERY ROW statement is required,
and any control block must contain at least one statement.

-8061 This report contains a READ statement but no ASCII record definition
has been specified.

In order to use the READ statement, you must use the ASCII statement in
the DEFINE section to define the expected fields of the ASCII file.

-8062 This report contains a SELECT statement, but a READ statement
should be used instead because an ASCII record definition has be specified.

You can base a report on an ASCII file or on database rows, but not on
both. The ASCII statement in the DEFINE section means that file input
will be used, and a READ statement is used to read the file. If you want
to base the report on database rows, retain the SELECT statement and delete
the ASCII statement.

-8102 There may be only one AFTER or BEFORE GROUP OF clause for any
single column specified in the ORDER BY command.

The report contains more than one AFTER GROUP OF clause for a certain
column or more than one BEFORE GROUP OF clause. Only one of each can name
a given column. However, you can combine the statements from the multiple
clauses into a single clause.

-8103 In order for the BEFORE or AFTER GROUP OF clause to function
properly, the column specified in the clause must also have been specified
as a sort column in the ORDER BY command. If the sort column is subscripted,
the column in the BEFORE or AFTER GROUP OF clause must be also.

Make sure that the control columns are specified identically in both the
ORDER BY statement and the GROUP OF clauses.

-8104 Group aggregates can only be used in an AFTER GROUP OF clause.

Aggregate values over a group are accumulated while the rows of the group
are being processed, so they are not available until the end of the group
is seen. Therefore, the report cannot refer to them except in an AFTER
GROUP OF clause.

-8105 Aggregates may not be used within another aggregate. Nor may
aggregates be used within the WHERE clause of another aggregate.

Aggregate functions cannot be nested, primarily because the value of the
inner aggregate is not known while the outer aggregate is being accumulated.
Rewrite aggregate expressions to refer only to columns and simple expressions
on columns. In an AFTER GROUP OF clause, you can save the aggregate value
from one group of rows in a variable in order to use it to compute an
aggregate over a subsequent group.

-8107 A user variable or parameter has been defined by the user more
than once.

You can define a name only once in a DEFINE section. You used a name more
than once in the ASCII, PARAM, or VARIABLE statements.

-8108 A user variable or parameter must have a length which is greater
than zero.

Make sure that every CHAR and VARCHAR field in the DEFINE section has
a nonzero length specification.

-8109 Wordwrap may not be used within PAGE HEADERS or TRAILERS.

ACEPREP needs to know how many lines will be filled in header and trailer
sections (otherwise, it does not know how many detail rows to put on the
page). However, printing with the WORDWRAP function can fill a variable
number of lines, depending on the words. Therefore, it is not allowed
in page header or trailer sections.

-8110 The user variable called name has not yet been defined.

The variable, parameter, or field name was not defined in the DEFINE section.
If name is spelled correctly, it must be defined.

-8111 User variables and run-time parameters may not be used in an
ORDER BY statement.

Only names of columns can be used in an ORDER BY clause. Check the spelling
of the column names or display labels in the clause. You cannot request
ordering by the contents of defined variables, parameters, or ASCII fields.

-8112 Within an IF-THEN-ELSE statement of a header or trailer clause,
the number of lines printed in the IF part must equal the number of
lines printed in the ELSE part.

ACEPREP needs to know how many lines will be filled in header and trailer
sections (otherwise, it does not know how many detail rows to put on the
page). Because it cannot tell which part of an IF statement will be executed,
it requires that both produce the same number of lines of output.

-8113 SKIP TO TOP OF PAGE is not allowed in any header or trailer
clause.

When SKIP TO TOP OF PAGE is executed, the page-trailer clause must be
executed (to display fixed page-end material), followed by the page-header
clause. If the statement was allowed in a header or trailer clause, an
infinite loop could ensue.

-8114 The number of lines to be printed in the top and bottom margins
plus the lines to be printed in the page header and trailer clauses
exceeds or equals the page length.

Examine the statements in the OUTPUT section and in any HEADER and TRAILER
clauses. The total of lines that these statements use must be sufficiently
less than the specified page length that some detail rows can be printed.

-8115 There may be no more than 8 sort columns specified in the ORDER
BY command.

ACEGO limits the number of columns that can be ordered. You must reduce
the number of columns that are listed following ORDER BY.

-8116 Illegal subscripting in ORDER BY command.

You can only subscript a character field. Check the subscripts. No negative
numbers are allowed; the numbers must fall within the length of the character
column; and the first number must be less than or equal to the second
number.

-8121 The specified WORDWRAP RIGHT MARGIN value is out of range.
It must be greater than or equal to the current column and less than
or equal to the report’s right.

The right margin of a WORDWRAP clause is used to set a narrower right
margin than the one that applies to the report as a whole. The effective
left margin of a WORDWRAP display is the current column when WORDWRAP
is processed. The right margin must fall between the current column and
the report margin.

-8122 NEED n LINES may not be used in PAGE HEADER or PAGE TRAILER
clauses.

The PRINT statements in a page header or trailer establishes its size.
To set a larger size, use PRINT statements with no parameters.

-8123 The PRINT FILE command is not allowed within the FIRST PAGE
HEADER, PAGE HEADER, or PAGE TRAILER clauses.

ACEPREP needs to know how many lines will be filled in header and trailer
sections (otherwise, it does not know how many detail rows to put on the
page). Because the size of a file cannot be predicted when the report
is compiled, the PRINT FILE command is not allowed. You must use PRINT
statements to produce the data.

-8124 A user variable used in the above query has not been defined
in the DEFINE section.

A variable that is named in the SELECT statement is not defined in the
DEFINE section of the report. Check that all names in the SELECT statement
are the ones that you intended and that you have not misspelled any column
or variable names.

-8125 The keyword END was found more than once inside the SELECT
section. Within the SELECT section, use semicolons to separate SQL statements.
Use the keyword END only after the final SELECT.

Review the contents of the SELECT section to make sure that each SELECT
statement except the last one ends in a semicolon and that the last one
is followed by an END statement. Perhaps you omitted the FORMAT statement
at the beginning of that section.

-8126 PARAM[0] may not be defined.

The first parameter that you can define in the PARAMETER statement is
number 1. In some host-operating systems, the zeroth parameter is preset
to the program name, but this value is not available within a report.

-8127 You cannot use more than one REPORT TO statement in a report
specification.

The entire report is directed to one destination, which is chosen with
the REPORT TO statement in the OUTPUT section. The report cannot be divided
between multiple destinations, so remove all REPORT TO statements after
the first. If you want to produce separate report files for different
sets of data, perform one of the following steps:

  • Write a separate report for each set of data (the specifications
    should differ only in their SELECT statements).
  • Produce a full report, but with sets of data on separate pages,
    and use operating-system utilities and tools to separate the files
    afterward.
  • Use parameter variables in the SELECT statements so that you can
    choose a subset of data dynamically, when you run the report, and
    use REPORT TO PRINT so that you can set the DBPRINT variable to control
    the output destination before you start the report.

-8128 Minimum length of a VARCHAR variable must be smaller than the
maximum size.

A VARCHAR variable is defined with the two numbers name(n,r), where n
is the maximum length of the variable and r is the reserved length. The
reserved length is meaningful only in the context of a database table
definition, although it is allowed when you define a report variable.
If you specify it, you must write a number for r that is less than or
equal to the size, n.

-8129 Specified page length length is too short for default report.

A report page cannot fit in the number of lines that are specified. Allow
more lines per page or revise the report specification to use fewer lines
(for instance, by changing the top or bottom margins).

-8130 An INTEGER constant may not be larger than 2147483647.

This statement specifies a value that cannot be contained in an integer.
Either use a smaller value or a different data type (for example, DECIMAL).

-9001 Only columns of type CHARACTER may be subscripted or printed
without trailing blanks.

Either you attempted to subscript or apply the CLIPPED function to a noncharacter
variable, or you specified a variable to have the wrong data type.

-9002 An unknown operation code was found in the PMIM.

An internal ACEGO error occurred. Make sure that a version of ACEPREP
at the same version level as ACEGO compiled your report. If that is the
case, recompile the report to make sure that the .arc file is not corrupted.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-9003 A USING format string may contain only one ‘.’.

The format string that specifies the display of a number contains more
than one decimal point. Remove all but one of the decimal points. Refer
to the discussion of the USING function in the reference manual.

-9004 The column name is not in the current table, or the user variable
name has not been defined.

The name that is shown cannot be related to either a column in a database
table or a defined variable. Check its spelling. If you meant it to be
a variable, add it in the DEFINE section. If you meant to name a column
in the database, check to see if the table was altered or its columns
were renamed.

-9014 Usage: SACEGO [-q][-d database] report-filename.

Flags:

-q SACEGO will not print any messages or errors.

-d SACEGO will use the database name that follows the -d option instead
of

the database name that is specified in the DATABASE section
of the report specification.

This message displays when ACEGO is not given appropriate command-line
arguments. Other messages might explain it explicitly. You can use the
-s option, as the manual describes, in place of -q as shown in the message;
they have the same effect.

-9025 The column name is not in the current table. Any column used
as an ORDER BY column must be in the current table.

The name that is displayed appears after the words ORDER BY, but it is
not the name of a column or the display label of an expression that is
selected in this statement.

-9046 The report output file filename could not be opened. This is
probably due to permissions.

The report was directed to the destination shown, either with a REPORT
TO statement or through the contents of the DBPRINT environment variable.
Make sure that the destination was spelled correctly. Verify that your
account has operating-system permissions to write the destination file
and that the destination disk is writable and not full.

-9047 The output file filename could not be created.

Probably your account does not have write permission in that directory,
the disk is full, or you have exceeded a limit on open files.

-9048 The pipe pipe-specification could not be opened.

The report was directed to the pipe that is shown in the REPORT TO statement.
Make sure that all program names in it are spelled correctly, that the
programs exist, and that they are on the current execution path. Look
for other messages from the operating system that might indicate the source
of trouble (for example, a message that indicates not enough system memory
was available).

-9049 A value entered as a command line parameter cannot be converted
to the data type type.

A PARAMETER statement in the DEFINE section defines one of the values
from the command line as having data type type. However, the value that
is given on the command line cannot be converted to that type. Check the
following points:

  • If type is numeric, check that the parameter can be read as a number.
  • If type is MONEY, the parameter should nevertheless not include
    a currency symbol.
  • If type is CHARACTER or VARCHAR, check that the parameter is not
    longer than the length that is defined for the variable.
  • If type is DATETIME, check that the parameter is correctly punctuated
    (refer to the appendix on DATETIME and INTERVAL data in the user guide).
  • If type is DATE, check that the parameter is correctly punctuated
    as a date.

Correctly punctuated DATE, DATETIME and INTERVAL values contain characters
that might have special meaning to the operating system. The problem might
be that the parameter was correct but needed quotes around it to protect
it.

-9050 The user variable name is of type type. The value entered is
out of range or cannot be converted to that type.

A value was entered in response to a PROMPT statement, which stores the
value in a variable of the name and type shown. However, it was impossible
to convert the entered value to the data type of the variable (see the
discussion of error -9049 for details on conversion). Rerun the report
and enter appropriate data (also consider revising the prompt string to
better guide the user).

-9051 The number of defined parameters in the ACE program does not
equal the number of actual parameters passed to ACEGO on the command
line.

The number of parameters that are defined using PARAMETER statements in
the DEFINE section does not agree with the number of items that are given
as parameters on the command line. Check that parameters that contain
spaces or other special characters are enclosed in quotes; the lack of
quotes can cause a single parameter to be taken as more than one.

-9052 The format string is too large. It may not be larger than 79
characters.

A limit exists on the size of the format string that is presented to the
USING function.

-9053 An unknown entry in the .arc file has been detected. Recompile
your ACE report specification using SACEPREP and then rerun SACEGO.
Be certain that the version numbers for SACEPREP and SACEGO are identical.

The versions of ACEPREP and ACEGO must agree. (To check the version of
either program, run it from the command line with the -v option.) To recompile
the report, use a version of the compiler, ACEPREP, that is identical
to the version of the runner, ACEGO. If the versions are already the same,
recompile the report anyway to ensure that the .ace file has not been
corrupted. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-9054 The ACE report was compiled by version A compiler. This runner
can only run 5 through B. Recompile your ACE report specification using
SACEPREP and then rerun SACEGO.

The versions of ACEPREP and ACEGO must agree. (To check the version of
either program, run it from the command line with the -v option.) To recompile
the report, use a version of the compiler, ACEPREP, that is identical
to the version of the runner, ACEGO. If the versions are already the same,
recompile the report anyway to ensure that the .ace file has not been
corrupted. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-9055 The compiled report file filename could not be found or opened.

The report filename was named on the ACEGO command line. It expects to
locate the file filename.arc in the current directory or a path that the
DBPATH environment variable names, but it could not find the file or could
not open it for reading. Check that the filename was spelled correctly
and that your account has read access to it.

-9059 A select statement which is not the final select statement
in an ACE report must select into a temporary table.

The SELECT section of the report can contain more than one SELECT statement.
However, only the last one of these statements can produce the rows that
are the report contents. The preceding SELECT statements are used to prepare
data in temporary tables that the final statement delivers to the report.
Change the report specification so that all but the last SELECT statement
contain INTO TEMP clauses.

-9060 The values m and n used to subscript name are outside the bounds
for the column’s defined length.

A column substring in the ORDER BY clause is incorrect. When taking a
substring of a column, the first number in brackets specifies the position
of the first character, and the second number specifies the position of
the last character of the substring. Both numbers must be at least 1 and
not greater than the total length of the column or variable.

-9061 A ‘SELECT INTO’ statement cannot be executed as the last select
statement in an ACE report.

The SELECT section of the report can contain more than one SELECT statement.
The last (or only) one of these statements must produce the rows that
are the contents of the report. Any preceding SELECT statements are used
to prepare data in temporary tables that the final statement delivers
to the report. Change the report specification so that all but the last
SELECT statement contain INTO TEMP clauses.

-9062 An error has occurred during the conversion of a numeric value
to a CHARACTER type user variable. The CHARACTER type variable is not
long enough to hold the result.

The conversion of a numeric value to character produced more numeric characters
than the destination could hold. Rather than truncate the result, ACEGO
stops with an error. You can either redefine the destination variable,
or you can limit the size of the converted value (for example, with a
USING format string).

-9063 The user function name, defined by the user in the DEFINE statement
of ACE, could not be found in the C function definition table userfuncs
in the user’s C static data area.

The DEFINE section of the report contains a FUNCTION statement indicating
that an external function name would be linked with the report. (The ESQL/C
manual covers the use of external C functions with ACE reports and PERFORM
screens.) However, the name and address of each such function must appear
in a static array that is named userfuncs. That array, along with the
computer code of the external functions, is linked with a custom version
of ACEGO. Because name did not appear in the array, ACEGO cannot call
it.

Check that you are executing the correct, customized version of ACEGO
(the original version of the program has no external functions linked
to it). Check to see if name is correctly spelled. Then examine the
source of the C functions to make sure that the userfuncs array is defined
correctly and that it contains an entry for name.

-9064 The run-time string table is full. No more memory can be allocated.

The data space available for temporary character strings is full. Temporary
strings are built when calling external C functions and when processing
the USING, SPACE, and ASCII built-in functions. Reduce the use of these
items.

-9065 Memory allocation has failed.

ACEGO was unable to allocate memory to hold a row, a line, or an SQL data
structure. The space needed is not (as the message text suggests) directly
related to the size of the report specification. The report lacks only
a few thousand bytes, at most, to run.

-9066 An error has occurred while writing to the output report.

The report destination was opened correctly, but the operating system
reported an error while output was being written. Look for error messages
from the operating system that explain the problem. The most common cause
of the error is lack of available disk space.

-9067 ACEs arithmetic stack has exceeded its bounds. The expression
here is too complicated.

Reduce the complexity of the arithmetic expression. For example, divide
the expression into subexpressions and assign the values of each to a
variable.

-9068 An SQL statement has been found in the SELECT section that
is not a SELECT statement. Only SELECT statements or SELECT statements
that create temporary tables are allowed in the SELECT section.

Possibly the word SELECT is misspelled in the report specification. If
you intentionally wrote another SQL statement such as UPDATE or INSERT,
remove it; only SELECT statements are permitted in reports. (You can execute
other SQL statements in a C function that is called from a report. The
ESQL/C manual discusses linking external C functions with reports.)

-9070 A record in the flat ascii input file contains more data fields
than what was specified in the DEFINE ASCII statement of the report.

A field in the ASCII file is a sequence of zero or more characters that
ends in a delimiter character (the delimiter is specified in the READ
statement). Effectively, as many fields as delimiter characters exist
in each record. The number of fields must be the same in each record,
and each field must be defined in an ASCII statement in the DEFINE section
of the report. Extra fields are not ignored. Look for message

-9072; it can help you locate the record in error.

-9071 A record in the flat ascii input file contains less data fields
than what was specified in the DEFINE ASCII statement of the report.

A field in the ASCII file is a sequence of zero or more characters that
ends in a delimiter character (the delimiter is specified in the READ
statement). Effectively, as many fields as delimiter characters exist
in each record. The number of fields must be the same in each record,
and each field must be defined in an ASCII statement in the DEFINE section
of the report. No default exists for missing fields. Look for message
-9072; it can help you locate the record in error.

-9072 count record(s) from the ascii input file have been read in.

This informational message helps you locate the source of a problem in
the ASCII input file. The problem that is described in another message
was found in the count line of the file.

-9140 An attempt was made to divide by zero on line number. The result
was set to zero.

An expression on line number of the report-specification file contains
a division operation. At some point in the report run, the divisor in
the expression was zero. Examine the expression and the data it uses and
write the report so that division by zero will not occur (for example,
by testing for zero in an IF statement). This error can result from applying
an aggregate function to a defined variable before the first row of data
is processed. To avoid this situation, make sure that any variable has
a value before it is used (for example, by setting it from a command-line
parameter or with a PROMPT FOR statement).

-9142 Date conversion error.

ACEGO is trying to convert from characters into a DATE data type but found
an error. Either the date is not punctuated correctly, unwanted nonnumeric
characters are present, or the date itself is inconsistent (for example,
«01/32/91»).

-9143 Character, Text, and Byte data cannot be printed with using
formats.

The USING function can only be applied to numeric data. Revise the report
specification.

-9300 Cannot set clear flag for UDT () in global jar list.

J/Foundation cannot set the clear flag for the specified user-defined
type in the global jar list.

-9301 Cannot set remove flag for jar () in global JVP list.

J/Foundation cannot set the remove flag for the specified jar in the global
JVP list.

-9302 Cannot set new path flag for .

J/Foundation cannot set a new path flag for the specified object.

-9303 User SQL Exception.

J/Foundation returned the specified SQL exception.

-9400 User-defined aggregate already exists.

The name given already exists in your database, either as an aggregate
name or as the name of a routine. (You cannot have an aggregate and a
routine with the same name.)

Change your CREATE AGGREGATE statement to give the aggregate a unique
name.

-9401 Cannot re-define or drop builtin aggregate .

The named aggregate is a system-defined aggregate. You can overload the
functions that support the built-in aggregates, but you cannot redefine
or drop built-in aggregates.

Create support functions for the named aggregate but do not use the
CREATE AGGREGATE statement.

-9402 Multiple occurrences of the modifier.

Each of the modifiers INIT, ITER, COMBINE, FINAL, and HANDLESNULLS can
appear only once in the CREATE AGGREGATE statement. Check your statement
for repeated modifier names.

-9403 The modifier must be specified.

You need to include the named modifier in your CREATE AGGREGATE statement.
The iterator (ITER) and combine (COMBINE) functions are required for all
user-defined aggregates.

-9404 User-defined aggregate does not exist.

The named aggregate does not exist in your database. Before you can use
a user-defined aggregate, you must create the necessary support functions
and register the new aggregate with a CREATE AGGREGATE statement.

-9405 Must be owner of user-defined aggregate or
DBA.

You attempted to drop a user-defined aggregate that someone else created.
To drop a user-defined aggregate, you must own (be the creator of) the
aggregate or you must have DBA privilege.

-9406 Cannot resolve support function for user-defined aggregate
.

You attempted to use a built-in aggregate for which the database server
could not find an appropriate support function. For example, if you try
to use the SUM aggregate on the «new_type» data type, the database server
looks for the following operator function:

plus(new_type, new_type)

This error can also occur for a user-defined aggregate when one of the
support functions that the CREATE AGGREGATE statement has listed (INIT/ITER/COMBINE/FINAL)
is missing.

Make sure that you have the correct support functions for the user-defined
aggregate. These functions must be exist and must be registered in the
database with CREATE FUNCTION.

-9407 Set-up parameter to the aggregate cannot contain
non-group columns.

If the user-defined aggregate has been defined with a set-up argument,
the second argument of this aggregate must be either a constant or one
of the columns in the GROUP BY clause of your query.

For example, the following two statements are valid:

SELECT new_aggr(colA, 2) FROM some_table

SELECT new_aggr(colA, colB) GROUP BY colB FROM some_table

-9408 User-defined aggregate has no arguments.

The user-defined aggregate in your SELECT statement does not specify any
arguments

Make sure that the user-defined aggregate of the SELECT statement
provides the correct number of arguments (one or possibly two, if the
aggregate includes a set-up argument).

-9409 User-defined aggregate has too many arguments.

The user-defined aggregate in your SELECT statement specifies too many
arguments

Make sure that the user-defined aggregate of the SELECT statement
provides the correct number of arguments (one or possibly two, if the
aggregate includes a set-up argument).

-9410 User-defined aggregate has two arguments but
no INIT function specified.

The user-defined aggregate in your SELECT statement specifies a set-up
argument. However, the CREATE AGGREGATE statement that defined this aggregate
has not specified an INIT support function. The handling of a set-up argument
must occur in an INIT function.

You can either call the user-defined aggregate without a set-up argument
or implement a set-up argument for the user-defined aggregate. To implement
a set-up argument, take the following actions:

— Write an INIT support function that handles the set-up
argument. — Register the INIT function (with CREATE FUNCTION).

— Drop the user-defined aggregate (with DROP AGGREGATE).

— redefine the user-defined aggregate (WITH CREATE AGGREGATE),
providing the INIT modifier to specify the new INIT support function.

-9411 User-defined aggregate support function does
not handle nulls.

You created your aggregate with the HANDLESNULLS option, but the function
named in the error message does not handle nulls.

When you create an aggregate with HANDLESNULLS, all support functions
must also handle nulls. You can either change the aggregate or change
the function. To change the aggregate, drop the aggregate and re-create
it without the HANDLESNULLS option.

If the aggregate needs to handle null values, you must modify the
function so that it can handle nulls. Then drop the function and reregister
it with the HANDLESNULLS option.

-9412 Return type of the support function does not
match the aggregate state type.

When you extend a built-in aggregate for a user-defined data type, the
return type of the operator function must be the same as the data type
for which you are extending the aggregate. For example, if you try to
use the SUM aggregate on the «new_type» data type, thedatabase server
looks for a plus() function with the following signature:

CREATE FUNCTION plus(c1 new_type, c2 new_type) RETURNING
new_type;

This error can also occur for user-defined aggregates if the return type
of an INIT support function is not the same as that of the ITER or COMBINE
function. For user-defined types, make sure that the return types of the
INIT function (if any), ITER function, and COMBINE function are the same
as the user-defined type.

-9422 JDK 1.2 cannot be used with kernel AIO.

JDK 1.2 cannot be used with kernel AIO.

Disable kernel AIO and try again.

-9423 Transaction request %s failed to execute.

A server JDBC attempt to start a transaction failed to execute.

Check online.log for any failures.

-9424 Server JDBC failed to get a row from the server.

A server JDBC attempt to get a row from the database server resulted in
an error. This is an internal error.

-9425 Internal error with the Java memory pool.

An unexpected internal error occurred during use of the Java memory pool.
The pool could have been corrupted

Restart the database server.

-9426 Can’t use Native threads in this configuration.

You cannot use native threads in this configuration. Only green threads
can be supported on this platform.

-9427 Can’t use Green threads in this configuration.

You cannot use green threads in this configuration. Only native threads
can be supported on this platform.

-9428 Java configuration () parameter error.

The configuration parameter was not specified correctly.

Modify the configuration parameter and restart the server.

-9429 Java initialization failed, unable to find the library/routine
().

Java startup failed to locate the library or the specified routine ().

Check the Java installation on the machine. Either a wrong version
of the JDK has been installed, or the installation has not been completed
correctly.

-9430 JNI internal error. Unable to find or execute JNI call ().

The specified JNI call could not be executed. This error indicates a possible
VM crash or VM corruption.

Contact Informix Technical Support.

-9431 Can’t find system class or method or library ().

Java startup failed to locate the system class or method ().

Check the Java installation and J/Foundation installation on the computer.
Either the wrong version has been installed, or the installation has
not been completed correctly.

-9432 Variable length UDTs are not supported in this version of Java.

This version of Java does not support variable-length. This feature is
scheduled to be enabled in a future release.

-9433 Cannot position Blob/Clob.

An internal error occurred during access to a large object.

Contact Informix Technical Support.

-9434 Unexpected failure during initialization of Java virtual processor.

An unexpected failure occurred during the initialization of a JVP.

Check online.log for details.

-9435 Unexpected failure during Java procedure execution.

An unexpected failure occurred during Java procedure execution.

Check online.log for details.

-9436 Java UDR’s VP class must be CLASS_JAVA.

A Java UDR can run only on a JVP.

-9437 Unable to get SQLException information.

An internal error during access to the SQLException object.

Contact Informix Technical support.

-9438 Feature or method () is not supported for opaque
types.

The feature or method () is currently not supported for opaque
types. This feature or method might be implemented in a future release.

-9439 Feature or method () is not supported for distinct
types.

The feature or method () is currently not supported for distinct
types. This feature or method might be implemented in a future release.

-9440 Server JDBC failed to open cursor.

An attempt to open a cursor fetch by server JDBC failed.

-9441 Cannot create UDR Thread (%s).

The Embedded Java Virtual Machine failed to create a thread for processing
the UDR call. Contact Informix Technical Support.

-9442 Error loading Java UDR class (%s).

Make the following checks to ensure that the class that contains the Java
UDR is loaded:

o The directory that contains the class must be specified
in the CLASSPATH environment variable.

o The jar that contains the class must be correctly installed
with the built-in procedure install_jar().

o The jar file has been created correctly, with the proper
path to the class.

-9443 Cannot find class for type (%s).

For a user-defined-type mapping, make sure that the class is present in
the CLASSPATH environment variable or in a jar that is installed in the
database. Mappings for other data types come from the Java Developer’s
Kit (JDK) or Informix-enhanced classes. For these data types, check the
installation of your JDK and Informix database server.

-9444 Initialization of Java virtual processor failed: (%s).

Make sure that the configuration file for the database server has the
correct settings for J/Foundation. Also make sure that your JDK release
is properly installed. For Solaris systems that require /usr/lib links
to the JDK shared libraries, make sure that the links are properly installed
with the setjdk utility program.

-9445 Java language manager operation failed (%s).

Contact Informix Technical Support.

-9446 Execution of Java user-defined routine failed: (%s).

Correct the implementation of the Java UDR based on the problem that the
paranthetical message indicates.

-9447 Cannot perform Java-to-SQL type mapping for type (%s).

The user-defined-type mapping is invalid. Refer to the J/Foundation documentation
for allowed type mappings.

-9448 Unequal number of parameters in SQL and Java signature (%s).

Make sure that the SQL and Java signatures that the CREATE FUNCTION or
CREATE PROCEDURE statement has provided specify the same number of parameters.

-9449 Java UDR method not found or is not static: (%s).

Make sure that the specified Java method exists as a public static method
in the specified class. Also make sure that the signature of the defined
method matches the signature that the CREATE FUNCTION or CREATE PROCEDURE
statement has specified.

-9450 Java method invocation failed (%s).

Make sure that the Java method is accessible. That is, it must either
be public or be in the same package as the caller.

-9451 Error instantiating user-defined-type mapping class (%s).

Make sure that the Java class specified has the proper access permissions
for instantiation. Check the instantiation rules for the Java language.

-9452 Error processing null argument. Use Java object form of type
(%s).

You have probably used a Java primitive type as an argument to a Java
method that maps to the specified Java UDR. A null value for a primative-type
argument is invalid. Replace the Java primitive type with a Java Object
type. For example, replace «int» with «java.lang.Integer».

-9453 The JDBC command doesn’t return any rows.

The database server did not return any rows as a result of the JDBC command.

-9454 Error getting length for user-defined type ().

An error occurred during an attempt to retrieve the length for the specified
user-defined type.

Make sure that the length of the user-defined type is correctly stored
in the sysxtdtypes system catalog table.

-9455 Cannot access large object.

Make sure that the default sbspace, which the SBSPACENAME configuration
parameter indicates, has been created. The onspaces utility creates sbspaces.

-9456 Cannot get large object length.

The database server cannot obtain the length of a large object using a
JDBC connection. Make sure the connection from which the large object
comes is still valid.

-9457 Cannot convert large object handle to byte[].

CThe database server cannot obtain the content of a large object using
a JDBC connection. Make sure the connection from which the large object
comes is still valid.

-9458 Cannot start large object search.

The database server cannot perform seek on a large object using a JDBC
connection. Make sure the connection from which the large object comes
is still valid.

-9459 Large object Error: (%s).

The database server cannot access a large object using a JDBC connection.
Check the problem information contained in the error message. Also make
sure the connection from which the large object comes is still valid.

-9460 Wrong connection for large object.

Contact Informix Technical Support.

-9461 Cannot read (%s) bytes off binary stream.

The large object does not contain as many bytes of data as are requested
to be read from it.

Make sure the binary stream used to create a large object has a sufficient
amount of data.

-9462 Driver being shutdown.

The Java virtual processor (VP) cannot create new JDBC connections while
it is in the process of being shut down. Terminate your JDBC session and
restart it after the VP is completely removed from the database server.

-9463 Cannot load the specified IfxProtocol class: (%s).

Make sure that the JDBC URL, which you specify in the DriverManager.getconnection()
method, has a valid protocol class name for the ProtocolClass parameter.

-9464 Must specify user=name in the URL.

Make sure the JDBC URL contains the username.

-9465 Must specify dbname in the URL.

Make sure the JDBC URL contains the database name.

-9466 Must specify password=value in the URL.

Make sure the JDBC URL contains the password for the desired user session.

-9467 Driver shutdown, no new connection.

The Java virtual processor (VP) was shut down in the middle of creating
a JDBC connection. Terminate your JDBC session and restart it after the
VP is completely removed from the database server.

-9468 Cannot make UDR connection in non-UDR thread.

A UDR connection can be made only from the thread executing a Java UDR.
Make sure the connection is not created on a child thread forked by the
UDR.

-9469 UDR connection failed.

Contact Informix Technical Support.

-9470 Cannot establish JDBC connection for embedding application.

Contact Informix Technical Support.

-9471 Database server connection failed.

Contact Informix Technical Support.

-9472 Error creating Solano connection: (%s).

Contact Informix Technical Support.

-9473 Connection to database failed.

Make sure that the database exists and has all required access permissions.

-9474 Could not connect to database (%s).

Contact Informix Technical Support.

-9475 Connection is closed.

Make sure the connection used to issue the JDBC operation is still open.

-9476 Database server JDBC error: (%s).

Contact Informix Technical Support.

-9477 Cannot obtain UDR environment.

UDR environment objects are available only to Java UDR threads. Make sure
the getUDREnv() method is not invoked by a child thread forked by the
Java UDR.

-9478 VM too low on memory: (%s) bytes left.

There is insufficient memory to start a new instance of a Java UDR. Reduce
the number of session connected to the Java virtual processor (VP) or
terminate the resource-intensive Java computations.

-9479 Unknown throwable: (%s).

The Java UDR throws an unknown exception. Check the Java VP log for details.

-9480 Unknown iterator code.

Contact Informix Technical Support.

-9481 Internal Error: (%s).

Contact Informix Technical Support.

-9482 Deployment descriptor file (%s) is not in the right format.

Please refer to the J/Foundation documentation for the correct format
of a deployment descriptor file.

-9483 Unrecognized type: (%s).

Make sure that the specified data type is registered in the current database.

-9484 Invalid jar name.

If the jar name specifies the database and/or username, make sure that
these names match the database and user in the environment in which the
jar is being installed.

-9485 Attempt to install an existing jar: (%s).

Remove the existing jar before you install a new one that has the same
name.

-9486 Invalid URL.

Check the syntax of the URL for the jar.

-9487 Attempt to remove non-existing jar: (%s).

You cannot drop a jar that has not first been installed.

-9488 Invalid jar removal. All dependent UDRs not dropped.

You cannot drop a jar if dependent UDRs still reference any of the classes
within the jar. Drop all user-defined functions and/or user-defined procedures
that reference a class in the jar within their external names.

-9489 Invalid jar replacement. Class (%s) from old jar is still referenced.

There is at least one class in the old jar that is not replaced in the
new jar and is referenced by a Java UDR. You must either drop the Java
UDR before you attempt to replace the jar, or add the class to the new
jar.

-9490 No manifest file found for jar (%s).

All deployment descriptions that install_jar() needs to process must be
listed in the manifest file for the jar. Make sure that the manifest file
is created correctly for the jav. If no deployment descriptors are to
be processed, pass a value of ‘0’ as the last parameter to the install_jar()
built-in procedure.

-9492 Unsupported feature: (%s).

This version of the database server cannot implement the specified feature.

-9493 Unsupported command from deployment descriptor: (%s).

Check the J/Foundation documentation for the commands that the database
server supports within deployment descriptor files.

-9494 Java not supported in this database server or Error loading
Java language module.

The version of your database server might not be Java enabled.

If you are using a Java-enabled database server and the Java language
module $INFORMIX/extend/krakatoa/lmjava.so does not exist in your distribution,
please contact Informix Technical Support.

-9500 A subscript is out of bounds.

This statement takes a substring of a character variable. The substring
values (that is, two numbers in square brackets) are incorrect. The first
is less than zero or greater than the length of the column, or the second
is less than the first. Correct the form specification and recompile.

-9503 The table tablename could not be opened.

Check that the table name is correctly spelled. If so, the table tablename
might not exist in the database (it might have been dropped or renamed);
or if it exists, your account might not have SELECT access to it. Alternatively,
if you are using the INFORMIX-SE database server, you might have exceeded
the limit on open files, which can limit the number of tables that you
can name in a SELECT statement. In this case, you might have to revise
the SELECT section of the report to use more SELECT statements, each of
which names fewer tables. Products after Version 4.0 do not issue this
message.

-9503 PRINT FILE filename could not be opened.

The file that is shown could not be opened for output. Look for operating-system
error messages that might give more information. Possible causes include
a full disk or lack of the correct permissions for the file or directory.

-9504 The argument number is out of bounds for the ascii function.
Arguments must be between 0 and 255, inclusive.

The input to the ASCII function must be a number between 0 and 255. Examine
the use of this function in the report specification. If the improper
value number came from a command-line parameter, you might consider testing
it with an IF statement.

-9602 Illegal attempt to convert a collection type into another type.

You attempted to store a collection of one type in a collection of a different
type, or you attempted to move a collection into a host variable that
is not a collection. In ESQL/C, a collection host variable declared to
contain elements of a specific type can only hold collections of that
same type. If you require that a collection host variable hold collections
of different types, declare it without the specific type information.

-9605 Scroll cursor can’t select collection columns.

You attempted to select a collection column while you were using a scroll
cursor. You must rewrite the query without the scroll cursor or eliminate
any collection columns from the select list.

-9606 Collections are not allowed in the GROUP BY clause.

Move the reference to a collection column in the GROUP BY list.

-9607 Collections are not allowed in the DISTINCT clause.

Either remove the DISTINCT clause or remove the collection column(s) from
the SELECT clause.

-9608 Collections are not allowed in the ORDER BY clause.

Remove the reference to a collection column in the GROUP BY list.

-9609 Collections are not allowed in the expression.

You attempted to select a collection from within a subquery, perform an
aggregation on a collection, or use a collection in some other expression
that is not allowed. Please check your manual to determine the places
where you can use collections in expressions.

-9610 Illegal attempt to use collection host variable.

You attempted to calculate the cardinality of a data type that is not
a collection, incorrectly used a collection host variable by using an
untyped collection without assigning a value to it, or used incorrect
syntax to create a collection derived table.

Please check your manual to determine the correct usage of collections
in this context.

-9611 ROM clause cannot have a join when one of the tables is a collection.

You cannot join a table derived from a collection with a table. Remove
TABLE(:coll_host_var) from the FROM clause of your query.

-9612 No WHERE, GROUP BY, HAVING or ORDERBY clause is allowed in
a collection.

Remove any WHERE, GROUP BY, HAVING, or ORDER BY clause from your statement
or remove TABLE(:coll_host_var) from the FROM clause of your statement.

-9613 Select list cannot have expression when selecting from a collection.

Only ‘*’ or column names are allowed in the select list for derived tables
that use collections. Check your SELECT list.

-9614 Derived column list is not allowed for this statement.

UPDATE statements do not require derived-column lists. Columns are listed
in parentheses following a table name. Also, in any SQL statement, a derived-column
list can be associated only with collection-derived tables and not others.

Remove the derived-column list from the UPDATE statement.

-9615 AT keyword is not allowed when inserting in a base table.

Use the AT keyword only when you are inserting into a LIST.

-9616 Position value should be specified through a constant or a
variable.

The position argument for an AT keyword of a LIST must be a simple integer
literal, column, or host variable. Simplify the expression to one of these.

-9617 Source for the SET clause should be a simple expression.

Collection derived tables can only be updated using constants, host variables,
or table columns.

-9618 Aliasing is not allowed for a collection of ROW types.

For collection-derived tables, you need not provide a column name alias.
Remove the column name alias.

-9620 Cannot select the collection variable (collection_variable_name).

This error occurs within SPL when you attempt to place an SPL collection
variable in the select list. You must remove the collection variable from
the select list.

-9623 Internal length must be greater than zero and smaller than
32,768.

When you use the CREATE OPAQUE TYPE statement to define a fixed-length
opaque type, the value that you specify for the internal length modifier
must be greater than 0 bytes and smaller than 32,768 bytes.

Use a valid value to define the type.

-9624 Maximum length must be greater than zero and smaller than 32,768.

When you use the CREATE OPAQUE TYPE statement to define a variable- length
opaque type, the value that you specify for the maximum length modifier
must be greater than 0 bytes and smaller than 32,768 bytes. Redefine the
type with a valid value.

-9625 Alignment must be set to 1, 2, 4 or 8.

When you use the CREATE OPAQUE TYPE statement to define an opaque type,
the value that you specify for the alignment modifier must be 1, 2, 4,
or 8. Redefine the type with a valid value.

-9626 Maximum length should be set for variable-sized opaque types
only.

When you use the CREATE OPAQUE TYPE statement to define a fixed-length
opaque type, you should not specify the maximum length modifier.

-9627 Passedbyvalue can only be set if length is 1, 2, or 4.

When you use the CREATE OPAQUE TYPE statement to define a fixed-length
opaque type that is passed by value, its internal length must be 1, 2,
or 4.

-9628 Type (type_name) not found.

The specified type_name could not be found. Before you can use an opaque
type, you must create it with the CREATE OPAQUE TYPE statement.

-9629 Not owner of type.

USAGE permission is required for the use of opaque types. Use the GRANT
USAGE ON TYPE statement to grant permission to use a type.

-9630 Cannot drop type (type_name): still in use.

An opaque type cannot be dropped while it is in use. Be sure that no casts,
functions, or distinct type definitions are based on the type.

-9631 Opaque type (type_name) already exists in database.

Opaque types must be unique within the schema (ANSI mode) or database.
Be sure that the type does not already exist.

-9632 Value does not match the type of column (column_name).

Automatic conversions between data types require implicit casts. Use the
CREATE IMPLICIT CAST statement to define a cast between the source and
destination types.

-9633 ALTER TABLE cannot modify column (column_name) type. Need a
cast from the current type to the new type.

Conversions of column types require a cast. Use the CREATE CAST statement
to define a cast from the source to destination type.

-9634 No cast from .

The specified cast does not exist or the cast function does not exist.
Use the CREATE CAST statement to define the cast or to create the cast
function.

-9635 Illegal attempt to convert an opaque type into another type.

You should not encounter this error. If this error recurs, please note
all circumstances and contact Informix Technical Support.

-9636 Opaque type exceeded its maximum length.

Opaque types are defined with a maximum length that cannot be exceeded.
Verify that user-defined routines that return the type do not attempt
to exceed the size limit.

-9637 Cast function (function_name) does not exist.

The function associated with a cast must exist when the cast is executed.
Use the CREATE FUNCTION statement to create the function.

-9638 Grant/Revoke under on opaque types disallowed.

The UNDER clause in the GRANT/REVOKE statements applies to row types only.
It cannot be used with opaque types.

-9639 Grant/Revoke under on distinct of non-row types disallowed.

The UNDER clause in the GRANT/REVOKE statements applies to row types (and
distinct of row-types) only. You cannot use the UNDER clause with non-row
types or distinct of non-row types.

-9640 Cannot drop type (type_name): distinct type defined over the
type.

Before you can drop a type, you must first drop all distinct types based
on the type.

-9641 Drop type can only drop opaque type or distinct type.

The DROP TYPE statement applies to opaque and distinct types only. Use
DROP ROW TYPE statement to drop row types.

-9642 A quoted string exceeds 32,768 bytes.

The system imposes a limit of 32,768 bytes on quoted strings. You cannot
exceed this limit.

-9643 Type (type_name) is not hashable.

Hashing is used in GROUPBY statements and as a mechanism to eliminate
duplicate values in DISTINCT and UNION clauses. You cannot use types declared
as non-hashable in these statements.

-9645 Cannot execute cast from user-defined type to character format.

When you use the debugging feature of SPL to print the content of a user-defined,
data-type variable, this error occurs if the database server cannot find
or execute the cast function to convert from the given user-defined data
type to character or long format.

-9646 Result of a Boolean expression is not of Boolean type.

When a conditional expression, such as a WHERE clause or an IF clause,
is evaluated in this statement, the result is not a Boolean value. All
conditional expressions must evaluate to a Boolean value, so check that
all conditional expressions evaluate correctly. If the expression does
not, use appropriate casts to make it evaluate properly.

-9651 Blobs are not allowed in the «Union» clause. You selected a
TEXT or BYTE column in a UNION query. The SELECT clause of each query
cannot include any TEXT or BYTE columns. These columns are not allowed
in a UNION clause because TEXT and BYTE columns cannot be tested for
equality. A UNION ALL clause, however, can include TEXT and BYTE columns
(in a standalone SELECT statement or in a UNION view).

-9656 Cannot create a distinct type of type (serial8).

The statement specified creation of a distinct data type as SERIAL8. A
SERIAL8 data type cannot be a distinct type.

Remove DISTINCT from the statement or specify a different data type.

-9700 Routine (routine_name) ambiguous — more than one routine resolves
to given signature.

This problem happens when an argument (or its source type or parent type)
has implicit casts to the parameters of two or more routines.

For example, assume two routines exist called routine_name(paramtype1)
and routine_name(paramtype2), and routine_name is invoked with routine_name(argtype).
Also, implicit casts exist from argtype to paramtype1 and argtype to
paramtype2. In this case, this error is raised.

The error is also raised, if instead of argtype, argtype_dad which
is in the source type hierarchy of argtype (if argtype is a distinct
type) or in the super type hierarchy of argtype (if argtype is a row
type) has casts to paramtype1 and paramtype2.

You will need to redefine the implicit casting scheme, such that only
one casts exists from argtype to either paramtype1 or paramtype2 or
remove one of the routines.

-9701 An EXTERNAL PROCEDURE cannot have RETURN clause.

Do not specify the returns/returning clause to a PROCEDURE that is an
external procedure. You can specify this clause for a SPL procedure, but
specifying a RETURN clause to a procedure is highly discouraged.

-9702 When a FUNCTION is created, the RETURN clause must be specified.

All functions must return a value. Specify a return clause or use a CREATE
PROCEDURE statement.

-9703 Modifiers VARIANT and NOT VARIANT cannot be used in the same
routine.

Either VARIANT or NOT VARIANT can be specified either as a modifier or
as a clause after the LANGUAGE clause. If both are specified, they must
both be specified as VARIANT or as NOT VARIANT. Either make them consistent
or remove one of the references as a modifier or as a clause after the
LANGUAGE clause.

-9704 For SPL routine, parameter must be named.

The name of the parameter in a CREATE FUNCTION or CREATE PROCEDURE statement
is optional only for external routines. Specify the parameter name.

-9705 The modifier (modifier-name) is not valid for SPL routines.

This message displays a modifier that you cannot specify for an SPL routine.
The following modifiers are invalid for SPL routines: CLASS, CLIENT, HANDLESNULLS,
INTERNAL, ITERATOR, PARALLELIZABLE, PERCALL_COST, SELFUNC, and STACK.
Other modifiers might also be invalid.

-9706 END PROCEDURE/FUNCTION does not match with CREATE PROCEDURE/FUNCTION.

If you are using a CREATE PROCEDURE statement, the end clause must contain
END PROCEDURE. If you are using a CREATE FUNCTION statement, the end clause
must contain END FUNCTION. Do not mix and match PROCEDURE and FUNCTION
keywords.

-9707 Modifiers COMMUTATOR and NEGATOR are not allowed in procedure.

Because procedures do not return values, these modifiers are not allowed
in a CREATE PROCEDURE statement. Use a CREATE FUNCTION statement or do
not specify these modifiers.

-9708 SELFUNC modifier can only be used in EXTERNAL FUNCTION.

Do not specify SELFUNC modifier to a SPL routine or an external procedure.

-9709 More than one distinct type of the parameter type have cast
to argument type.

This situation occurs if more than one distinct type of the source type
of the parameter has casts from the argument type. For example, assume
the routine routine_name(paramtype) exists. Both paramdist1 and paramdist2
are distinct types of paramdist1. The routine is invoked as routine_name(argtype).
Casts also exist from argtype to paramdist1 and argtype to paramdist2.
Because distinct types inherit all the routines defined on the source
types, paramdist2 and paramdist1 inherit the routine routine_name. Thus
the routine resolution cannot resolve the routine, and this error results.

-9710 Overloading of built-in functions is not allowed.

Built-in functions such as dbinfo and trim should not be overloaded. Change
the name of the routine that you are creating so that it does not conflict
with the names already used in the database server.

-9711 Late bound functions cannot have different number of return
values

Due to late binding, the function that is executed could change in the
middle of query execution. This error is called if the number of values
returned by the new function is not the same as the previous function.
All functions with the same name defined over a type hierarchy should
have the same number of return values.

-9712 Late bound functions cannot have different return types.

Due to late binding, the function that is executed could change in the
middle of query execution. This error results if the type of values returned
by the new function is not the same as the previous function. All functions
with the same name defined over a type hierarchy should have the same
type of return values.

-9713 Identifier too long — maximum allowed length for this identifier
is 128.

The specific name specified in the CREATE PROCEDURE or CREATE FUNCTION
statement is longer than 128 bytes. Shorten the name.

-9714 OUT parameter can only be the last parameter of a routine.

When an OUT parameter is specified in the CREATE FUNCTION statement, it
must be the last parameter and the only parameter with the OUT option.

-9715 A procedure cannot have any OUT parameters.

A CREATE PROCEDURE function cannot have OUT parameters. Only a CREATE
FUNCTION statement can have OUT parameters in the parameter. The parameter
specified as OUT should be the only and last parameter.

-9716 This routine routine_name has the same specific name as another
routine.

A specific name is unique within a name space. In a non-ANSI database,
it is unique within a database. In an ANSI database, it is unique within
the user’s schema. Change the name to a unique name.

-9717 Owner name specified in the routine name and specific name
must be the same.

If the specific name is qualified with the owner name, the owner name
specified should be the same as the owner name used in qualifying the
routine being created. If the routine name is not qualified, it should
be the same as the current user.

-9718 Owner name specified in the specific name must be the current
user.

If the specific name is qualified with the owner name, the owner name
specified should be the same as the owner name used in qualifying the
routine being created. If the routine name is not qualified, it should
be the same as the current user.

-9719 A routine and an aggregate cannot share the same name.

An attempt to create a routine (UDR) with the same name as an aggregate
is illegal. Also, creating an aggregate with the same name as a routine
is also invalid. A routine name may not also match a built-in aggregate
name, like sum(), count(), or max().

Change the aggregate or the routine name that is causing the failure.

-9720 Module name or language name specified is not valid.

The module name or language name that you specified in the function call
is not valid. Replace the module name or language name and execute the
function again.

-9740 Execution of remote routine (routine_name) with non-built-in
types is not allowed.

When you invoke a remote routine, you cannot pass newly created types
such as user-defined data types, distinct types, row types, and boolean.

-9740 Execution of remote routine (routine_name) with non-built-in
types is not allowed.

When you invoke a remote routine, you cannot pass newly created data types
such as user-defined types, distinct types, row types, Boolean, and so
on. Cast the data types being passed to the remote routine to one of the
built-in data types. If casting the data types is not possible, re-create
the routine on a local database.

-9741 Internal error — attempt to pass arguments in C style while
requiring argument casts.

An internal programming error occurred. If this error recurs, please note
all circumstances and contact Informix Technical Support.

-9743 Internal error — unable to determine all routines in statement.

A SQL statement that passed host variables into routines still had unknown
routine argument types after host variable binding. Rerun the query without
passing host variables to any routine or rerun the query and pass the
correct number of host variables.

-9744 BUILTIN routine routine_name definition does not match internal
operator.

This entry from SYSPROCEDURES with language BUILTIN does not match the
internal format of the operator that is being overloaded. If this error
recurs, please note all circumstances and contact Informix Technical Support.

-9748 Cannot convert argument types when passing arguments by name,
routine routine_name.

At least one argument requires a cast before it can be passed into the
routine. Casts are not supported when passing arguments by name. Use explicit
casts from the argument to the parameter type.

-9750 Routine routine_name determined during PREPARE and BIND/EXECUTE
return different types.

If host variables are used in the statement that is being prepared, in
the absence of argument types information, the server tries to resolve
to a routine that is most likely the routine to which the user intended
to resolve. However, during BIND/EXECUTE time, in the presence of argument
type information, the routine specified in the statement might resolve
to a different routine. In that case, if the return types of the routine
that the server originally selected are different than the one later resolved,
this error is raised.

-9754 No usage privilege.

The user does not have usage privilege on create functions or the user
does not have grant/revoke usage privilege on a language. This error is
returned when the user does not have the privilege to create a user-defined
routine.

Ask user informix or a user with GRANT option privilege on the language
to grant usage permission to you.

-9780 Statement-local variable cannot be an argument to a function
called from outside the WHERE clause.

A user-defined routine (UDR) invocation that accepts a Statement Local
Variable as an argument can be performed only in a WHERE clause of a Data
Manipulation Language statement. This error results if this rule is violated.
Move the UDR invocation inside a WHERE clause.

-9781 SLV cannot be an argument to a function invoked explicitly
by EXECUTE or CALL.

A routine that has an OUT parameter can only be invoked as part of a data-management
language query (only in the WHERE clause). Do not invoke such a routine
with a CALL or EXECUTE statement.

-9784 SLV (my_slv) has no producer-UDR; or is outside the scope of
the producer-UDR.

A statement-local variable (SLV) is out of scope. For example, given a
union of two SELECT statements, one SELECT statement declares an SLV and
the other SELECT statement references the SLV.

-9790 Language Manager initialization failed.

This error can occur in the following scenarios:

1. The database server could not load internal C language
or initialize data areas during server initialization.

The following error message appears in the log:

Language Manager initialization failed.

2. An internal Language Manager error occurs during UDR loading
or execution, causing a failure such as memory allocation or locking.

The following error messages appears in the log:

ERROR: Loading Routine routine_name procid = process_ID_number
file: sqlmload.c

ERROR: Unloading Routine routine_name procid = process_ID_number
file: sqlmunld.c

ERROR: Routine execution problem — procname= procedure_name
procid = process_ID_number file: sqlmexec.c

-9791 User-defined routine execution failed.

This error occurs under the following circumstances:

1. A language problem occurred or an internal server error
exists. In this case, the following log message is entered in the log:

ERROR: Routine execution failed — procname = routine_name
procid = process_ID_number

2. The executing routine has caused one of the following
exceptions:

mem — memory fault

ill — illegal instruction

fpt — floating point or divide by zero

sys — system call problem

«xxx» — SAPI layer exception explanation

The following error message appears in the log:

ERROR: Routine execution trap — procname = procedure_name
procid = process_ID_number reason: error_string

-9792 User-defined-routine language initialization failed.

A module failed to load, or an internal language error occurred. The following
error message appears in the log:

ERROR: Initializing Language language_name Module module_name

-9793 User Defined Routine () module load failed.

The following error message appears in the log:

ERROR: Loading Module

A bad external name, missing file, or wrong permissions might cause this
error. Log message contains the UNIX error number
encountered and the actual module name being used. For the C language
on UNIX, the following log message might appear:

: C Language Module can’t load

In the log message, is the current UNIX error number,
is the module name from the catalog, and is the dlerror()
explanation.

-9794 User-defined-routine load failed.

The following error message appears in the log:

Loading Routine routine_name procid = process_ID_number

The routine routine_name is not found in the module, possibly because
of a bad external name or the wrong module. The log message log_message_number
is probably -1, and error_message_string is the database routine name
as opposed to the symbol that was not found.

-9795 User-defined-routine unload failed.

The following error message appears in the log:

ERROR: Unloading Routine error_name procid = process_ID_number

-9796 User-defined routine module unload failed.

An internal system error occurred from a call to dlclose for Solaris C
modules. The following error message appears in the log:

ERROR: Unloading Module error_string

-9797 User-defined routine language shutdown failed.

The language did not shut down correctly. Probably an internal system
error occurred. The following error message appears in the log:

ERROR: error_string Language Shutdown

-9798 User-defined routine language lookup failed.

Language information is not defined in the system. Either the routine
definition is wrong, or something happened to the data dictionary. The
following error message appears in the log:

ERROR: Language error_string — lookup failed

-9799 User-defined routine virtual-processor context-switch failed.

Could not switch to or back from the needed VP during load, unload, or
execution. VP class could be wrong in the routine definition. The following
error messages appear in the log:

ERROR: Routine execution VP switch failed — new VP error_string

ERROR: Routine execution VP switch failed — old VP id = VP_ID

-9800 Table table_name is typed.

You cannot add a type to a table that is already typed. Drop the table
type and try adding the type again.

-9801 Cannot alter table table_name to add type. Incompatible.

The column names and the column types of the table do not match the field
names and the field types of the type. Change them to statements.

-9802 Cannot alter typed table table_name. The only ALTER TABLE statements
accepted for a typed table are statements to drop the table type, add
a REF column, or drop a REF column. If any other ALTER TABLE statements
are needed, first drop the table type.

-9803 Cannot create typed view . Incompatible.

Either you attempted to use a BYTE or TEXT field in a typed view or the
column names and the column types of the view do not match the field names
and the field types of the type.

Remove any BYTE or TEXT fields or change the field types to match
those of the underlying columns.

-9804 Cannot generate ROWIDS on typed table table_name.

Cannot have a ROWIDS column in a typed table. Either untype the table
with ALTER TABLE or do not create a ROWID column.

-9805 SERIAL/SERIAL8 data types allowed only as table column types.

You cannot have SERIAL/SERIAL8 data types in CREATE ROW statements. They
are allowed only as table-column types.

-9807 Temporary table temptable_name cannot be created with a type.

You cannot create temporary tables with types; typed tables are only for
permanent tables. Instead, try using the following example to create a
temporary table:

CREATE TEMP TABLE tablename OF TYPE subty;

-9810 Smart-large-object error.

An error occurred during the processing of a smart large object.

For more information, check the accompanying, detailed smart-large-object
error code.

-9811 Invalid smart-large-object fd ().

An attempt was made to access a smart large object using an invalid LO
file descriptor. Check that the LO file descriptor you supplied is correct
and that the smart large object is still open.

-9812 Cannot do implicit begin work.

Internal error. Contact Informix Technical Support.

-9813 Cannot do implicit commit work.

Internal error. Contact Informix Technical Support.

-9814 Invalid default sbspace name (sbspace_name)).

The database server is trying to create a smart large object in the default
sbspace, but the sbspace does not exist. Check that the SBSPACENAME parameter
in the ONCONFIG file is the name of an existing sbspace. If necessary,
the database server administrator can create an sbspace using the onspaces
command.

-9815 Invalid filename specification (file_spec).

You are calling a function that creates an operating-system file, but
the filename specification supplied is not valid.

-9816 Btree index not allowed on blob/clob columns.

You have attempted to use a B-tree index on a column that contains a smart
large object. You must change your program to eliminate the index.

-9818 Error detected in sql smart-large-object hash table.

Internal error. Contact Informix Technical Support.

-9819 Column (column_name) incorrect type for storage in sbspace.

You have attempted to store a column in an sbspace that is not an appropriate
type. Only CLOB and BLOB columns can be stored in sbspaces. Columns of
types TEXT and BYTE may not be stored in an sbspace.

-9820 SQL SBLOB error: no such sbspace.

The most likely problem is that an operation specifies an sbspace by name
(for example, in the PUT clause of a CREATE TABLE statement), but that
sbspace has not been created.

You can run the onstat utility with the -d option to see the names
of sbspaces created. Ask the database server administrator about creating
a new sbspace.

-9831 Could not find opclass id opclass_ID while resolving compare
routine for index.

The operator class for one or more key parts of the index no longer exists
in the database. The index is no longer valid and must be dropped.

-9832 Could not find routine routine_name while resolving compare
routine.

Either the comparison routine for one or more key parts of the index no
longer exists in the database, or the comparison routine required to perform
a sort cannot be found. You need to re-create the compare routine(s).
If an index is involved, the index needs to be dropped.

-9833 Could not find extended type type_ID for index.

The type of one or more key parts of the index no longer exists in the
database. The index is no longer valid and must be dropped.

-9835 Could not find routine ID routine_ID for functional key.

The routine identified by the routine ID for one or more functional key
parts no longer exists in the database. The index is no longer valid and
must be dropped.

-9836 Could not initialize sequence for routine .

A user-defined routine is missing a statcollect() or compare() function.

Add the missing function to the user-defined routine.

-9838 Cannot create operator class for a primary access method.

You cannot create an operator class for a primary access method. For a
list of available secondary access methods, you can perform the following
query.

SELECT * FROM INFORMIX.SYSAMS WHERE AM_TYPE = ‘S’;

-9839 Cannot mix generic and specific operators in an operator class.

If you specify the full function signature for one of the strategy functions
in the operator class, you need to specify the function signatures for
all of the strategy functions.

-9840 Invalid number of strategies or support function for btree.

You must specify no more than five operators (operators implementing lessthan,
lessthanorequal, equal, greaterthanorequal, and greaterthan) and exactly
one support function (the comparison function) in CREATE OPCLASS for the
btree access method.

-9841 Operator class for key part not specified or invalid.

The operator class specified in one or more of the key parts is invalid.
Probable causes for this error include:

* You might be using an operator class for a different access method

than the one with which you are creating the index.

* If the access method that you use does not have a default

operator class associated with it, you must explicitly specify
the operator class for each key part.

* Data type of the key column and that of the operator class do not

match, where strategy function signatures are specified for
the operator class.

-9842 Specification of ASC/DESC only applicable to btree.

You cannot specify ASC or DESC in the key part if you are using an access
method other than btree.

-9843 Invalid number of arguments for functional key.

A functional key part can only take between 1 and 16 arguments.

-9844 Invalid function function_name used in a functional key.

The function used in a CREATE INDEX statement cannot be used as a functional
key part. Make sure that the function you use is not a variant function.

-9845 Access method access_method_name does not exist in database.

The access method used in a CREATE INDEX or CREATE OPCLASS statement does
not exist. Before you can use an access method, you must create it with
a CREATE ACCESS_METHOD statement. For a list of available access methods,
see informix.sysams.

-9846 Operator class operator_class_name does not exist in database.

The operator class used in a CREATE INDEX statement does not exist. Before
you can use an operator class, you must create it with a CREATE OPCLASS
statement. See informix.sysopclasses for a list of available operator
classes.

-9848 Functional key part cannot use a variant function function_name.

The function used in a CREATE INDEX statement for a functional key part
must be a nonvariant function (that is, it must be created with the NOT
VARIANT modifier in the CREATE FUNCTION statement).

-9849 Compare routine routine_name cannot be in SPL

The compare routine used for a generic B-tree cannot be written in SPL.
You should rewrite the compare routine in C.

-9851 Access method access_method_name already exists in database.

The access method that you are creating with a CREATE ACCESS_METHOD statement
already exists. You must use a new name.

-9852 Improper purpose purpose_name used for access method.

A purpose used with the CREATE ACCESS_METHOD or ALTER ACCESS_METHOD statement
is improper. It might be spelled incorrectly. Otherwise, it is used incorrectly
in combination with the other purposes, or it is a purpose that is not
appropriate for the type of access method. For example, an access method
cannot be created with AM_DELETE if AM_ROWIDS is not used, and AM_GETBYID
cannot be used for a secondary access method. Correct the spelling of
the purpose or change one or more of the purposes until the combination
of purposes is valid.

-9853 Duplicate purpose purpose_name used for access method.

A purpose used with the CREATE ACCESS_METHOD or ALTER ACCESS_METHOD statement
has been used more than once. Change the purposes used until no duplicates
exist.

-9854 Required purpose purpose_name not used for access method.

A required purpose has not been used with the CREATE ACCESS_METHOD statement,
or a required or default purpose has been removed with the ALTER ACCESS_METHOD
statement. For example, AM_SCANCOST has a default value if not used with
the CREATE ACCESS_METHOD statement, but it cannot be dropped with the
ALTER ACCESS_METHOD statement. Change the purposes used until the required
purposes are included or preserved.

-9855 Improper value used for purpose purpose_name for access method.

A purpose has been used with an improper value in a CREATE ACCESS_METHOD
or ALTER ACCESS_METHOD statement. For example, an integer cannot be used
for AM_SPTYPE. Use the proper type of value for the purpose.

-9856 Index not created because the table’s access method doesn’t
support rowids.

A CREATE INDEX statement was used on a table whose access method does
not support rowids. Because rows from the table are fetched by the index
by rowid, the index cannot be created.

-9857 Unknown space space_name used for external table/index.

A CREATE TABLE or CREATE INDEX statement has an IN clause that references
an extspace that does not exist. Use an existing extspace.

-9858 Unsupported option option_name used for an external table/index.

An ALTER TABLE or ALTER INDEX statement has an option that is not supported
by the access method. Remove the option.

-9859 Index not created because its access method does not support
unique keys.

A CREATE UNIQUE INDEX statement or CREATE DISTINCT INDEX statement used
an access method that does not support unique keys.

Remove UNIQUE from the CREATE INDEX statement or remove DISTINCT from
the CREATE INDEX statement.

-9860 Improper access method used.

A CREATE TABLE statement used a secondary access method or a CREATE INDEX
statement used a primary access method. Use a primary access method with
CREATE TABLE and a secondary access method with CREATE INDEX.

-9861 Improper access method parameter information used for an external
table/index.

A CREATE TABLE or CREATE INDEX statement is using an access method with
parameter information that is improper. For example, the identifier might
be longer than 18 bytes, or the value might be longer than 236 bytes.
Correct the parameter information.

-9862 Could not initialize or execute access method routine.

An access method routine failed to execute properly. The RSAM error code
gives more information.

-9863 Opclass opclass_name already exists in database.

The opclass being created with a CREATE OPCLASS statement already exists.
Use a new name.

-9864 Improper strategy definition.

A CREATE OPCLASS statement is using a strategy definition that is improper.
For example, a strategy might take at most three arguments. Correct the
strategy definition.

-9865 Improper support definition.

A CREATE OPCLASS statement is using a support definition that is improper.
For example, a support name can be at most 18 bytes. Correct the support
definition.

-9867 Access method access_method_name not found.

A DROP ACCESS_METHOD or ALTER ACCESS_METHOD statement uses an access method
that does not exist. Use the correct access method.

-9868 Not owner of access method.

The person executing a DROP ACCESS_METHOD or ALTER ACCESS_METHOD statement
is not the owner of the access method or does not have DBA privileges.

-9869 Cannot drop access method access_method_name: still in use.

A DROP ACCESS_METHOD statement cannot be used if any tables or indexes
are defined using that access method. Drop the tables or indexes first
and then drop the access method.

-9870 Cannot alter access method access_method_name: still in use.

An ALTER ACCESS_METHOD statement cannot be used while anyone is using
the access method. Wait until no one is using the access method and try
again.

-9871 Alter fragment attach/detach for external table not supported.

The ALTER FRAGMENT statement cannot be used for a table or index that
uses an access method. Either create a new table with the desired properties
and copy the data from the old table to the new table or create a new
index with the desired properties.

-9872 Cannot drop operator class operator_class_name: still in use.

The operator class is being used in an existing index and therefore cannot
be dropped. Drop all the indexes that use the operator class before you
drop it.

-9873 Not owner of operator class.

You cannot drop an operator class unless you are the owner or the database
administrator. Contact the database administrator or the owner of the
operator class.

-9875 Bad internal structure for collection data: unknown flag value.

The structure of collection or row data might be corrupted.

Report this situation to Informix Technical Support.

-9878 An implied insert column does not accept NULLs.

The statement attempted an implied insert of a null value into a column
that does not accept null values.

Rewrite the INSERT statement to provide a value for any column that
do not accept null values, or redefine the column to accept nulls.

-9880 Storage space is incompatible with the access method.

The operation was unsuccessful because the specified storage space cannot
be used by the access method referenced in the SQL statement.

Change the statement to specify a storage space that is of a type
that the access method supports. To find out whether the access method
supports an extspace (external storage) or sbspace (smart-large-object
storage), query the sysams system catalog table for access method name
that you specify in the CREATE TABLE statement USING clause. Refer to
the am_sptype value for that access method. The following values indicate
the type of storage space that you can use with the access method:

  • ‘X’ indicates that the access method supports only extspaces *
    ‘S’ indicates that the access method supports only sbspaces * ‘A’
    indicates that the access method supports both extspaces and sbspaces

Important: You cannot use a dbspace (Dynamic Server table space storage)
with a user-defined access method. A user-defined access method is one.

For more information about the type of storage spaces that the access
method supports, refer to the access-method user guide.

-9882 Access method AM_SPTYPE purpose value is invalid.

The operation failed because the access method specified in the SQL statement
has an invalid value, , for its AM_SPTYPE purpose value.

Because processing for the CREATE PRIMARY ACCESS_METHOD and CREATE
SECONDARY ACCESS_METHOD SQL statements validates the AM_SPTYPE value,
this error should only occur if the row associated with the access method
in the sysams system catalog table was explicitly updated after the
access method was created.

Ask the access-method provider or database administrator to change
the AM_SPTYPE value for the access method with the ALTER ACCESS_METHOD
statement.

-9883 Could not determine the type of storage space .

An error occurred while the database server was looking up the type of
the specified storage space (dbspace, sbspace, or extspace). Usually this
problem is related to accessing the sysmaster:sysextnames table. For more
information, refer to the accompanying ISAM error code.

-9884 No default storage space exists for the access method.

None of the storage-space types supported by the access method has a default
storage space.

To correct this error, you can take either of the following actions:

  • In your SQL statement, explicitly specify the storage space(s)
    for the access method to use.
  • If the access method supports sbspaces, ask your database server
    administrator to create an sbspace with the onspaces utiltiy and set
    the ONCONFIG parameter SBSPACENAME to that sbspace name.
  • If the access method supports only extspaces, the access method
    software can create a default external storage space, such as a disk
    file.

To find out whether the access method supports an extspace (external storage)
or sbspace (smart-large-object storage), query the sysams system catalog
table for access method name that you specify in the CREATE TABLE statement
USING clause. Refer to the am_sptype value for that access method. The
following values indicate the type of storage space that you can use with
the access method:

  • ‘X’ indicates that the access method supports only extspaces *
    ‘S’ indicates that the access method supports only sbspaces * ‘A’
    indicates that the access method supports both extspaces and sbspaces

For information about how to determine if a storage space is of a type
that an access method supports or how to determine the storage space type
that an access method supports, refer to the access-method user guide.

-9904 Invalid extended type text.

Could not determine the internal SQL data type. If this error recurs,
please note all circumstances and contact Informix Technical Support.

-9905 No extended type information for domain.

Could not find the attribute information for a domain or type. If this
error recurs, please note all circumstances and contact Informix Technical
Support.

-9906 Cannot modify column data type to collection type.

You cannot use an ALTER statement to change a column type to a collection
type.

-9907 Not allowed to modify collection type column.

You cannot use an ALTER statement to change a column type from a collection
type to another type.

-9908 Columns of a row type cannot contain fields of type TEXT, BYTE,
SERIAL or SERIAL8.

You created a table that has a column with a named row of type TEXT, BYTE,
SERIAL, or SERIAL8. The following example should fail:

create row type rtype (col1 byte); create table tab1 (c1
rtype);

Re-create the table with a different type of named row.

-9910 Byte, Text, Serial or Serial8 data types in collection type
not allowed.

The fields of a row within a collection and the elements of a collection
cannot be of type TEXT, BYTE, SERIAL, or SERIAL8.

-9911 Defaults on collection type column not allowed.

Default values are not supported in the definition a column of a collection
type. Remove the default value clause.

-9912 Constraints on collection type column not allowed.

Constraint expressions are not supported in the definition of a column
of a collection type. Remove the constraint clause.

-9919 Cast already exists in database.

Casts must be unique with regard to their source and destination types,
regardless of cast class. Use the DROP CAST statement to remove an existing
cast.

-9920 Cannot create cast between the same type or between two built-in
types.

No cast is needed between identical types. Casts between built-in types
are handled by internal system casts and cannot be overloaded.

-9922 Cast does not exist in database.

The requested cast does not exist. Use the CREATE CAST statement to define
the cast.

-9923 Cannot create cast between incompatible types.

An attempt was made to define a no-function cast between types with differing
representations. Redefine the cast to use a function or redefine the types
so that they share the same representation.

-9926 The «order by,» «distinct,» index, union and primary/foreign/
unique key constraints are not allowed on row-type or collection columns.

Do not create or alter a table which makes columns of collection or row
types into primary key, foreign key, or unique constraints. Do not create
an index or union that involves collection or row type columns. However,
you can create a union that involves collection or row type columns if
you use the UNION ALL statement instead of the UNION statement.

-9931 Byte and Text datatypes in row and collection types not allowed.

You requested the construction of an object that contains a BYTE or TEXT
data type. This is only supported for column types of a table or CREATE
ROW TYPE statement. All other references to a named row type, unnamed
row type, or collection type cannot contain BYTE or TEXT data types.

-9943 Old style collection format. Collection data must be created.

Collection data from a 9.10 or earlier 9.x database server was not unloaded
and reloaded for migration to a version 9.11 or 9.12 database server.

If a table column has a collection data type, you must unload the
collection data before migrating to release 9.11 or 9.12, from a 9.10
or earlier release, and then reload the data after the migration.

-9944 Cannot seek in non-scrollable collection.

You have opened a collection with the flag MI_COLL_NOSCROLL and later
attempted to seek within the collection. Open the collection without this
flag or do not attempt to seek within the collection.

-9945 Cannot modify a read only collection

You have opened a collection with the flag MI_COLL_READONLY and then attempted
to modify the collection. Do not open the collection with this flag or
do not modify the collection.

-9946 Cannot open subquery collection twice.

Subquery collections opened with the flags MI_COLL_READONLY and MI_COLL_NOSCROLL
cannot be opened again.

-9950 Field referencing is not possible for non-row type expressions.

Only expressions of the form column.field are only meaningful for objects
of type row.

Remove the .field part of your expression.

-9960 Combination of table/index fragmentation not allowed.

If a table is fragmented by round-robin and its subtable specifies its
own fragmentation scheme, you cannot create an index on the supertable
without a fragmentation clause. Either create an index with an explicit
fragmentation clause or let the subtable inherit its fragmentation scheme
from the supertable.

-9965 The maximum number of allowable sbspaces maximum_number has
been exceeded.

The maximum number of 64 sbspaces per table has been exceeded, so your
operation failed. For more information on the number of sbspaces associated
with the table, run the following queries:

SELECT tabid FROM informix.systables

WHERE tabname = `’;

SELECT count(*) FROM informix.syscolattribs

WHERE tabid = ;

-9967 Cannot find data type data_type_name.

The specified data type does not exist in the database. Check sysxtdtypes
to make sure that the data type exists before you use it.

-9969 Corrupted collection type information.

The type information for a collection is not consistent.

If this error recurs, please note all circumstances and contact Informix
Technical Support.

-9970 Cannot determine host variable type during bind.

An ambiguous bind message was received. The database server could not
infer the variable type from the context of the query. The host variable
type must be explicitly defined.

-9971 Cannot determine the return types of a query or return types
are inconsistent.

The database server cannot determine the data type for one or more of
the values that the query is to return.

Check the specification of the data type for each return value, correct
any errors in the specification, and retry the query.

-9973 Row buffer for collection of fixed size elements not of correct
size.

You attempted to insert a new or update an existing collection element
with a value that is not the same size as was declared in the collection
definition. This error occurs only when a collection contains fixed-length
elements.

Check to make certain that the value you are inserting matches the
collection declaration.

-9974 Cannot delete element from a ROW type.

You have attempted to delete a row from a host variable of type ROW. Because
a ROW host variable has only the single row as its contents, deletion
is not allowed. If you want to construct a row with NULL values, use an
UPDATE statement and set each field to a NULL value. Otherwise, remove
the request to execute the SQL DELETE for the row host variable in your
embedded language program.

-9975 Type of a table must be unique within a table hierarchy.

You cannot have siblings of the same type under the same parent. For example,
assume that you create the following row types:

create row type r1 (a int);

create row type r2 under r1;

Now you attempt to create a supertable and two subtables. The third
statement in the following set generates an error:

create table supertab of type r1;

create table subtab1 of type r2 under r1;

create table subtab2 of type r2 under r1;

The third CREATE TABLE statement generates an error because subtab1
and subtab2 would be siblings under supertab. Informix does not support
this table hierarchy in this release. The current version of the database
server restricts the table hierarchy to match the type hierarchy, and
no type can appear more than once within a single hierarchy of tables.

-9976 Manipulation of NULL collection disallowed.

You attempted an action on a NULL collection. Examine your embedded language
program to determine why you are attempting to operate on a NULL collection.

-9977 Internal Error: hash value out of sync.

This message indicates an error internal to the support of the Informix
database server for collection data types. If this error recurs, please
note all the circumstances and contact Informix Technical Support.

-9978 Insertion of NULLs into a collection disallowed.

The statement attempted to insert one or more NULL values into a collection.
The elements of a collection must always be non-null. The fields of a
row within a collection can be NULL, but the elements of the collection
cannot be NULL. This error can occur, however, if a collection subquery
specifies an ITEM select and one of the rows contains a NULL value.

The following example is valid for a collection defined with elements
of type row. However, insert into table(:coll_hv2) values (NULL) is
not valid for any collection.

INSERT INTO TABLE(:coll_hv) VALUES (row(NULL, NULL));

Do not attempt to insert NULL values as elements of a collection.

-9979 Updating of a collection element to NULL is disallowed.

The elements of a collection cannot be NULL. Do not attempt to update
collection elements to NULL values. (See the corrective action for error
message -9978.)

-9980 LIST expected when inserting AT position.

You can use a positional insert statement only with collection of type
LIST. Remove the AT clause from your insert statement.

-9981 Delete disallowed on collection with other cursor references.

You attempted to delete a collection that is being referenced by more
than one cursor. Review your program, determine the relevant cursor to
keep, and remove the other cursor that is acting on the collection.

-9982 Update disallowed on collection with other cursor references.

You attempted to update a collection that is being referenced by more
than one cursor. Review your program, determine the relevant cursor to
keep, and remove the other cursor that is acting on the collection.

-9983 Deleting a nonexisting element.

You positioned your cursor to an element of a collection that no longer
exists and then requested that the element be updated or deleted. This
problem occurs if you use a FETCH statement to position your cursor past
the last record and then attempt an update or delete. An error results
because you are not pointing to a valid record. Make sure your embedded
language program is checking the SQLCODE value returned after a FETCH
to determine that there are no more rows.

-9984 Cannot free a collection with other cursor references.

You attempted to free a collection reference while a cursor is still opened
on the collection. Review your embedded language program to determine
why you are prematurely freeing the collection reference before you close
the cursor.

-9985 Internal Error: invalid change log.

This message indicates an error internal to the support of Informix database
server for collection data types. If this error recurs, please note all
the circumstances and contact Informix Technical Support.

-9986 Internal Error: corrupted collection.

This message indicates an error internal to the support of Informix database
server for collection data types. If this error recurs, please note all
the circumstances and contact Informix Technical Support.

-9987 Cursor already registered.

You are attempting to open a cursor that is already open. Review your
embedded language program to determine why you are re-opening the cursor
before you close it.

-9988 Cannot flatten a collection with other cursor references.

You attempted to store a collection host variable into a table column,
or row field, but cursors are still open on the collection. You must close
the other cursors before you attempt this operation.

-9989 Incorrect number of fields in the ROW type.

You attempted to store a row with incorrect field types into a collection.
Verify that the row fields match those of the collection.

-9990 Cannot drop named row type row_type_name: still in use.

The row type that you are attempting to drop is being referenced by another
type of table. First drop the type of table that refers to this type.

-9991 Named row type row_type_name already exists in database.

You are trying to create a named row type whose name is already used.
Use another name or drop the row type to reuse its name.

-9992 Named row type row_type_name not found.

The named row type specified does not exist in the database. Verify its
existence by selecting from sysxtdtypes.

-9993 Not owner of named row type.

You cannot drop the named row type unless you are the owner or have the
DBA privilege. Verify the owner of the named row type by selecting from
sysxtdtypes.

-9994 Cannot use ONLY(TABLE(str)) over collections.

The ONLY syntax is not legal over TABLE expressions over collections.
Use ONLY on supertables; that is, parents in an inheritance chain.

-9995 Table table_name is not typed.

Cannot alter a table to drop its type if the table is not typed. Make
sure you are referring to the correct table.

-11000 Success.

This Informix CLI error code is the same as SQLSTATE value 00000. The
following functions can return this error code: all Informix CLI functions.

The function completed successfully.

-11001 General warning.

This Informix CLI error code is the same as SQLSTATE value 01000. The
following functions can return this error code: all Informix CLI functions
except SQLAllocEnv() and SQLError().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
For more information, call SQLError().

-11001 General warning.

This CLI warning can be returned with any CLI function except SQLAllocEnv
and SQLError when a nonspecific warning occurs. Additional text is appended
to describe the specified warning in more detail. For detailed information
associated with the appended text, check the INFORMIX-CLI Programmer’s
Manual.

-11002 Disconnect error.

This Informix CLI error code is the same as SQLSTATE value 01002. The
following function can return this error code: SQLDisconnect().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
For more information, call SQLError().

-11003 Data truncated.

This Informix CLI error code is the same as SQLSTATE value 01004. The
following functions can return this error code: SQLBrowseConnect(), SQLColAttributes(),
SQLDataSources(), SQLDescribeCol(), SQLDriverConnect(), SQLDrivers(),
SQLExecDirect(), SQLExecute(), SQLExtendedFetch(), SQLFetch(), SQLGetCursorName(),
SQLGetData(), SQLGetInfo(), SQLNativeSql(), and SQLPutData().

For SQLExecDirect(), SQLExecute(), or SQLPutData(), one of the following
problems occurred for the SQL statement, the prepared statement, or
the data sent: (1) The statement or data contained a binary or character
parameter or literal that exceeded the maximum length of the associated
column, or (2) The function truncated the fractional part of a numeric
parameter or literal in the statement or data, or (3) The function truncated
part of a date or time parameter or literal in the statement or data.
Change the data or the parameters and literals in the statement so that
they do not exceed the maximum length of the associated column, and
set the data types for the parameters and literals so that they can
accommodate the data.

For SQLExtendedFetch() or SQLFetch(), the function returned SQL_SUCCESS_WITH_INFO,
which means that the function completed successfully, and that a nonfatal
error occurred. To handle the nonfatal error, the function truncated
the data that was returned for one or more columns. If the value was
a string, the function right-truncated it. If the value was numeric,
the function truncated the fractional part of the number. Set the data
types for the return data so that they can accommodate the data. For
more information, call SQLError().

For SQLGetData(), the function returned SQL_SUCCESS_WITH_INFO, which
means that the function completed successfully, and that a nonfatal
error occurred. The nonfatal error occurred because the function could
not retrieve all the data for the specified column in one call. The
pcbValue argument contains the length of the data that was left in the
column before the current call to SQLGetData(). Call SQLGetData() repeatedly
until all data is retrieved.

For all other functions that can return this error code, the function
returned SQL_SUCCESS_WITH_INFO, which means that the function completed
successfully, and that a nonfatal error occurred. The nonfatal error
occurred because the return buffer was not large enough to return all
the requested information. The function truncated the return data and
set the total number of bytes returned to the length of the untruncated
return data. Reallocate the return buffer so that it can accommodate
the return data. For more information, call SQLError().

-11003 Data truncated.

This CLI message is issued when the data that a CLI function returns exceeds
the defined buffer size. Increase the size of the allocated buffer.

-11004 Privilege not revoked.

This Informix CLI error code is the same as SQLSTATE value 01006. The
following functions can return this error code: SQLExecDirect() and SQLExecute().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
The nonfatal error occurred because the SQL statement or prepared statement
contained a REVOKE statement, and the user does not have the access
privilege to make this change. For more information, call SQLError().

-11005 Invalid connection string attribute.

This Informix CLI error code is the same as SQLSTATE value 01S00. The
following functions can return this error code: SQLBrowseConnect() and
SQLDriverConnect().

For SQLBrowseConnect(), the function returned SQL_NEED_DATA, which
means that either the connection string contains an invalid attribute
keyword, or the connection string contains an attribute keyword that
does not apply to the current connection level. Set each attribute keyword
in the connection string to a valid value that applies to the current
connection level.

For SQLDriverConnect(), the function returned SQL_SUCCESS_WITH_INFO,
which means that the function completed successfully, and that a nonfatal
error occurred. The nonfatal error occurred because the connection string
contains an invalid attribute keyword, but Informix CLI connected to
the data source anyway. For more information, call SQLError().

-11005 Invalid connection string attribute.

A connection string attribute is specified that is unsupported for SQLBrowseConnect
and SQLDriverConnect. Check the list of valid attributes.

-11006 Error in row.

This Informix CLI error code is the same as SQLSTATE value 01S01. The
following function can return this error code: SQLExtendedFetch().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
The nonfatal error occurred while the function was fetching one or more
rows. For more information, call SQLError().

-11006 Error in row.

An error occurred while fetching one or more rows with SQLExtendedFetch.
Check the rgfRowStatus array.

-11007 Option value changed.

This Informix CLI error code is the same as SQLSTATE value 01S02. The
following functions can return this error code: SQLSetConnectOption()
and SQLSetStmtOption().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
The nonfatal error occurred because Informix CLI does not support the
vParam value for the option. The function substituted a similar value.
For more information, call SQLError().

-11007 Option value changed.

The driver did not support the specified value of the VParam argument
with the SQLSetConnectOption or SQLSetStatementOption. The driver substitutes
a similar value and returns SQL_SUCCESS_WITH_INFO. To determine the new
value of VParam, use SQLGetConnectionOption or SQLGetStatement.

-11008 No rows updated or deleted.

This Informix CLI error code is the same as SQLSTATE value 01S03. The
following functions can return this error code: SQLExecDirect() and SQLExecute().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
The nonfatal error occurred because the SQL statement or prepared statement
contained a positioned UPDATE or DELETE statement, but the function
did not update or delete any rows. For more information, call SQLError().

-11009 More than one row updated or deleted.

This Informix CLI error code is the same as SQLSTATE value 01S04. The
following functions can return this error code: SQLExecDirect() and SQLExecute().

The function returned SQL_SUCCESS_WITH_INFO, which means that the
function completed successfully, and that a nonfatal error occurred.
The nonfatal error occurred because the SQL statement or prepared statement
contained a positioned UPDATE or DELETE statement, and the function
updated or deleted more than one row. For more information, call SQLError().

-11010 Cancel treated as FreeStmt/Close.

This Informix CLI error code is the same as SQLSTATE value 01S05. The
following function can return this error code: SQLCancel().

You called SQLCancel() with an open statement handle. Call SQLFreeStmt()
instead of SQLCancel(). The database server does not issue this error
message when you use a driver manager.

-11010 Cancel treated as FreeStmt/Close.

This message is issued whenever SQLCancel is used with an open statement
handle. This warning is not returned when using the driver manager. Instead
of using SQLCancel, close the statement handle with the SQLFree statement.

-11011 Attempt to fetch before the result returned the first rowset.

This Informix ODBC error code is the same as SQLSTATE value 01S06. The
following functions can return this error code: SQLExtendedFetch and SQLFetchScroll.

For SQLExtendedFetch(), the requested rowset overlapped the start
of the result set when the current position was beyond the first row,
and either FetchOrientation was SQL_PRIOR or FetchOrientation was SQL_RELATIVE
with a negative FetchOffset whose absolute value was less than or equal
to the current SQL_ROWSET_SIZE. (Function returns SQL_SUCCESS_WITH_INFO.)

For SQLFetchScroll, the requested rowset overlapped the start of the
result set when FetchOrientation was SQL_FETCH_PRIOR, the current position
was beyond the first row, and the number of the current row is less
than or equal to the rowset size.

The requested rowset overlapped the start of the result set when FetchOrientation
was SQL_FETCH_PRIOR, the current position was beyond the end of the
result set, and the rowset size was greater than the result set size.

The requested rowset overlapped the start of the result set when FetchOrientation
was SQL_FETCH_RELATIVE, FetchOffset was negative, and the absolute value
of FetchOffset was less than or equal to the rowset size.

The requested rowset overlapped the start of the result set when FetchOrientation
was SQL_FETCH_ABSOLUTE, FetchOffset was negative, and the absolute value
of FetchOffset was greater than the result set size but less than or
equal to the rowset size. (Function returns SQL_SUCCESS_WITH_INFO.)

-11012 Wrong number of parameters.

This Informix CLI error code is the same as SQLSTATE value 07001. The
following functions can return this error code: SQLExecDirect() and SQLExecute().

The number of parameters that you used SQLBindParameter() to bind
is less than the number of parameters in the SQL statement or prepared
statement. Bind the same number of parameters as the number of parameters
in the statement.

-11012 Wrong number of parameters.

The number of bound parameters is less than the number of parameters in
the specified SQL statement in the argument szSqlStr with SQLExecDirect
or less than the number of parameters in the prepared statement that is
associated with the hstmt and SQLExecute. Confirm that you are passing
an appropriate number of arguments.

-11013 Restricted data type attribute violation.

This Informix CLI error code is the same as SQLSTATE value 07006. The
following functions can return this error code: SQLBindParameter(), SQLExtendedFetch(),
SQLFetch(), and SQLGetData().

For SQLBindParameter(), it is not possible to convert the result data
(the data value associated with the Informix CLI C data type (fCType)
argument) to the data type of the parameter (the data value associated
with the Informix CLI SQL data type (fSqlType) argument). Set the Informix
CLI C and SQL data types to values that make it possible to convert
the result data to the data type of the parameter.

For SQLExtendedFetch() or SQLFetch(), it is not possible to convert
one of the result data values to the specified data type (the Informix
CLI C data type (fCType) argument for SQLBindCol()). For each data value
that the function fetches, set the associated Informix CLI C data type
argument for SQLBindCol() to a value that makes it possible to convert
the data value to the specified data type.

For SQLGetData(), it is not possible to convert the data value to
the specified data type (the Informix CLI C data type (fCType) argument).
Set Informix CLI C data type to a value that makes it possible to convert
the data value to the data type.

-11013 Restricted data type attribute violation.

A data value could not be converted to the C data type specified by the
fCType argument of the SQLBindCol function. This error occurs when you
try to retrieve data types that are unsupported by the CLI driver or the
value in the fCType argument is not recognized. Confirm that the data
type you are requesting is supported by the database server and confirm
that the value you are supplying for the fCType argument is valid.

-11014 Invalid use of default parameter.

This Informix CLI error code is the same as SQLSTATE value 07S01. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
and SQLPutData().

You used SQL_DEFAULT_PARAM and the corresponding parameter does not
have a default value. Use SQL_DEFAULT_PARAM only if the corresponding
parameter has a default value.

-11015 Unable to connect to data source.

This Informix CLI error code is the same as SQLSTATE value 08001. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect().

The function could not establish a connection with the data source.
Make sure that the data source is available.

-11015 Unable to connect to data source.

The driver cannot establish a connection with the data source. Check that
the database server name, user ID, and password are correctly specified
and that the database server is available.

-11016 Connection in use.

This Informix CLI error code is the same as SQLSTATE value 08002. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
SQLDriverConnect(), and SQLSetConnectOption().

For SQLSetConnectOption(), you set the fOption value to SQL_ODBC_CURSORS,
but Informix CLI is already connected to the data source. Use an fOption
value other than SQL_ODBC_CURSORS.

For the other functions, you already established and opened a connection
for the connection handle. Either use the connection that is already
established or disconnect and reconnect.

-11016 Connection in use.

The specified connection with a data source is in conflict with another
user’s exclusive use of the database. Establish a connection when the
data source is available.

-11017 Connection not open.

This Informix CLI error code is the same as SQLSTATE value 08003. The
following functions can return this error code: SQLAllocStmt(), SQLDisconnect(),
SQLGetConnectOption(), SQLGetInfo(), SQLNativeSql(), SQLSetConnectOption(),
and SQLTransact().

For SQLGetConnectOption(), SQLSetConnectOption(), or SQLGetInfo(),
you used an fOption value or fInfoType value that requires an open connection,
but the hdbc connection was not open. Successfully complete and open
a connection before you call this function for this particular fOption
value or fInfoType value.

For the other functions, the hdbc connection was not open. Successfully
complete and open a connection before you call this function.

-11017 Connection not open.

The connection that the hdbc argument specifies is not open. Validate
that the SQLConnect, SQLDriverConnect, or SQLBrowseConnect calls succeeded.

-11018 Data source rejected establishment of connection.

The data source rejected the establishment of the connection for implementation-defined
reasons. Confirm that the password and user ID are correct.

-11020 Communication link failure.

This Informix CLI error code is the same as SQLSTATE value 08S01. The
following functions can return this error code: SQLBrowseConnect(), SQLColumnPrivileges(),
SQLColumns(), SQLConnect(), SQLDriverConnect(), SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), SQLForeignKeys(), SQLFreeConnect(), SQLGetData(),
SQLGetTypeInfo(), SQLParamData(), SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(),
SQLProcedures(), SQLPutData(), SQLSetConnectOption(), SQLSetStmtOption(),
SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(), and SQLTables().

The communication link between Informix CLI and the data source failed
before the function completed successfully. If this error occurs consistently,
contact Informix Technical Support.

-11021 Insert value list does not match column list.

This Informix CLI error code is the same as SQLSTATE value 21S01. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained an INSERT statement, but the number of
values to insert was not the same as the number of columns into which
to insert values. Change the INSERT statement so that the number of
values to insert is the same as the number of columns into which to
insert values.

-11022 Degree of derived table does not match column list.

This Informix CLI error code is the same as SQLSTATE value 21S02. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a CREATE VIEW statement, but the number
of column names for the view was not the same as the number of columns
that the SELECT statement returns. Change the CREATE VIEW statement
so that the number of column names is the same as the number of columns.

-11023 String data right truncation.

This Informix CLI error code is the same as SQLSTATE value 22001. The
following function can return this error code: SQLPutData().

Before you called SQLPutData(), SQLGetInfo() returned «Y» when you
called it with an information type of SQL_NEED_LONG_DATA_LEN. You then
sent more data than the amount that the pcbValue argument specified
in SQLBindParameter(). Send only the amount of data that pcbValue specifies.

-11024 Indicator variable required but not supplied.

This Informix CLI error code is the same as SQLSTATE value 22002. The
following functions can return this error code: SQLExtendedFetch(), SQLFetch(),
and SQLGetData().

For SQLExtendedFetch() or SQLFetch(), the value for a bound column
was null but the INDICATOR_PTR field in the corresponding record was
a null pointer. For each column that can have a null value, set the
corresponding pointer to a non-null value.

For SQLGetData(), the column value was null but StrLen_or_Ind was
a null pointer. For each column that can have a null value, set the
corresponding StrLen_or_Ind value to a non-null value.

-11025 Numeric value out of range.

This Informix CLI error code is the same as SQLSTATE value 22003. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), SQLGetData(), SQLGetInfo(), and SQLPutData().

For SQLExecDirect() and SQLExecute(), the SQL statement contained
a numeric parameter or literal that was too large. Therefore, the function
truncated the whole (as opposed to fractional) part of the number before
it assigned the number to the associated column. Change the SQL statement
so that each numeric value fits into the associated column.

For SQLExtendedFetch(), SQLFetch(), or SQLGetData(), the result set
contains one or more columns that have values that are too large for
the associated return parameters. If the function returned the value
as a numeric value or string, the function truncated the whole (as opposed
to fractional) part of the number. If the function returned the value
as a binary value, the number lost binary significance. Change the return
parameters so that each one can accommodate the associated value in
the result set.

For SQLGetInfo(), the requested information would lose numeric or
binary significance if the function returned it. Set the storage for
the requested information to a size that can accommodate the information.

For SQLPutData(), you called the function more than once for a parameter
or column and one of the following problems occurred: (1) You called
the function to send data to a column that does not have a character,
binary, or data-source-specific data type, or (2) The function truncated
the whole (as opposed to fractional) part of a number to assign it to
the associated column. Call SQLPutData() only for a column that has
a character, binary, or data-source-specific data type, and change the
data that you are sending so that it does not exceed the size of the
column.

-11025 Numeric value out of range.

Returning the numeric value (as a numeric or string) for one or more columns
causes the whole (as opposed to fractional) number to truncate. For the
range of values for the numeric parameter or column type that you tried
to write or fetch, check the INFORMIX-CLI Programmer’s Manual.

-11026 Error in assignment.

This Informix CLI error code is the same as SQLSTATE value 22005. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), SQLGetData(), SQLPrepare(), and SQLPutData().

For SQLExecDirect(), SQLExecute(), or SQLPrepare(), the SQL statement
or prepared statement contained a parameter or literal that was incompatible
with the data type of the associated column. Change the statement so
that each parameter and literal is compatible with the data type of
the column.

For SQLExtendedFetch() or SQLFetch(), the function fetched a zero-length
string that you had bound to a numeric data type, so the function converted
the string to a zero. Change the data type of the parameter that is
bound to the string.

For SQLGetData() or SQLPutData(), the data type for the column is
incompatible with the data type for the parameter. Change the data type
for the parameter so that it is compatible with the data type for the
column.

-11026 Error in assignment.

The argument szSqlStr contains an SQL statement that contains a parameter
or literal, and the value is incompatible with the data type of the associated
table column. Check the list of compatible data types associated with
the table column.

-11027 Datetime field overflow.

This Informix CLI error code is the same as SQLSTATE value 22008. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), SQLGetData(), and SQLPutData().

For SQLExecDirect() or SQLExecute(), the function converted an SQL_C_DATE
or SQL_C_TIMESTAMP value to an SQL_CHAR value, and the resulting value
was not a valid date or time stamp. Change the SQL_C_DATE or SQL_C_TIMESTAMP
value so that it will be a valid date or time stamp after the function
converts it to an SQL_CHAR value.

For SQLExtendedFetch() or SQLFetch(), the SQL statement or prepared
statement contained an invalid date or time stamp. Change the statement
so that the date and time stamp values are valid.

For SQLGetData() or SQLPutData(), the data that the function sent
or received was an invalid date or time stamp. For SQLPutData(), change
the data so that it is a valid date or time stamp.

-11027 Datetime field overflow.

The argument szSqlStr contains an SQL statement that contains a date,
time, time-stamp parameter, or literal that is invalid. For the valid
values of the szSqlStr argument, check the INFORMIX-CLI Programmer’s Manual.

-11028 Division by zero.

This Informix CLI error code is the same as SQLSTATE value 22012. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), and SQLGetData().

You either sent an arithmetic expression in an SQL statement or prepared
statement to a database server, or a database server returned an arithmetic
expression. This expression caused division by zero. Change the arithmetic
expression so that it does not cause division by zero.

-11029 String data, length mismatch.

This Informix CLI error code is the same as SQLSTATE value 22026. The
following function can return this error code: SQLParamData().

Before you called SQLParamData(), SQLGetInfo() returned «Y» when you
called it with an information type of SQL_NEED_LONG_DATA_LEN. You then
sent less data than the amount that the pcbValue argument specified
in SQLBindParameter(). Send the amount of data that pcbValue specifies.

-11030 Integrity constraint violation.

This Informix CLI error code is the same as SQLSTATE value 23000. The
following functions can return this error code: SQLExecDirect() and SQLExecute().

One of the following problems occurred for one of the parameters in
the SQL statement or prepared statement: (1) The parameter was null
for a column that is defined as not null, or (2) The parameter provided
a duplicate value for a column that can contain only unique values,
or (3) The parameter violated some other integrity constraint. Change
the parameter so that it does not violate any integrity constraints.

-11031 Invalid cursor state.

This Informix CLI error code is the same as SQLSTATE value 24000. The
following functions can return this error code: SQLColAttributes(), SQLColumnPrivileges(),
SQLColumns(), SQLDescribeCol(), SQLExecDirect(), SQLExecute(), SQLExtendedFetch(),
SQLFetch(), SQLForeignKeys(), SQLGetData(), SQLGetStmtOption(), SQLGetTypeInfo(),
SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(), SQLProcedures(),
SQLSetCursorName(), SQLSetStmtOption(), SQLSpecialColumns(), SQLStatistics(),
SQLTablePrivileges(), and SQLTables().

One of the following problems occurred:

(1) The statement that is associated with the statement handle does
not return a result set because there are no columns to describe. Change
the statement so that it returns a result set. This problem can occur
for SQLColAttributes() and SQLDescribeCol().

(2) You already opened a cursor for the statement handle. Use the
cursor that you already opened. This problem can occur for SQLColumnPrivileges(),
SQLColumns(), SQLExecDirect(), SQLExecute(), SQLForeignKeys(), SQLGetTypeInfo(),
SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(), SQLProcedures(),
SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(), and SQLTables().

(3) The cursor was positioned before the start of the result set or
after the end of the result set. Make sure that the cursor is positioned
within the result set. This problem can occur for SQLExecDirect(), SQLExecute(),
SQLGetData(), and SQLGetStmtOption().

(4) The statement handle was in an executed state, but no result set
was associated with the statement handle. Make sure that a result set
is associated with the statement handle. This problem can occur for
SQLExtendedFetch(), SQLFetch(), and SQLGetData().

(5) You opened a cursor for the statement handle, but you did not
call SQLFetch() or SQLExtendedFetch(). Call SQLFetch() or SQLExtendedFetch()
after you open a cursor for a statement handle. This problem can occur
for SQLGetData().

(6) The fOption value was SQL_ROW_NUMBER, but the cursor was not open.
Open a cursor before you use an fOption value of SQL_ROW_NUMBER. This
problem can occur for SQLGetStmtOption().

(7) The statement handle was already in an executed state or a cursor-positioned
state. Do not call this function for a statement handle that has already
been executed or is already in a cursor-positioned state. This problem
can occur for SQLSetCursorName().

(8) The fOption value was SQL_CONCURRENCY, SQL_SIMULATE_CURSOR, or
SQL_CURSOR_TYPE, and the cursor was open. Do not use an open cursor
for one of these fOption values. This problem can occur for SQLSetStmtOption().

-11031 Invalid cursor state.

A cursor is open on hstmt, and SQLFetch or SQLExtendedFetch was not called.
Check the sequence of operations. For example, confirm that you are not
trying to execute an EXECUTE statement before the PREPARE statement finishes.

-11032 Invalid transaction state.

This Informix CLI error code is the same as SQLSTATE value 25000. The
following function can return this error code: SQLDisconnect().

A transaction is in process on the hdbc connection. The transaction
remains active. Wait for the transaction to finish before you call SQLDisconnect()
for the hdbc connection.

-11033 Invalid authorization specification.

This Informix CLI error code is the same as SQLSTATE value 28000. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect().

The user ID or password was invalid. Use valid values for the user
ID and password.

-11033 Invalid authorization specification.

Either the user identifier or the authorization string or both, as specified
in the browse request connection string, violated restrictions that the
data source defined. Confirm that you logged in correctly and that your
password is current.

-11034 Invalid cursor name.

This Informix CLI error code is the same as SQLSTATE value 34000. The
following functions can return this error code: SQLExecDirect(), SQLPrepare(),
and SQLSetCursorName().

For SQLExecDirect() or SQLPrepare(), the SQL statement contained a
positioned UPDATE or DELETE, but the cursor that the statement references
was not open. Make sure that the cursor for an UPDATE or DELETE statement
is open.

For SQLSetCursorName(), the cursor name was invalid. For example,
it might exceed the maximum allowable length. Make sure that the cursor
name is valid.

-11034 Invalid cursor name.

The argument szSqlStr contains a positioned update or delete statement,
and the cursor referenced by the statement being executed is not open.
Check that the cursor is executed.

-11035 Syntax error or access violation.

This Informix CLI error code is the same as SQLSTATE value 37000. The
following functions can return this error code: SQLExecDirect(), SQLNativeSql(),
and SQLPrepare().

The SQL statement could not be prepared or contained a syntax error.
Make sure that the SQL statement can be prepared and does not contain
any syntax errors.

-11035 Syntax error or access violation.

The argument szSqlStr contains an SQL statement that is not preparable
or contains a syntax error. Check the syntax of the SQL statement and
make any necessary corrections.

-11036 Duplicate cursor name.

This Informix CLI error code is the same as SQLSTATE value 3C000. The
following function can return this error code: SQLSetCursorName().

The cursor name already exists. To set a new cursor name, make sure
that the new name does not exist already.

-11036 Duplicate cursor name.

The cursor name specified already exists. Specify a unique cursor name.

-11037 Serialization failure.

This Informix CLI error code is the same as SQLSTATE value 40001. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), and SQLFetch().

Informix CLI terminated the transaction to prevent deadlock. If you
consistently receive this error, a problem exists with the logic in
your application.

-11038 Syntax error or access violation.

This Informix CLI error code is the same as SQLSTATE value 42000. The
following functions can return this error code: SQLExecDirect(), SQLExecute(),
and SQLPrepare().

The user does not have the privileges necessary to execute the SQL
statement, or the SQL statement was not prepared, or the statement contained
a syntax error. If you consistently receive this error, a problem exists
with the logic in your application.

-11038 Syntax error or access violation.

A syntax error occurred in the SQL statement. Check the syntax of the
SQL statement.

-11039 Operation aborted.

This Informix CLI error code is the same as SQLSTATE value 70100. The
following function can return this error code: SQLCancel().

The data source did not process the cancel request because the database
server does not support this function.

-11040 Driver does not support this function.

This Informix CLI error code is the same as SQLSTATE value IM001. The
following functions can return this error code: all ODBC functions except
SQLAllocEnv(), SQLDataSources(), SQLDrivers(), SQLError(), SQLFreeConnect(),
SQLFreeEnv(), and SQLGetFunctions().

Informix CLI does not support this function. Do not call this function.

-11040 Driver does not support this function.

The driver associated with hdbc does not support the function. Confirm
that the function you request is valid for the driver.

-11041 Data source name not found and no default driver specified.

This Informix CLI error code is the same as SQLSTATE value IM002. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect().

One of the following problems occurred: (1) The function cannot find
the initialization file, or (2) The data source that the szConnStrn
string specified does not exist in the initialization file, and a default
driver specification does not exist. Make sure that the initialization
file exists. Add the specified data source to the initialization file
or create a default driver specification.

-11041 Data source name not found and no default driver specified.

The data source name specified in the connection request is not found
in the ODBC.INI file or registry, and there is no default driver specification.
Confirm that the data source name is registered. You can also provide
a default data source.

-11042 Specified driver could not be loaded.

This Informix CLI error code is the same as SQLSTATE value IM003. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect().

The function either could not find or could not load the driver that
is specified for the data source in the initialization file. Make sure
that the specified driver exists.

-11042 Specified driver could not be loaded.

The driver listed in the data source specification in the ODBC.INI file
or registry or the driver that the DRIVER keyword specifies is not found
or cannot be loaded. Confirm that you entered the correct spelling and
path for the driver.

-11043 Driver’s SQLAllocEnv failed.

This INFORMIX-CLI error code is the same as SQLSTATE value IM004. The
following INFORMIX-CLI functions can return this error code: SQLBrowseConnect(),
SQLConnect(), and SQLDriverConnect(). The function called the driver version
of SQLAllocEnv(), which returned an error. The CLI driver does not return
this error.

The most common failure could be attributed to a memory allocation
failure. Driver Manager’s call to SQLAllocEnv could not succeed. See
the error message returned by SQLError in the szErrorMsg to describe
any driver specific SQLSTATE or error message if returned for other
reasons.

-11044 Driver’s SQLAllocConnect failed.

This INFORMIX-CLI error code is the same as SQLSTATE value IM005. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect(). The function called the driver version of SQLAllocConnect(),
which returned an error. The CLI driver does not return this error.

The allocation of a connection handle may fail due to insufficient
memory or initialization of new Database Connection handle (DBC). See
the error message returned by SQLError in the szErrorMsg to describe
driver specific SQLSTATE or error message if returned for other reasons.

-11045 Driver’s SQLSetConnectOption failed.

This INFORMIX-CLI error code is the same as SQLSTATE value IM006. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
and SQLDriverConnect(). The function called the driver version of SQLSetConnectOption(),
which returned an error. The CLI driver does not return this error.

See the error message returned by SQLError in the szErrorMsg to describe
driver specific SQLSTATE or error message if returned for other reasons.

-11046 No data source or driver specified; dialog prohibited.

This Informix CLI error code is the same as SQLSTATE value IM007. The
following function can return this error code: SQLDriverConnect().

The connection information flag, fDriverCompletion, is SQL_DRIVER_NOPROMPT,
but the connection string does not provide enough information. Use a
different value for the connection information flag or make sure that
the connection string provides all the necessary information.

-11046 No data source or driver specified; dialog prohibited.

No data source or driver is specified in the connection string, and fDriverCompletion
is SQL_DRIVER_NOPROMPT. Ensure that the driver keyword is in the connection
string, or set the fDriverCompletion flag to SQLDriver prompt to have
the driver prompt for additional connection information.

-11047 Dialog failed.

This Informix CLI error code is the same as SQLSTATE value IM008. The
following function can return this error code: SQLDriverConnect().

Informix CLI could not display the SQL Data Sources dialog box or
the login dialog box because the hwnd value is null and the fDriverCompletion
value is not SQL_DRIVER_NO_PROMPT. Use different values for hwnd and
fDriverCompletion.

-11048 Unable to load translation shared library.

This Informix CLI error code is the same as SQLSTATE value IM009. The
following functions can return this error code: SQLBrowseConnect(), SQLConnect(),
SQLDriverConnect(), and SQLSetConnectOption().

The function could not load the translation-shared library for the
data source or for the connection because the library name is incorrect.
Use a valid name for the driver translation-shared library.

-11048 Unable to load translation DLL.

The driver is unable to load the translation DLL that is specified for
the data source or for the connection. Check that the name and path for
the DLL are correct.

-11049 Data source name too long.

This Informix CLI error code is the same as SQLSTATE value IM010. The
following functions can return this error code: SQLBrowseConnect() and
SQLDriverConnect().

A data source name that is in the initialization file is too long.
Change any data source name that is too long.

-11049 Data source name too long.

The attribute value for DSN name is more than the maximum number of characters.
For the accepted number of characters in the DSN name, check the INFORMIX-CLI
Programmer’s Manual.

-11050 Driver name too long.

This Informix CLI error code is the same as SQLSTATE value IM011. The
following functions can return this error code: SQLBrowseConnect() and
SQLDriverConnect().

In the initialization file, the value for the driver path is too long.
Change this value so that it does not exceed the maximum length.

-11050 Driver name too long.

The attribute value for the DRIVER keyword is more than 255 characters.
Use a keyword that is less than 255 characters.

-11051 DRIVER keyword syntax error.

This Informix CLI error code is the same as SQLSTATE value IM012. The
following functions can return this error code: SQLBrowseConnect() and
SQLDriverConnect().

In the initialization file, the syntax for the line that sets the
driver path is incorrect. Change the syntax so that it is correct.

-11051 DRIVER keyword syntax error.

The keyword-value pair for the DRIVER keyword contains a syntax error.
Check that you entered the correct spelling and path for the driver.

-11053 Base table or view already exists.

This Informix CLI error code is the same as SQLSTATE value S0001. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a CREATE TABLE or CREATE VIEW statement,
but the table name or view name already exists. Use a table name or
view name that does not exist already.

-11053 Base table or view already exists.

The argument szSqlStr contains a CREATE TABLE statement or a CREATE VIEW
statement, and the table name or view name specified already exists. Reword
the query to use a unique table name or a unique view name.

-11054 Base table not found.

This Informix CLI error code is the same as SQLSTATE value S0002. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a DROP TABLE, DROP VIEW, ALTER TABLE,
CREATE VIEW, CREATE INDEX, GRANT, REVOKE, SELECT, DELETE, INSERT, UPDATE,
or CREATE TABLE statement, but the table name or view name does not
exist. Make sure that the necessary tables and views already exist.

-11054 Base table not found.

The argument szSqlStr contains a DROP TABLE, DROP VIEW, ALTER TABLE, CREATE
VIEW, CREATE INDEX, GRANT, REVOKE, SELECT, DELETE, INSERT or UPDATE statement,
but a specified table name or view name does not exist. Confirm that you
are using the name of an existing table or an existing view.

-11055 Index already exists.

This Informix CLI error code is the same as SQLSTATE value S0011. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a CREATE INDEX statement, but the index
name exists already. Use an index name that does not exist already.

-11055 Index already exists.

The argument szSqlStr contains a CREATE INDEX statement, but the specified
index name already exists. Reword the statement to use a unique index
name.

-11056 Index not found.

This Informix CLI error code is the same as SQLSTATE value S0012. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a DROP INDEX statement, but the index
name did not exist. Use an index name that exists already.

-11056 Index not found.

The argument szSqlStr contains a DROP INDEX statement, but the specified
index name does not exist. Verify that you are using the correct index
name.

-11057 Column already exists.

This Informix CLI error code is the same as SQLSTATE value S0021. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained an ALTER TABLE statement, but the column
name specified in the ADD clause is not unique or identifies a column
that already exists. Use column names that do not exist already.

-11058 Column not found.

This Informix CLI error code is the same as SQLSTATE value S0022. The
following functions can return this error code: SQLExecDirect() and SQLPrepare().

The SQL statement contained a CREATE INDEX, GRANT, REVOKE, SELECT,
DELETE, INSERT, UPDATE, or CREATE TABLE statement, but one or more of
the column names did not exist. Use column names that exist already.

-11058 Column not found.

A column cannot be associated with any table in the SQL statement. Verify
that you are using an existing table name in your SQL statement.

-11060 General error.

This Informix CLI error code is the same as SQLSTATE value S1000.

-11060 General error.

An error occurred that has no specific SQL_STATE. In this case, additional
text is provided that identifies the source of the problem.

-11061 Memory allocation failure.

This Informix CLI error code is the same as SQLSTATE value S1001. The
following functions can return this error code: all Informix CLI functions
except SQLError(), SQLFreeConnect(), and SQLFreeEnv().

Informix CLI could not allocate enough memory to execute the function.
Free up some resources and try again.

-11061 Memory allocation failure.

The driver or driver manager cannot allocate memory for the connection
handle. Try to reduce the number of processes currently running or provide
more memory.

-11062 Invalid column number.

This Informix CLI error code is the same as SQLSTATE value S1002. The
following functions can return this error code: SQLBindCol(), SQLColAttributes(),
SQLDescribeCol(), SQLExtendedFetch(), SQLFetch(), and SQLGetData().

For all functions except SQLGetData(), a column number was 0, exceeded
the number of columns in the result set, or exceeded the number of columns
that the data source supports. For SQLBindCol(), make sure that the
column number does not exceed the maximum number of columns that the
data source can support. For SQLColAttributes(), use a descriptor type
of SQL_COLUMN_COUNT if the column number is 0 or exceeds the number
of columns in the result set. For SQLDescribeCol() and SQLFetch(), make
sure that the column numbers are not 0 and do not exceed the number
of columns in the result set. For SQLExtendedFetch(), set SQL_USE_BOOKMARKS
to SQL_UB_OFF if column 0 is bound, and make sure that the bound column
numbers do not exceed the number of columns in the result set.

For SQLGetData(), one of the following problems occurred: (1) The
column number was 0 and you either called SQLFetch() to get the data
or you set SQL_USER_BOOKMARKS to SQL_UB_OFF, (2) The column number exceeded
the number of columns in the result set, or (3) You already called SQLGetData()
for the current row. Make sure that you do not call SQLFetch() or set
SQL_USER_BOOKMARKS to SQL_UB_OFF if the column number is 0, that the
column number does not exceed the number of columns in the result set,
and that you have not already called SQLGetData() for the current row.

-11062 Invalid column number.

The value specified for the argument icol exceeds the maximum number of
columns that the cursor defines. Confirm that the column number you are
fetching is in the result set of the cursor.

-11063 Program type out of range.

This Informix CLI error code is the same as SQLSTATE value S1003. The
following functions can return this error code: SQLBindCol(), SQLBindParameter(),
and SQLGetData().

The Informix CLI C data type (fCType) argument was not a valid Informix
CLI C data type or SQL_C_DEFAULT. Set the Informix CLI C data type to
a valid value.

For SQLBindCol(), it is also possible that the column number was 0
and the Informix CLI C data type was not SQL_C_BOOKMARK. If the column
number is 0, set the Informix CLI C data type to SQL_C_BOOKMARK.

-11064 SQL data type out of range.

This Informix CLI error code is the same as SQLSTATE value S1004. The
following functions can return this error code: SQLBindParameter() and
SQLGetTypeInfo().

The Informix CLI SQL data type (fSqlType) argument was not a valid
Informix CLI SQL data type. Set Informix CLI SQL data type to a valid
value.

-11064 SQL data type out of range.

The value specified for the argument fSqlType is in the block of numbers
reserved for CLI SQL data type indicators but is not a valid ODBC SQL
data type indicator. Check that you are referring to an ODBC SQL data
type that this driver and this server support.

-11065 Operation canceled.

This Informix CLI error code is the same as SQLSTATE value S1008. The
following functions can return this error code: SQLAllocConnect(), SQLAllocStmt(),
SQLBindCol(), SQLBindParameter(), SQLColumns(), SQLExecDirect(), SQLForeignKeys(),
SQLGetData(), SQLGetInfo(), SQLNativeSql(), SQLParamData(), SQLPrepare(),
SQLProcedureColumns(), SQLPutData(), SQLSetConnectOption(), SQLSetCursorName(),
and SQLSetStmtOption().

Before the function could complete execution, a different thread called
SQLCancel() for the statement handle. Fix your application logic.

For SQLParamData() and SQLPutData(), one of the following problems
can also occur: (1) You called SQLExecute() or SQLExecDirect() for the
statement handle and the function returned SQL_NEED_DATA, or (2) You
called SQLCancel() before data was sent for all data-at-execution parameters
or columns. Fix your application logic.

-11066 Invalid argument value.

This Informix CLI error code is the same as SQLSTATE value S1009. The
following functions can return this error code: SQLAllocConnect(), SQLAllocStmt(),
SQLBindParameter(), SQLGetData(), SQLGetInfo(), SQLExecDirect(), SQLForeignKeys(),
SQLNativeSql(), SQLPrepare(), SQLPutData(), SQLSetConnectOption(), SQLSetCursorName(),
and SQLSetStmtOption().

For SQLAllocConnect(), SQLAllocStmt(), SQLExecDirect(), SQLGetData(),
SQLNativeSql, SQLPrepare(), and SQLSetCursorName(), the pointer argument
(phdbc, phstmt, rgbValue, szCursor, szSqlStr, or szSqlStrIn) was a null
pointer. Set the pointer argument to a non-null value.

For SQLBindParameter(), rgbValue and pcbValue were null pointers and
fParamType was not SQL_PARAM_OUTPUT. Set rgbValue or pcbValue to a non-null
pointer or set fParamType to SQL_PARAM_OUTPUT.

For SQLForeignKeys(), szPkTableName and szFkTableName were null pointers.
Set szPkTableName or szFkTableName to a non-null pointer.

For SQLGetInfo(), fInfoType was SQL_DRIVER_HSTMT and rgbInfoValue
did not point to a valid statement handle. Change rgbInfoValue to point
to a valid statement handle.

For SQLPutData(), rgbValue was a null pointer and cbValue was not
0, SQL_DEFAULT_PARAM, or SQL_NULL_DATA. Change cbValue to 0, SQL_DEFAULT_PARAM,
or SQL_NULL_DATA.

For SQLSetConnectOption() and SQLSetStmtOption(), vParam was not valid
for the specified fOption value. Change vParam to a valid value.

-11066 Invalid argument value.

Check that the arguments passed with the CLI request are correct.

-11067 Function sequence error.

This Informix CLI error code is the same as SQLSTATE value S1010. The
following functions can return this error code: SQLBindCol(), SQLBindParameter(),
SQLColAttributes(), SQLColumnPrivilages(), SQLColumns(), SQLDescribeCol(),
SQLDisconnect(), SQLExecDirect(), SQLExecute(), SQLExtendedFetch(), SQLFetch(),
SQLFreeConnect(), SQLFreeEnv(), SQLFreeStmt(), SQLForeignKeys(), SQLGetConnectOption(),
SQLGetCursorName(), SQLGetData(), SQLGetFunctions(), SQLGetStmtOption(),
SQLGetTypeInfo(), SQLMoreResults(), SQLNumParams(), SQLNumResultCols(),
SQLParamData(), SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(),
SQLProcedures(), SQLPutData(), SQLRowCount(), SQLSetConnectOption(), SQLSetCursorName(),
SQLSetStmtOption(), SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(),
SQLTables(), and SQLTransact().

For SQLBindCol(), SQLBindParameter(), SQLColAttributes(), SQLColumnPrivilages(),
SQLColumns(), SQLDescribeCol(), SQLDisconnect(), SQLExecDirect(), SQLExecute(),
SQLExtendedFetch(), SQLFetch(), SQLFreeStmt(), SQLForeignKeys(), SQLGetCursorName(),
SQLGetData(), SQLGetStmtOption(), SQLGetTypeInfo(), SQLMoreResults(),
SQLNumParams(), SQLNumResultCols(), SQLPrepare(), SQLPrimaryKeys(),
SQLProcedureColumns(), SQLProcedures(), SQLRowCount(), SQLSetConnectOption(),
SQLSetCursorName(), SQLSetStmtOption(), SQLSpecialColumns(), SQLStatistics(),
SQLTablePrivileges(), SQLTables(), and SQLTransact(), Informix CLI called
SQLExecute(), SQLExecDirect(), or SQLSetPos() for the statement handle
and returned SQL_NEED_DATA, which means that you called this function
before data was sent for the data-at-execution parameters or columns.
Wait until data is sent for all the data-at-execution parameters or
columns before you call this function.

Additionally for SQLColAttributes(), SQLDescribeCol(), SQLNumParams(),
and SQLNumResultCols(), you called this function before you called SQLPrepare()
or SQLExecDirect for the statement handle. Do not call this function
before SQLPrepare() or SQLExecDirect().

Additionally for SQLExecute(), the statement handle was not prepared
due to one of the following conditions: (1) The statement handle was
not in an executed state, (2) You opened a cursor on the statement handle
and called SQLFetch() or SQLExtendedFetch(), (3) The statement handle
was in an executed state but did not have a result set associated with
it, or (4) The statement handle was in an executed state but you did
not call SQLFetch() or SQLExtendedFetch(). Make sure that none of these
conditions occurs.

Additionally for SQLExtendedFetch(), SQLFetch(), and SQLGetData(),
one of the following problems occurred: (1) The statement handle was
not in an executed state because you did not call SQLExecDirect(), SQLExecute(),
or a catalog function before you called this function, or (2) You called
this function after you called SQLFetch() and before you called SQLFreeStmt()
with the SQL_CLOSE option. Make sure that neither of these conditions
occurs.

For SQLFreeConnect(), you called this function before you called SQLDisconnect()
for the connection handle.

For SQLFreeEnv(), at least one connection handle was in an allocated
or connected state. Call SQLDisconnect() and SQLFreeConnect() for each
connection handle before you call this function.

For SQLGetConnectOption(), SQLGetFunctions(), and additionally for
SQLSetConnectOption(), Informix CLI called SQLBrowseConnect() for the
connection handle and returned SQL_NEED_DATA, which means that you called
this function before SQLBrowseConnect() returned SQL_SUCCESS_WITH_INFO
or SQL_SUCCESS. Wait until SQLBrowseConnect() returns SQL_SUCCESS_WITH_INFO
or SQL_SUCCESS before you call this function.

Additionally for SQLGetFunctions(), you called this function before
you called SQLConnect(), SQLBrowseConnect(), or SQLDriverConnect().
Do not call this function before SQLConnect(), SQLBrowseConnect(), or
SQLDriverConnect().

For SQLParamData(), the previous function call was to this function.
Call this function only after you call SQLExecDirect() or SQLExecute()
where the return code is SQL_NEED_DATA or after you call SQLPutData().

For SQLPutData(), the previous function call was to SQLExecDirect()
or SQLExecute() where the return code was SQL_NEED_DATA. Call this function
only after you call SQLParamData() or SQLPutData().

Additionally for SQLRowCount(), you called this function before you
called SQLExecute() or SQLExecDirect() for the statement handle. Do
not call this function before SQLExecute() or SQLExecDirect().

-11067 Function sequence error.

An asynchronously executing function is called for the hstmt and is still
executing when this function is called, or an attempt was made to use
an hstmt out of sequence. Check the sequence of operations. For example,
check that you are not trying to execute an EXECUTE statement before the
PREPARE statement is finished.

-11068 Operation invalid at this time.

This Informix CLI error code is the same as SQLSTATE value S1011. The
following functions can return this error code: SQLGetStmtOption(), SQLSetConnectOption(),
and SQLSetStmtOption().

For SQLGetStmtOption(), fOption was SQL_GET_BOOKMARK and SQL_USE_BOOKMARKS
was SQL_UB_OFF. If SQL_USE_BOOKMARKS is SQL_UB_OFF, do not use this
option value.

For SQLSetConnectOption(), fOption was SQL_TXN_ISOLATION and a transaction
was open. Make sure that no transactions are open before you use this
option value.

For SQLSetStmtOption(), fOption was SQL_CONCURRENCY, SQL_SIMULATE_CURSOR,
or SQL_CURSOR_TYPE and the statement was prepared. If the statement
is prepared, do not use one of these option values.

-11069 Invalid transaction operation code specified.

This Informix CLI error code is the same as SQLSTATE value S1012. The
following function can return this error code: SQLTransact().

The fType value is neither SQL_COMMIT nor SQL_ROLLBACK. Set fType
to SQL_COMMIT or SQL_ROLLBACK.

-11069 Invalid transaction operation code specified.

The value specified for the argument fType is neither SQL_COMMIT nor SQL_ROLLBACK.
Check the value and verify that it is valid for the ftype parameter.

-11070 No cursor name available.

This Informix CLI error code is the same as SQLSTATE value S1015. The
following function can return this error code: SQLGetCursorName().

The statement handle does not have an open cursor and did not previously
call SQLSetCursorName() to set a cursor name. Open a cursor or set a
cursor name.

-11070 No cursor name available.

No open cursor exists on the hstmt, and no cursor name has been set with
SQLSetCursorName. Check the sequence of operations. For example, check
that you are not trying to execute an EXECUTE statement before the PREPARE
statement is finished.

-11071 Invalid string or buffer length.

This Informix CLI error code is the same as SQLSTATE value S1090. The
following functions can return this error code: SQLBindCol(), SQLBindParameter(),
SQLBrowseConnect(), SQLColAttributes(), SQLColumnPrivileges(), SQLColumns(),
SQLConnect(), SQLDataSources(), SQLDescribeCol(), SQLDriverConnect(),
SQLDrivers(), SQLExecDirect(), SQLExecute(), SQLForeignKeys(), SQLGetCursorName(),
SQLGetData(), SQLGetInfo(), SQLNativeSql(), SQLPrepare(), SQLPrimaryKeys(),
SQLProcedureColumns(), SQLProcedures(), SQLPutData(), SQLSetCursorName(),
SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(), and SQLTables().

For all functions, an argument that specified a string or buffer length,
such as cbCursor, cbConnStrIn, or cbSqlStr, had one or more of the following
problems: (1) It was less than 0, (2) It was less than 0 but not equal
to SQL_NTS or SQL_NULL_DATA, (3) It was less than 0 but the corresponding
pointer was not a null pointer, (4) It was equal to 1, or (5) It was
too large. Set the string or buffer length to a valid value.

Additionally for SQLExecDirect() and SQLExecute(), a parameter value
that was set with SQLBindParameter() had one of the following problems:
(1) It was a null pointer, and the parameter length was not 0, SQL_NULL_DATA,
SQL_DATA_AT_EXEC, or less than or equal to SQL_LEN_DATA_AT_EXEC_OFFSET,
or (2) It was not a null pointer, and the parameter length was less
than 0 but was not SQL_NTS, SQL_NULL_DATA, SQL_DATA_AT_EXEC, or less
than or equal to SQL_LEN_EXEC_DATA_AT_EXEC_OFFSET. Set the parameter
value to a valid value.

-11071 Invalid string or buffer length.

The value specified for the argument cbValueMax is less than zero. Supply
a value for the argument cbValueMax that is zero or greater.

-11072 Descriptor type out of range.

This Informix CLI error code is the same as SQLSTATE value S1091. The
following function can return this error code: SQLColAttributes().

The fDescType argument was not a valid descriptor type. Set fDescType
to a valid value.

-11072 Descriptor type out of range.

The value specified for the argument fDescType is in the block of numbers
reserved for driver-specific descriptor types but is unsupported by the
driver. For a list of accepted descriptor types, check the INFORMIX-CLI
Programmer’s Manual.

-11073 Option type out of range.

This Informix CLI error code is the same as SQLSTATE value S1092. The
following functions can return this error code: SQLFreeStmt(), SQLGetConnectOption(),
SQLGetStmtOption(), SQLSetConnectOption(), and SQLSetStmtOption().

The fOption argument was not a valid option value. Set fOption to
a valid value.

-11073 Option type out of range.

The value specified for the argument fOption is in the block of numbers
reserved for CLI connection and statement option but is not valid for
the version of ODBC that the driver supports. For a list of accepted descriptor
types, check the INFORMIX-CLI Programmer’s Manual.

-11074 Invalid parameter number.

This Informix CLI error code is the same as SQLSTATE value S1093. The
following function can return this error code: SQLBindParameter().

Either the ipar value was less than 1, or the ipar value exceeded
the maximum number of parameters that the data source supports. Set
ipar to a valid value.

-11074 Invalid parameter number.

The value specified for the argument ipar is less than one or is greater
than the maximum number of parameters that the data source supports. To
verify that the value is in the correct range for the statement, check
the SQL statement.

-11075 Invalid scale value.

This Informix CLI error code is the same as SQLSTATE value S1094. The
following function can return this error code: SQLBindParameter().

The ibScale value was invalid for the Informix CLI SQL data type (fSqlType)
argument. Set ibScale to a valid value.

-11075 Invalid scale value.

The value that the argument ibScale specifies is outside the range of
values supported by the data source for a column of the SQL data type
that the fSqlType argument specifies. For a list of supported values for
the column type that fSqlType specifies, check the INFORMIX-CLI Programmer’s
Manual.

-11076 Function type out of range.

This Informix CLI error code is the same as SQLSTATE value S1095. The
following function can return this error code: SQLGetFunctions().

The fFunction value was not a valid function value. Set fFunction
to a valid value.

-11076 Function type out of range.

An invalid fFunction value is specified. For a list of valid values for
the fFunction parameter, check the INFORMIX-CLI Programmer’s Manual.

-11077 Information type out of range.

This Informix CLI error code is the same as SQLSTATE value S1096. The
following function can return this error code: SQLGetInfo().

The fOption value was not a valid option value. Set fOption to a valid
value.

-11077 Information type out of range.

The value specified for the argument fOption is in the block of numbers
reserved for CLI information types but is not valid for the version of
ODBC that the driver supports. For a list of supported features for your
driver version, check the INFORMIX-CLI Programmer’s Manual.

-11078 Column type out of range.

This Informix CLI error code is the same as SQLSTATE value S1097. The
following function can return this error code: SQLSpecialColumns().

The fColType value was not a valid column type. Set fColType to a
valid value.

-11078 Column type out of range.

An invalid fColType value is specified. For a list of valid values for
the fColType parameter, check the INFORMIX-CLI Programmer’s Manual.

-11079 Scope type out of range.

This Informix CLI error code is the same as SQLSTATE value S1098. The
following function can return this error code: SQLSpecialColumns().

The fScope value was not a valid scope value. Set fScope to a valid
value.

-11079 Scope type out of range.

An invalid fScope value is specified. For a list of valid values for the
fScope parameter, check the INFORMIX-CLI Programmer’s Manual.

-11080 Nullable type out of range.

This Informix CLI error code is the same as SQLSTATE value S1099. The
following function can return this error code: SQLSpecialColumns().

The fNullable value is not valid. Set fNullable to a valid value.

-11080 Nullable type out of range.

An invalid fNullable value is specified. For a list of valid values for
the fNullable parameter, check the INFORMIX-CLI Programmer’s Manual.

-11081 Uniqueness option type out of range.

This Informix CLI error code is the same as SQLSTATE value S1100. The
following function can return this error code: SQLStatistics().

The fUnique value was not a valid index type. Set fUnique to a valid
value.

-11081 Uniqueness option type out of range.

An invalid fUnique value is specified. For a list of valid values for
the fUnique parameter, check the INFORMIX-CLI Programmer’s Manual.

-11082 Accuracy option type out of range.

This Informix CLI error code is the same as SQLSTATE value S1101. The
following function can return this error code: SQLStatistics().

The fAccuracy value is not valid. Set fAccuracy to a valid value.

-11082 Accuracy option type out of range.

An invalid fAccuracy value is specified. For a list of valid values for
the fAccuracy parameter, check the INFORMIX-CLI Programmer’s Manual.

-11083 Direction option out of range.

This Informix CLI error code is the same as SQLSTATE value S1103. The
following functions can return this error code: SQLDataSources() and SQLDrivers().

The fDirection value was not a valid direction value. Set fDirection
to a valid value.

-11083 Direction option out of range.

The value specified for argument fDirection is not equal to zero. For
a list of valid values for the fDirection parameter, check the INFORMIX-CLI
Programmer’s Manual.

-11084 Invalid precision value.

This Informix CLI error code is the same as SQLSTATE value S1104. The
following function can return this error code: SQLBindParameter().

The cbColDef value was invalid for the Informix CLI SQL data type
(fSqlType) argument. Set cbColDef to a valid value.

-11084 Invalid precision value.

The value specified for the argument cbColDef is outside the range of
values supported by the data source for a column of the SQL data type
that the fSqlType argument specifies. For a list of valid values for the
column type that the fSqlType argument specifies, check the INFORMIX-CLI
Programmer’s Manual.

-11085 Invalid parameter type.

This Informix CLI error code is the same as SQLSTATE value S1105. The
following function can return this error code: SQLBindParameter().

One of the following problems occurred: (1) The fParamType argument
was not a valid parameter type, or (2) fParamType was SQL_PARAM_OUTPUT
and the parameter is not an output parameter, or (3) fParamType was
SQL_PARAM_INPUT and the parameter is an output parameter. Set fParamType
to a valid value that corresponds to the type of parameter.

-11085 Invalid parameter type.

The value specified for the argument fParamType is invalid. For a list
of valid values for the fParamType parameter, check the INFORMIX-CLI Programmer’s
Manual.

-11086 Fetch type out of range.

This Informix CLI error code is the same as SQLSTATE value S1106. The
following function can return this error code: SQLExtendedFetch().

One of the following problems occurred: (1) The fFetchType argument
was not a valid fetch type, or (2) SQL_CURSOR_TYPE was SQL_CURSOR_FORWARD_ONLY
but fFetchType was not SQL_FETCH_NEXT. Set fFetchType to a valid value
that corresponds to the cursor type.

-11086 Fetch type out of range.

The value specified for the argument fFetchType is invalid. For a list
of valid values for the fFetchType parameter, check the INFORMIX-CLI Programmer’s
Manual.

-11087 Row value out of range.

This Informix CLI error code is the same as SQLSTATE value S1107. The
following function can return this error code: SQLExtendedFetch().

SQL_CURSOR_TYPE was SQL_CURSOR_KEYSET_DRIVEN but the SQL_KEYSET_SIZE
value was greater than 0 and less than the SQL_ROWSET_SIZE value. Set
SQL_KEYSET_SIZE to a value that is valid for the SQL_CURSOR_TYPE value.

-11088 Concurrency option out of range.

The value specified for the argument fConcurrency is not equal to SQL_CONCUR_READ_ONLY,
SQL_CONCUR_LOCK, SQL_CONCUR_ROWVER, or SQL_CONCUR_VALUES. Check that the
SQL statement uses one of the listed accepted values for the fConcurrency
parameter.

-11089 Invalid cursor position.

This Informix CLI error code is the same as SQLSTATE value S1109. The
following functions can return this error code: SQLExecute(), SQLExecDirect(),
SQLGetData(), and SQLGetStmtOption().

The cursor is on a row that was deleted or that has an error. Do not
try to perform an action on a row that was deleted or that has an error.

-11090 Invalid driver completion.

This Informix CLI error code is the same as SQLSTATE value S1110. The
following function can return this error code: SQLDriverConnect().

The fDriverCompletion value is not valid. Set fDriverCompletion to
a valid value.

-11090 Invalid driver completion.

The value specified for the fDriverCompletion argument is not equal to
SQL_DRIVER_PROMPT, SQL_DRIVER_COMPLETE, SQL_DRIVER_COMPLETE_REQUIRED,
or SQL_DRIVER_NOPROMPT. Check that the SQL statement uses one of the listed
accepted values for the fDriverCompletion parameter.

-11091 Invalid bookmark value

This Informix ODBC error code is the same as SQLSTATE value HY111 (ODBC2.x
state is S1111). The following functions can return this error code: SQLExtendedFetch
and SQLFetchScroll.

For SQLExtendedFetch, the argument FetchOrientation was SQL_FETCH_BOOKMARK,
and the bookmark specified in the FetchOffset argument was not valid.

For SQLFetchScroll, the argument FetchOrientation was SQL_FETCH_BOOKMARK,
and the bookmark pointed to by the value in the SQL_ATTR_FETCH_BOOKMARK_PTR
statement attribute was not valid or was a null pointer.

-11092 Driver not capable.

This Informix CLI error code is the same as SQLSTATE value S1C00. The
following functions can return this error code:

SQLBindCol(), SQLBindParameter(), SQLColAttributes(), SQLColumnPrivileges(),
SQLColumns(), SQLExecDirect(), SQLExecute(), SQLExtendedFetch(), SQLFetch(),
SQLForeignKeys(), SQLGetConnectOption(), SQLGetData(), SQLGetInfo(),
SQLGetStmtOption(), SQLGetTypeInfo(), SQLPrepare(), SQLPrimaryKeys(),
SQLProcedureColumns(), SQLProcedures(), SQLSetConnectOption(), SQLSetScrollOptions(),
SQLSetStmtOption(), SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(),
SQLTables(), and SQLTransact().

For SQLBindCol(), the data source does not support the Informix CLI
C data type (fCType) argument, or the icol value was 0. Set the Informix
CLI C data type to a value that the data source supports and set icol
to a valid value.

For SQLBindParameter(), SQLExtendedFetch(), SQLFetch(), and SQLGetData(),
one of the following problems occurred: (1) It is not possible to convert
the result data (the data value associated with the Informix CLI C data
type (fCType) argument) to the data type of the parameter (the data
value associated with the Informix CLI SQL data type (fSqlType) argument),
or (2) The data source does not support the Informix CLI SQL data type
or (3) The data source does not support the fetch type. Set the Informix
CLI C and SQL data types to values that make it possible to convert
the result data to the data type of the parameter and set the Informix
CLI SQL data type and fetch type to values that the data source supports.

For SQLColAttributes(), the fDescType value is not a valid descriptor
type. Use a valid value for fDescType.

For SQLColumnPrivileges(), SQLColumns(), SQLExecDirect(), SQLExecute(),
SQLForeignKeys(), SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(),
SQLProcedures(), SQLSpecialColumns(), SQLStatistics(), SQLTables(),
and SQLTablePrivileges(), one of the following problems occurred: (1)
You specified a qualifier for the procedure or table, but the data source
does not support qualifiers, or (2) You specified an owner for the procedure
or table, but the data source does not support owners, or (3) You specified
a string search pattern for the procedure owner, procedure name, or
column name, but the data source does not support search patterns for
that argument, or (4) The combination of the SQL_CONCURRENCY value and
the SQL_CURSOR_TYPE value is invalid. Do not set a qualifier, owner,
or search pattern for a data source that does not support them and set
the concurrency and cursor type values so that the combination of the
values is valid.

For SQLGetConnectOption(), SQLGetStmtOption(), SQLSetConnectOption(),
and SQLSetStmtOption(), the fOption value is not a valid option value.
Set fOption to a valid value.

Additionally for SQLGetData(), the data source does not support the
use of SQLGetData() with multiple rows in SQLExtendedFetch(), or the
icol value was 0. Use SQLGetData() with multiple rows in SQLExtendedFetch()
only if the data source supports this task and do not set icol to 0.

For SQLGetInfo(), the fInfoType value was not a valid information
type. Set fInfoType to a valid value.

For SQLGetTypeInfo(), the data source does not support the Informix
CLI SQL data type (fSqlType) argument), or the combination of the SQL_CONCURRENCY
value and the SQL_CURSOR_TYPE value is invalid. Set the Informix CLI
SQL data type to a value that the data source supports, and set the
concurrency and cursor type values so that the combination of the values
is valid.

For SQLTransact(), the data source does not support the ROLLBACK operation.
Do not set fType to SQL_ROLLBACK.

-11092 Driver not capable.

The driver or data source does not support the function requested. For
a list of supported driver functions, check the INFORMIX-CLI Programmer’s
Manual.

-11094 Timeout expired.

This Informix CLI error code is the same as SQLSTATE value S1T00. The
following functions can return this error code: SQLBrowseConnect(), SQLColAttributes(),
SQLColumnPrivileges(), SQLColumns(), SQLConnect(), SQLDescribeCol(), SQLDriverConnect(),
SQLExecDirect(), SQLExecute(), SQLExtendedFetch(), SQLFetch(), SQLForeignKeys(),
SQLGetData(), SQLGetInfo(), SQLGetTypeInfo(), SQLMoreResults(), SQLNumParams(),
SQLNumResultCols(), SQLParamData(), SQLPrepare(), SQLPrimaryKeys(), SQLProcedureColumns(),
SQLProcedures(), SQLPutData(), SQLSpecialColumns(), SQLStatistics(), SQLTablePrivileges(),
and SQLTables().

For SQLBrowseConnect(), SQLConnect(), and SQLDriverConnect(), the
time-out period expired before the function could complete the connection
to the data source. Call SQLSetConnectOption() to change SQL_LOGIN_TIMEOUT.

For all other functions, the time-out period expired before the data
source could process the information and, if necessary, return a result
set or requested information. Call SQLSetConnectOption() to change SQL_QUERY_TIMEOUT.

-11094 Time-out expired.

The time-out period expired before the connection to the data source completed.
The time-out period is set through SQL_SetConnectionOption, SQL_LOGIN_TIMEOUT.

-11095 Invalid attribute value

This Informix ODBC error code is the same as SQLSTATE value. The following
functions can return this error code: SQLSetConnectAttr, SQLSetEnvAttr,
and SQLSetStmtAttr.

For SQLSetConnectAttr, given the specified Attribute value, an invalid
value was specified in ValuePtr. (The Driver Manager returns this SQLSTATE
only for connection and statement attributes that accept a discrete
set of values, such as SQL_ATTR_ACCESS_MODE or SQL_ATTR_ASYNC_ENABLE.
For all other connection and statement attributes, the driver must verify
the value specified in ValuePtr.) The Attribute argument was SQL_ATTR_TRACEFILE
or SQL_ATTR_TRANSLATE_LIB, and ValuePtr was an empty string.

For SQLSetEnvAttr, given the specified Attribute value, an invalid
value was specified in ValuePtr.

For SQLSetStmtAttr, given the specified Attribute value, an invalid
value was specified in ValuePtr. (The Driver Manager returns this SQLSTATE
only for connection and statement attributes that accept a discrete
set of values, such as SQL_ATTR_ACCESS_MODE or SQL_ ATTR_ASYNC_ENABLE.
For all other connection and statement attributes, the driver must verify
the value specified in ValuePtr.) The Attribute argument was SQL_ATTR_APP_ROW_DESC
or SQL_ATTR_APP_PARAM_DESC, and ValuePtr was an explicitly allocated
descriptor handle that is not on the same connection as the StatementHandle
argument.

-11097 Optional feature not implemented.

This Informix ODBC error code is the same as SQLSTATE value HYC00.
The following functions can return this error code: SQLBindCol, SQLBindParameter,
SQLBulkOperations, SQLColAttribute, SQLColumnPrivileges, SQLColumns,
SQLDriverConnect, SQLEndTran, SQLExecDirect, SQLExecute, SQLExtendedFetch,
SQLFetch, SQLFetchScroll, SQLForeignKeys, SQLGetConnectAttr, SQLGetData,
SQLGetEnvAttr, SQLGetInfo, SQLGetStmtAttr, SQLGetTypeInfo, SQLParamData,
SQLPrepare, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLSetConnectAttr,
SQLSetEnvAttr, SQLSetPos, SQLSetStmtAttr, SQLSpecialColumns, SQLStatistics,
SQLTablePrivileges, and SQLTables.

The value specified for the argument Attribute was a valid ODBC environment
attribute for the version of ODBC supported by the driver, but the attribute
was not supported by the driver. For more detailed information, see
the ODBC Reference Manual.

-11099 Invalid name of File DSN

This Informix ODBC error code is the same as SQLSTATE value IM014. The
following function can return this error code: SQLDriverConnect.

For SQLDriverConnect, the string in InConnectionString contained a
FILEDSN keyword, but the name of the .DSN file was invalid.

-11103 Invalid descriptor index

This Informix ODBC error code is the same as SQLSTATE value 07009. The
following functions can return this error code: SQLBindCol, SQLBindParameter,
SQLBulkOperations, SQLColAttribute, SQLDescribeCol, SQLFetch, SQLFetchScroll,
SQLGetData, SQLGetDescField, SQLGetDescRec, SQLSetDescField, SQLSetDescRec,
and SQLSetPos.

For SQLBindCol, SQLBindParameter, SQLColAttribute, SQLGetData, and
SQLDescribeCol, the value specified for column exceeded the maximum
number of columns in the result set.

For SQLBulkOperations, the argument Operation was SQL_ADD, and a column
was bound with a column number greater than the number of columns in
the result set.

For SQLFetch, the driver was an ODBC 2.x driver that does not support
SQLExtendedFetch, and a column number specified in the binding for a
column was 0.

For SQLFetchScroll, Column 0 was bound, and the SQL_ATTR_USE_BOOKMARKS
statement attribute was set to SQL_UB_OFF.

For SQLSetDescField and SQLGetDescField, The RecNumber argument was
equal to 0, the SQL_ATTR_USE_BOOKMARK statement attribute was SQL_UB_OFF,
and the DescriptorHandle argument was an IRD handle. (This error can
be returned for an explicitly allocated descriptor only if the descriptor
is associated with a statement handle.) The FieldIdentifier argument
was a record field, the RecNumber argument was 0, and the DescriptorHandle
argument was an IPD handle. The RecNumber argument was less than 0.

For SQLSetDescRec and SQLGetDescRec, the FieldIdentifier argument
was a record field, the RecNumber argument was set to 0, and the DescriptorHandle
argument was an IPD handle. The RecNumber argument was set to 0, the
SQL_ATTR_USE_BOOKMARKS statement attribute was set to SQL_UB_OFF, and
the DescriptorHandle argument was an IRD handle.(DM) The RecNumber argument
was less than 0.

For SQLSetPos, the argument Operation was SQL_REFRESH or SQL_UPDATE,
and a column was bound with a column number greater than the number
of columns in the result set.

-11104 Invalid datetime format

This Informix ODBC error code is the same as SQLSTATE value 22007. The
following functions can return this error code: SQLBulkOperations, SQLExecDirect,
SQLExecute, SQLExtendedFetch, SQLFetch, SQLFetchScroll, SQLGetData, SQLPutData,
and SQLSetPos.

For SQLBulkOperations, the Operation argument was SQL_ADD, and the
assignment of a date or timestamp value to a column in the result set
caused the year, month, or day field to be out of range.

For SQLExecDirect and SQLExecute, StatementText contained an SQL statement
that contained a date, time, or timestamp structure as a bound parameter,
and the parameter was, respectively, an invalid date, time, or timestamp.

For SQLFetch, SQLExtendedFetch, SQLGetData, and SQLFetchScroll, a
character column in the result set was bound to a date, time, or timestamp
C structure, and a value in the column was, respectively, an invalid
date, time, or timestamp.

For SQLPutData, an input/output or output parameter was bound to a
date, time, or timestamp C structure, and a value in the returned parameter
was, respectively, an invalid date, time, or timestamp. (Function returns
SQL_SUCCESS_WITH_INFO.)

For SQLSetPos, the argument Operation was SQL_UPDATE, and the assignment
of a date or timestamp value to a column in the result set caused the
year, month, or day field to be out of range. The argument Operation
was SQL_REFRESH, and returning the date or timestamp value for one or
more bound columns would have caused the year, month, or day field to
be out of range.

-11105 Interval field overflow

This Informix ODBC error code is the same as SQLSTATE value 22015. The
following functions can return this error code: SQLBulkOperations, SQLExecDirect,
SQLExecute, SQLExtendedFetch, SQLFetch, SQLFetchScroll, SQLGetData, SQLPutData,
and SQLSetPos.

For SQLBulkOperations, the Operation argument was SQL_ADD or SQL_UPDATE_BY_BOOKMARK,
and the assignment of a date or timestamp value to a column in the result
set caused the year, month, or day field to be out of range.

For SQLExecute and SQLExecDirect, StatementText contained an exact
numeric or interval parameter that when converted to an interval SQL
data type caused a loss of significant digits. *StatementText contained
an interval parameter with more than one field that when converted to
a numeric data type in a column had no representation in the numeric
data type. StatementText contained parameter data that was assigned
to an interval SQL type, and there was no representation of the value
of the C type in the interval SQL type. Assigning an input/output or
output parameter that was an exact numeric or interval SQL type to an
interval C type caused a loss of significant digits. When an input/output
or output parameter was assigned to an interval C structure, there was
no representation of the data in the interval data structure.

SQLExtendedFetch, SQLFetch, SQLGetData, and SQLFetchScroll, assigning
from an exact numeric or interval SQL type to an interval C type caused
a loss of significant digits in the leading field. When data was fetched
to an interval C type, there was no representation of the value of the
SQL type in the interval C type.

For SQLPutData, the data sent for an exact numeric or interval column
or parameter to an interval SQL data type caused a loss of significant
digits. Data was sent for an interval column or parameter with more
than one field, was converted to a numeric data type, and had no representation
in the numeric data type. The data sent for column or parameter data
was assigned to an interval SQL type, and there was no representation
of the value of the C type in the interval SQL type. The data sent for
an exact numeric or interval C column or parameter to an interval C
type caused a loss of significant digits. The data sent for column or
parameter data was assigned to an interval C structure, and there was
no representation of the data in the interval data structure.

For SQLSetPos, the Operation argument was SQL_UPDATE, and the assignment
of an exact numeric or interval C type to an interval SQL data type
caused a loss of significant digits. The Operation argument was SQL_UPDATE;
when a value was assigned to an interval SQL type, there was no representation
of the value of the C type in the interval SQL type. The Operation argument
was SQL_REFRESH, and assigning from an exact numeric or interval SQL
type to an interval C type caused a loss of significant digits in the
leading field. The Operation argument was SQL_REFRESH; when a value
was assigned to an interval C type, there was no representation of the
value of the SQL type in the interval C type.

-11106 Invalid character value for cast specification

This Informix ODBC error code is the same as SQLSTATE value 22018. The
following functions can return this error code: SQLBulkOperations, SQLExecDirect,
SQLExecute, SQLExtendedFetch, SQLFetch, SQLFetchScroll, SQLGetData, SQLPutData,
and SQLSetPos.

For SQLBulkOperations, the argument Operation was SQL_ADD; the SQL
type was an exact or approximate numeric, a datetime, or an interval
data type; the C type was SQL_C_CHAR; and the value in the column was
not a valid literal of the bound SQL type.

For SQLExecute and SQLExecDirect, StatementText contained a C type
that was an exact or approximate numeric, a datetime, or an interval
data type; the SQL type of the column was a character data type; and
the value in the column was not a valid literal of the bound C type.
When an input/output or output parameter was returned, the SQL type
was an exact or approximate numeric, a datetime, or an interval data
type; the C type was SQL_C_CHAR; and the value in the column was not
a valid literal of the bound SQL type.

For SQLExtendedFetch, SQLFetch, SQLFetchScroll, and SQLGetData, a
character column in the result set was returned to a character C buffer,
and the column contained a character for which there was no representation
in the character set of the buffer. The C type was an exact or approximate
numeric, a datetime, or an interval data type; the SQL type of the column
was a character data type; and the value in the column was not a valid
literal of the bound C type.

For SQLPutData, the C type was an exact or approximate numeric, a
datetime, or an interval data type; the SQL type of the column was a
character data type; and the value in the column or parameter was not
a valid literal of the bound C type. The SQL type was an exact or approximate
numeric, a datetime, or an interval data type; the C type was SQL_C_CHAR;
and the value in the column or parameter was not a valid literal of
the bound SQL type.

For SQLSetPos, the Operation argument was SQL_REFRESH; the C type
was an exact or approximate numeric, a datetime, or an interval data
type; the SQL type of the column was a character data type; and the
value in the column was not a valid literal of the bound C type. The
argument Operation was SQL_UPDATE; the SQL type was an exact or approximate
numeric, a datetime, or an interval data type; the C type was SQL_C_CHAR;
and the value in the column was not a valid literal of the bound SQL
type

-11116 Invalid application buffer type

This Informix ODBC error code is the same as SQLSTATE value HY003. The
following functions can return this error code: SQLBindCol, SQLBindParameter,
and SQLGetData.

For SQLBindCol and SQLGetData, the argument TargetType was neither
a valid data type nor SQL_C_DEFAULT.

For SQLBindParameter, the value specified by the argument ValueType
was not a valid C data type or SQL_C_DEFAULT.

-11117 Associated statement is not prepared.

This Informix ODBC error code is the same as SQLSTATE value HY007. The
following functions can return this error code: SQLCopyDesc, SQLGetDescField,
and SQLGetDescRec.

For SQLCopyDesc, SQLGetDescField, and SQLGetDescRec, DescriptorHandle
was associated with a StatementHandle as an IRD, and the associated
statement handle had not been prepared or executed.

-11118 Invalid use of null pointer

This Informix ODBC error code is the same as SQLSTATE value HY009. The
following functions can return this error code: SQLAllocHandle, SQLBindParameter,
SQLColumnPrivileges, SQLColumns, SQLExecDirect, SQLForeignKeys, SQLNativeSql,
SQLPrepare, SQLPrimaryKeys, SQLProcedureColumns, SQLProcedures, SQLPutData,
SQLSetConnectAttr, SQLSetCursorName, SQLSetEnvAttr, SQLSetStmtAttr, SQLSpecialColumns,
SQLStatistics, SQLTablePrivileges, and SQLTables.

For SQLAllocHandle, SQLExecDirect, SQLNativeSql, SQLPrepare, SQLPutData,
SQLSetConnectAttr, SQLSetCursorName, SQLSetEnvAttr, and SQLSetStmtAttr,
the argument was a null pointer.

For SQLForeignKeys, SQLPrimaryKeys, SQLStatistics, SQLTablePrivileges,
and SQLTables, the TableName argument was a null pointer. The SQL_ATTR_METADATA_ID
statement attribute was set to SQL_TRUE, the CatalogName argument was
a null pointer, and the SQL_CATALOG_NAME InfoType returns that catalog
names are supported. The SQL_ATTR_METADATA_ID statement attribute was
set to SQL_TRUE, and the SchemaName or ColumnName argument was a null
pointer.

For SQLColumn, SQLColumnPrivileges, SQLProcedures, SQLProcedureColumns,
and SQLSpecialColumns, the SQL_ATTR_METADATA_ID statement attribute
was set to SQL_TRUE, the CatalogName argument was a null pointer, and
the SQL_CATALOG_NAME InfoType returns that catalog names are supported.(DM)
The SQL_ATTR_METADATA_ID statement attribute was set to SQL_TRUE, and
the SchemaName, ProcName, or ColumnName argument was a null pointer.

-11119 Attribute cannot be set now.

This Informix ODBC error code is the same as SQLSTATE value HY011. The
following functions can return this error code: SQLBulkOperations, SQLSetConnectAttr,
SQLSetEnvAttr, SQLSetPos, and SQLSetStmtAttr.

For SQLBulkOperations and SQLSetPos, the driver was an ODBC 2.x driver;
the SQL_ATTR_ROW_STATUS_PTR statement attribute was set; then SQLSetPos
was called before SQLFetch, SQLFetchScroll, or SQLExtendedFetch was
called.

For SQLSetConnectAttr, the Attribute argument was SQL_ATTR_TXN_ISOLATION,
and a transaction was open.

For SQLSetEnvAttr, a connection handle has been allocated on EnvironmentHandle.(DM)
The Attribute argument was SQL_ATTR_OUTPUT_NTS, and the SQL_ATTR_ODBC_VERSION
attribute had not been set.

For SQLSetStmtAttr, the Attribute was SQL_ATTR_CONCURRENCY, SQL_ATTR_CURSOR_TYPE,
SQL_ATTR_SIMULATE_CURSOR, or SQL_ATTR_USE_BOOKMARKS, and the statement
was prepared.

-11120 Memory management error

This Informix ODBC error code is the same as SQLSTATE value HY013. The
following functions can return this error code: all ODBC functions except:
SQLGetDiagField and SQLGetDiagRec.

The function call could not be processed because the underlying memory
objects could not be accessed, possibly because of low memory conditions.

-11122 Cannot modify an implementation row descriptor.

This Informix ODBC error code is the same as SQLSTATE value HY016. The
following functions can return this error code: SQLCopyDesc, SQLSetDescField,
and SQLSetDescRec.

For SQLCopyDesc and SQLSetDescRec, DescHandle was associated with
an IRD.

For SQLSetDescField, the DescriptorHandle argument was associated
with an IRD, and the FieldIdentifier argument was not SQL_DESC_ARRAY_STATUS_PTR
or SQL_DESC_ROWS_PROCESSED_PTR.

-11123 Invalid use of an automatically allocated descriptor handle

This Informix ODBC error code is the same as SQLSTATE value HY017. The
following functions can return this error code: SQLFreeHandle and SQLSetStmtAttr.

For SQLFreeHandle, the Handle argument was set to the handle for an
automatically allocated descriptor.

For SQLSetStmtAttr, the Attribute argument was SQL_ATTR_IMP_ROW_DESC
or SQL_ATTR_IMP_PARAM_DESC.(DM) The Attribute argument was SQL_ATTR_APP_ROW_DESC
or SQL_ATTR_APP_PARAM_DESC, and the value in ValuePtr was an implicitly
allocated descriptor handle other than the handle originally allocated
for the ARD or APD.

-11127 Inconsistent descriptor information

This Informix ODBC error code is the same as SQLSTATE value HY021. The
following functions can return this error code: SQLBindParameter, SQLCopyDesc,
SQLGetDescField, SQLSetDescField, and SQLSetDescRec.

For SQLBindParameter, the descriptor information checked during a
consistency check was not consistent. The value specified for the argument
DecimalDigits was outside the range of values supported by the data
source for a column of the SQL data type specified by the ParameterType
argument.

For SQLCopyDesc, SQLSetDescField, and SQLSetDescRec, the descriptor
information checked during a consistency check was not consistent.

For SQLGetDescField, the SQL_DESC_TYPE and SQL_DESC_DATETIME_INTERVAL_CODE
fields do not form a valid ODBC SQL type, a valid driver-specific SQL
type (for IPDs), or a valid ODBC C type (for APDs or ARDs).

-11275 Cursor operation conflict

This Informix ODBC error code is the same as SQLSTATE value 01001. The
following functions can return this error code: SQLExecDirect, SQLExecute,
and SQLSetPos.

For SQLExecute and SQLExecDirect, StatementText contained a positioned
update or delete statement and no rows or more than one row were updated
or deleted. (For more information about updates to more than one row,
see the description of the SQL_ATTR_SIMULATE_CURSOR Attribute in SQLSetStmtAttr.)
(Function returns SQL_SUCCESS_WITH_INFO.)

For SQLSetPos, the Operation argument was SQL_DELETE or SQL_UPDATE,
and no rows or more than one row were deleted or updated. (For more
information about updates to more than one row, see the description
of the SQL_ATTR_SIMULATE_CURSOR Attribute in SQLSetStmtAttr.) (Function
returns SQL_SUCCESS_WITH_INFO.)

-11278 Fractional truncation.

This Informix ODBC error code is the same as SQLSTATE value 01S07. The
following functions can return this error code: SQLExecDirect, SQLExecute,
SQLExtendedFetch, SQLFetch, SQLFetchScroll, SQLGetData, and SQLSetPos

For SQLExecDirect, SQLExecute, SQLExtendedFetch, SQLFetch, SQLFetchScroll,
and SQLGetData, the data returned for an input/output or output parameter
was truncated such that the fractional part of a numeric data type was
truncated or the fractional portion of the time component of a time,
timestamp, or interval data type was truncated.

For SQLSetPos, the Operation argument was SQL_REFRESH, the data type
of the application buffer was not SQL_C_CHAR or SQL_C_BINARY, and the
data returned to application buffers for one or more columns was truncated.
For numeric data types, the fractional part of the number was truncated.
For time, timestamp, and interval data types that contain a time component,
the fractional portion of the time was truncated.

-11280 Invalid keyword.

This Informix ODBC error code is the same as SQLSTATE value 01S09. The
following function can return this error code: SQLDriverConnect.

For SQLDriverConnect, the string in *InConnectionString contained
a SAVEFILE keyword but not a DRIVER or FILEDSN keyword. (Function returns
SQL_SUCCESS_WITH_INFO.)

-11301 A protocol error has been detected. Current connection is
closed.

This Informix ODBC error code is the same as SQLSTATE value 08S01.

Connection is closed by the database server.

Try running the client application again.

-11305 SQLGetTypeInfo supported for FORWARD_ONLY Cursors

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following function can return this error code: SQLGetTypeInfo.

Change your cursor type to SQL_CURSOR_FORWARD_ONLY.

-11307 In SQLExtendedFetch, only SQL_FETCH_NEXT is supported for
SQL_SCROLL_FORWARD_ONLY cursors.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following function can return this error code: SQLExtendedFetch.

-11310 Create and Drop database must be executed within a ServerOnly
connection.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following function can return this error code: SQLPrepare.

Change your CONNECTDATABASE option to YES in the connect string for
SQLDriverConnect or remove this option from the connect string, as default
value of CONNECTDATABASE is YES.

-11320 Syntax Error

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLNativeSQL, SQLExecDirect,
and SQLPrepare.

Check your statement string for syntax error. Consult ODBC Reference
Manual for SQL syntax.

-11323 The statement contained an escape clause not supported by
this database driver.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLNativeSQL, SQLExecDirect,
and SQLPrepare.

Remove the escape clause from the statement string argument for the
above functions.

-11330 Invalid lo_stat structure.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following function can return this error code: SQLExecDirect.

Reopen the large object and then refetch the lo_stat structure.

-11331 Describe Parameter supported only for INSERT and UPDATE statements.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following function can return this error code: SQLDescribeParam.

-11332 Expected number of parameters does not match parameters returned
from server.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLExecDirect and SQLExecute.

Check the number of output parameters bound for that statement.

-11353 Database is not capable of supporting transactions. Check
logging mode.

This Informix ODBC error code is the same as SQLSTATE value 01S02. The
following function can return this error code: SQLSetConnectAttr.

-11354 Any open cursors are now invalid and must be closed before
being used.

This Informix ODBC error code is the same as SQLSTATE value 01000. The
following functions can return this error code: SQLExecDirect, SQLExecute,
and SQLSetConnectAttr.

-11414 Already in transaction. SPL routine could not get executed.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLExecDirect, SQLExecute,
SQLFetch, SQLFetchScroll, SQLExtendedFetch, SQLBulkOperations, SQLParamData,
and SQLSetPos.

Remove any redundant Begin Commit from the client application.

-11415 Cannot set LO Automatic option OFF when Standard ODBC Types
only is ON.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLSetStmtAttr and SQLSetConnectAttr.

Turn the SQL_INFX_ATTR_ODBC_TYPES_ONLY off first before turning the
SQL_INFX_LO_AUTOMATIC_ATTR off for a statement or connection.

-11416 Cannot set Standard ODBC Types only to ON when LO Automatic
option is OFF.

This Informix ODBC error code is the same as SQLSTATE value S1000. The
following functions can return this error code: SQLSetStmtAttr and SQLSetConnectAttr.

Turn the SQL_INFX_LO_AUTOMATIC_ATTR on first before turning the SQL_INFX_ATTR_ODBC_TYPES_ONLY
on for a statement or connection.

-11302 Insufficient Connection information was supplied.

This INFORMIX-CLI error code is an extended message to SQLSTATE value
S1000. INFORMIX-CLI functions that can generate this error: SQLConnect
and QLDriverConnect.

Check the connect string passed to SQLDriverConnect for accurate information
or check the DSN entries. You must supply the required values to connect.

-11303 Input Connection string too large.

This INFORMIX-CLI error code is an extended message to SQLSTATE value
S1000. INFORMIX-CLI functions that can generate this error: SQLDriverConnect
and SQLBrowseConnect.

Length of the connection string should be less than 1024 bytes.

-11317 Invalid CONNECTDATABASE value specified.

This is an extended message to SQLSTATE value S1000. Functions that can
generate this error: SQLBrowseConnect and SQLDriverConnect.

Valid values are YES and NO (not case-sensitive).

-11318 Invalid VMBCHARLENEXACT value specified.

This is an extended message to SQLSTATE value S1000. Functions that can
generate this error: SQLBrowseConnect and SQLDriverConnect.

The valid values are 0 and 1.

-11400 Cannot rollback the transaction.

The application has faulty logic or the database server is down. Check
the native error for more information.

-11401 TM down not successful.

TM did not shut down gracefully. Shut down and restart the MS DTC.

-11402 Not in DTC transaction.

You are trying to unenlist a transaction that is not in the MS DTC. This
situation occurs if the transaction timeout value is low. Use the MTS
explorer to increase the transaction timeout.

-11403 DSN required for DTC transactions.

Report this error to Informix Technical Support.

-11404 Failed to create RM in DTC transactions.

The amount of available memory is insufficient or the MS DTC log has become
corrupted. Check the amount of available memory and the MS DTC log.

-11405 Filed to get Resource Manager Object.

Report this error to Informix Technical Support.

-11406 Filed to get XID.

The MS DTC failed or the transaction timeout value is low. If the MS DTC
failed, restart it. Otherwise, use the MTS explorer to increase the transaction
timeout.

-11407 Opening of the database created error.

Check the Informix CLI error code. This problem might indicate that the
database was not created with a log.

-11408 Cannot enlist with RM.

The MS DTC might have failed. If so, restart it.

-11409 Failed to create Enlistment object out of memory.

The system has insufficient memory. Install more memory.

-11410 Prepare failed.

Report this error to Informix Technical Support.

-11411 Commit failed.

Report this error to Informix Technical Support.

-11412 Recover failed.

Report this error to Informix Technical Support.

-11413 Filed to connect to the server.

The database server might be down. If so, restart it.

-12000 Smart Large Objects: Cannot add entry to lofd table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12001 Smart Large Objects: Cannot add entry to lohd table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12002 Smart Large Objects: Cannot add entry to sbspace table.

Sbspace entry might already be in the table.

-12003 Smart Large Objects: Cannot add entry to chunkadj table.

Chunk with this number might already be in the table.

-12004 Smart Large Objects: Cannot add entry to arcreg table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12005 Smart Large Objects: Cannot add entry to arcspace table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12006 Smart Large Objects: Cannot add smart large object to truncation
Q.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12007 Smart Large Objects: Cannot add smart large object to delete
Q.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12008 Smart Large Objects: Cannot delete entry in lofd table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12009 Smart Large Objects: Cannot delete entry in lohd table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12010 Smart Large Objects: Cannot delete entry in sbspace table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12011 Smart Large Objects: Cannot delete entry in chunkadj table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12012 Smart Large Objects: Cannot delete entry in arcrec table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12013 Smart Large Objects: Cannot delete entry in arcspace table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12014 Smart Large Objects: Cannot find entry in lofd table.

An attempt was made to access a smart large object using an invalid LO
file descriptor.

Check that the LO file descriptor you supplied is correct and that
the smart large object is still open.

-12015 Smart Large Objects: Cannot find entry in lohd table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12016 Smart Large Objects: Cannot find entry in sbspace table.

Sbspace might not exist or invalid pointer.

-12017 Smart Large Objects: Cannot find entry in chunkadj table.

This error is an internal error.

If this error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12018 Smart Large Objects: Cannot find entry in arcrec table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12019 Smart Large Objects: Cannot find entry in arcspace table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12020 Smart Large Objects: Cannot unlock table entry.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12021 Smart Large Objects: Duplicate keys not allowed.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12022 Smart Large Objects: Duplicate entry in chunk adjtab.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12023 Smart Large Objects: chunk size is too small.

The smart-large-object chunk is less than the minimum required size. Increase
the chunk size in the onspaces command line. Check that you are using
the correct units.

-12024 Smart Large Objects: Chunk dropped from sbspace.

You attempted to reference a chunk that is being dropped from the sbspace.
If this error recurs, note all circumstances and contact Informix Technical
Support.

-12025 Smart Large Objects: Chunk not empty.

You attempted to drop a smart-large-object chunk that still contained
data. The chunk was not dropped. To ensure that chunks you want to drop
are empty, delete the rows that contain pointers to smart large objects
in the chunk or remove the smart-large-object pointers in the rows.

-12026 Smart Large Objects: Cannot delete smart large object.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12027 Smart Large Objects: Cannot delete SB_LOHD_SLOT.

You cannot delete the LO header page for a smart large object. The chunk
or sbspace might be inaccessible or the LO address might be invalid. Ensure
that the chunk is accessible. Ensure that the smart-large-object address
is still valid—that is, the smart large object has not already been removed.

-12028 Smart Large Objects: Cannot delete SB_LOMAP_SLOT.

You cannot delete an extent map for a smart large object. Ensure that
the chunk is accessible. If this error recurs, note all circumstances
and contact Informix Technical Support.

-12029 Smart Large Objects: Cannot delete SB_USERDATA_SLOT.

Cannot delete user data slot. First ensure that the chunk is accessible.
If this error recurs, note all circumstances and contact Informix Technical
Support.

-12030 Smart Large Objects: Cannot release memory buffer.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12031 Smart Large Objects: Sbspace is full.

The user data area or areas have insufficient storage for a write request.
Delete some smart large objects or add a chunk to the sbspace.

-12032 Smart Large Objects: Table is full.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12033 Smart Large Objects: Cannot insert SB_LOHD_SLOT.

You cannot insert a smart-large-object header page into the smart-large-object
header partition. Add a chunk to the smart-large- object space with a
metadata area.

-12034 Smart Large Objects: Invalid buffer size.

A smart-large-object read or write request specified an invalid length
for the input or output buffer. The length was likely less than 0. Correct
the smart-large-object application program.

-12035 Smart Large Objects: Invalid lock type.

You either passed an invalid lock type or tried to lock a byte range exclusively
after you opened the smart large object in read-only mode.

Check these two cases and use a valid lock type.

-12036 Smart Large Objects: Invalid sbspace name.

During a smart-large-object create operation, a nonexistent smart-large-object
space name was specified in the create specification.

Create the specified smart-large-object space with the onspaces -c
-S command or ensure that the create specification used the correct
sbspace name.

-12037 Smart Large Objects: Invalid seek position.

During a smart-large-object read or write operation, a seek position contained
an invalid value. The value was likely less than 0. Correct the smart-large-object
application program so that it specifies a valid read/write start position.

-12038 Smart Large Objects: Invalid access time flag combination.

During a smart-large-object CREATE or ALTER operation, a create specification
was provided that specified conflicting values for the access time flag.
Correct the smart-large-object application program. Ensure that the create
specification is set to the default NULL values before you provide it
to the smart-large-object subsystem. Use ifx_lo.

-12039 Smart Large Objects: Invalid whence value for seek.

The whence parameter for a smart-large-object seek or I/O operation contains
an invalid value. Set the whence parameter to the correct value.

-12040 Smart Large Objects: Invalid truncate value for size.

The new size parameter supplied to a truncate operation for a smart large
object was invalid. The new size parameter was probably less than zero.
Correct the smart-large-object application program.

-12041 Smart Large Objects: Size of smart large object or buffer
is too big.

The size after a write or truncate operation exceeds the maximum size
limit for the smart large object. The system does not allow the size of
the smart large object to exceed the maximum number of bytes that the
application sets. This size limit was set by the CREATE or ALTER statement
for the smart large object.

-12042 Smart Large Objects: Size of page is too big.

The page size specified during an sbspace creation operation is too big.
Specify a page size that is less than the platform-dependent maximum asynchronous
I/O size or is greater than the subsystem page-size limitation for the
smart large object.

-12043 Smart Large Objects: Invalid create flags.

The smart-large-object create specification contains mutually inconsistent
flags. Fix the create specification flags in the smart-large-object application
program so that the flags do not conflict. Before the create specification
is used, ensure that the create specification has been initialized to
the appropriate default values by using the function that Informix provides.

-12044 Smart Large Objects: Invalid integrity type flag combination.

The smart-large-object create specification contains conflicting flags
for the integrity field. Change the smart-large-object application program
so that no more than one integrity flag is set in the smart-large-object
create specification.

-12045 Smart Large Objects: Invalid logging mode combination.

The smart-large-object create specification contains conflicting flags
for the log-mode field. Change the smart-large-object application program
so that no more than one logging mode is specified in the smart-large-object
create specification. Before you use the create specification, ensure
that the create specification has been initialized to the proper default
values by using the functions that Informix provides.

-12046 Smart Large Objects: Cannot enter critical section.

Call to isenter() failed.

Contact Informix Technical Support.

-12047 Smart Large Objects: sb_lo_map_offs failed.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12048 Smart Large Objects: unique ID does not match. Smart large
object probably deleted.

The smart large object being referenced by the smart-large-object pointer
has been deleted.

Ensure that the smart-large-object pointer is valid and that the smart
large object has not been deleted. If you are keeping a smart-large-object
handle, then the reference count for the smart large object must be
greater than 0 or the database server deletes the smart large object
at session end.

-12049 Smart Large Objects: No memory.

The system ran out of memory during a smart-large-object operation.

Add more virtual memory or determine the cause of the memory leak.

-12050 Smart Large Objects: dbm_bfget: Cannot get a memory buffer.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12051 Smart Large Objects: Smart large object was not opened for
read.

You attempted to read a smart large object that was not open for reading.

Change the smart-large-object application program so that it opens
the smart large object in read mode.

-12052 Smart Large Objects: Smart large object was not opened for
write.

You attempted to write to a smart large object that was not open for writing.
Change the smart-large-object application program so that it opens the
smart large object for writing.

-12053 Smart Large Objects: No sbspace number specified.

No default sbspace was found, and the caller has not specified an sbspace
to use.

Either specify the smart-large-object space name in the smart-large-object
function call or set the SBSPACENAME onconfig file parameter to the
name of a valid smart-large-object space.

-12054 Smart Large Objects: Cannot open chunk adj partition.

The chunk might be down.

Ensure that the smart-large-object space chunk is up.

-12055 Smart Large Objects: Cannot open smart-large-object header
partition.

The chunk might be down.

Ensure that the smart-large-object space chunk is up.

-12056 Smart Large Objects: Cannot open sbspace.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12057 Smart Large Objects: Cannot open sbspace description partition.

The smart-large-object space is probably down, or an attempt was made
to open a space that should have been a smart-large-object space but was
not.

Ensure that the first chunk of the smart-large-object space is up.
Also ensure that an application program is not attempting to perform
TEXT or BYTE operations to a smart-large-object space.

-12058 Smart Large Objects: Cannot read chunk adjunct entry.

The smart-large-object space is corrupt or down.

If the space is down, perform the actions necessary to bring it back
on-line.

-12059 Smart Large Objects: open failed at read of smart-large-object
header.

Possibly you attempted to open a nonexistent or deleted smart large object.

Ensure that the system is not collecting unreadable data in the smart
large object because of a zero reference count. Ensure that the smart-large-object
handle is not getting corrupted.

-12060 Smart Large Objects: Cannot read SB_LOMAP_SLOT.

The database server cannot read the extent map for the smart large object.

Check to see if the smart-large-object space is corrupt or if the
chunk is down.

-12061 Smart Large Objects: Cannot read user data.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12062 Smart Large Objects: Error in user data free list.

User data free list cannot be manipulated.

-12063 Smart Large Objects: Cannot update SB_LOHD_SLOT.

Cannot read smart-large-object header page for smart large object. Cannot
update smart-large-object header page for smart large object.

-12064 Smart Large Objects: Cannot update SB_LOMAP_SLOT.

Cannot update extent map for smart large object.

-12065 Smart Large Objects: Cannot update optimization data.

Optimization data cannot be put into the sbspace description entry.

-12066 Smart Large Objects Archive: Cannot build pre-image temporary
partition.

An attempt to create a temporary partition during an archive failed.

Ensure that the dbspace in which temporary partitions are placed is
not full and is accessible.

-12067 Smart Large Objects Archive: Cannot extend pre-image temporary
partition.

An attempt to lengthen a temporary partition during an archive failed.

Ensure that the dbspace in which temporary partitions are placed is
not full and is accessible.

-12068 Smart Large Objects Archive: Cannot drop pre-image temporary
partition during archive.

An attempt to drop the pre-image temporary partition failed. Ensure that
the dbspace in which temporary partitions are placed is accessible.

-12069 Smart Large Objects Archive: Cannot write pre-image page to
temporary partition.

An attempt to write a pre-image page during archive failed. Ensure that
the dbspace in which the temporary partitions are placed is accessible.

-12070 Smart Large Objects Archive: Cannot read pre-image page from
temporary partition.

An attempt to read a pre-image page during archive failed. Ensure that
the dbspace in which the temporary partitions are placed is accessible.

-12071 Smart Blobs Archive: During restore, a page write failed.

During an archive restore, a page-write operation to the chunk failed.
Ensure that the device is accessible.

-12072 Smart Large Objects: Not implemented.

An unimplemented smart-large-object feature was accessed. Wait until the
next release.

-12073 Smart Large Objects Archive: Archive already active on sbspace.

Another archive is already running on the same sbspace. Ensure that you
do not have another archive running on the same sbspace. Only one archive
operation on an sbspace at a time is permitted.

-12074 Smart Large Objects: Free extension list overflow.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12075 Smart Large Objects Archive: Cannot delete arch rec table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12076 Smart Large Objects Archive: Cannot create arch space table.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12077 Smart Large Objects Archive: Unexpected exit condition.

During an archive, the database server detected that the number of pages
it expected to read from the chunk was not the number of pages that actually
could be read. Try restarting the archive.

-12078 Smart Large Objects Archive: Illegal level specified for archiving.

You specified an illegal archive level. You must specify an archive level
of 0, 1, or 2.

-12079 Smart Large Objects: Cannot decrement zero reference count.

The reference count for the smart large object is already 0. Attempts
to decrement the reference count to less than 0 are ignored.

-12080 Smart Large Objects Archive: Page is outside user data area.

An attempt was made to archive a page outside the user data area. If this
error recurs, note all circumstances and contact Informix Technical Support.

-12081 Smart Large Objects Archive: illegal control page type in
arc.

The archive tape was corrupted either by a user error or a database server
malfunction. Ensure that the archive file was not corrupted through user
error. If the archive file is intact, the database server malfunctioned.
You can either try to create another archive of the same sbspace, or you
can remove the sbspace from the list of spaces to be archived and try
to archive the remaining spaces.

-12082 Smart Large Objects Archive: invalid state encountered.

The smart-large-object archive program encountered an archive record that
was out of sequence. Ensure that the archive file has not been corrupted
through user error. If the archive file is intact, the database server
malfunctioned. You can either try to create another archive of the same
sbspace, or you can remove the sbspace from the list of spaces to be archived
and try to archive the remaining spaces.

-12083 Smart Large Objects: Restore: END_DESC record found before
SB_ARC_CHUNK_RECS record.

The archive tape was corrupted either by a user error or a database server
malfunction. Ensure that the archive file was not corrupted through user
error. If the archive file is intact, the database server malfunctioned.
You can either try to create another archive of the same sbspace, or you
can remove the sbspace from the list of spaces to be archived and try
to archive the remaining spaces.

-12084 Smart Large Objects: Restore: NULL control info block ptr;
archive records out of order.

The archive tape was corrupted either by a user error or a database server
malfunction. Ensure that the archive file was not corrupted through user
error. If the archive file is intact, the database server malfunctioned.
You can either try to create another archive of the same sbspace, or you
can remove the sbspace from the list of spaces to be archived and try
to archive the remaining spaces.

-12085 Smart Large Objects: Restore: SB_ARC_END_DESC record not found
for this chunk.

The archive tape was corrupted either by a user error or a database server
malfunction. Ensure that the archive file was not corrupted through user
error. If the archive file is intact, the database server malfunctioned.
You can either try to create another archive of the same sbspace, or you
can remove the sbspace from the list of spaces to be archived and try
to archive the remaining spaces.

-12086 Smart Large Objects: open: invalid open flags detected at
smart-large-object open time.

A programmer entered conflicting smart-large-object open flags. For instance,
LO_LOG and LO_NOLOG cannot be set at the same time. Check open-flag settings
to ensure that conflicting flags are not being set. In addition, ensure
that the smart-large-object open-flag field is initialized.

-12087 Smart Large Objects: alter: attempt to change physical characteristics
of a smart large object in sb_alter.

The database administrator attempted to perform an alter operation on
a smart-large-object column that requires physical reorganization or relocation
of the smart large objects.

Do not attempt to reorganize smart large objects physically. As an
alternative to physical reorganization, try using the LOCopy function
to copy smart large objects to a new location with different physical
attributes.

-12088 Smart Large Objects: create: number of estimate bytes < -1.

The application programmer has specified an invalid value for the estimated
number of bytes in a smart large object. If the number of bytes in a smart
large object is unknown, set the estimated-number-of-bytes field to -1
or call ifx_lo_def_create_spec or the equivalent mi function and then
leave this field alone.

-12089 Smart Large Objects: create: size limit of smart large object
< -1.

The application programmer specified an invalid value for the size limit
of the smart large object. If the number of bytes in a smart large object
is unknown, set the estimated-number-of-bytes field to -1 or call ifx_lo_def_create_spec
or the equivalent mi function and then leave this field alone.

-12090 Smart Large Objects: create: invalid column parameters.

The database server received a smart-large-object create specification
that has invalid values in the column portion. Either the application
programmer forgot to call the ifx_lo_def_create_spec function or the mi
equivalent with create specification, or the create specification data
structure has been corrupted.

-12091 Smart Large Objects: the in-memory sbspace table doesn’t exist.

Database server initialization error.

-12092 Smart Large Objects: sbspace exists but is currently down.

Either the database server or the database administrator brought the smart-large-object
space down. Look at the database server log to determine why the sbspace
is down. You might need to bring up the sbspace.

-12093 Smart Large Objects: archive failed to create a mutex and
aborted.

The system could be out of memory.

-12094 Smart Large Objects: bad temporary partition page number.

If this error recurs, note all circumstances and contact Informix Technical
Support.

-12095 Smart Large Objects: create: Invalid Ext. size ()
Ext. size < -1 or > MAXINT.

The application programmer specified an invalid value for the estimated
number of bytes in a smart large object. If the extent size is out of
range for a smart large object, set the estimated extent size to -1 or
call ifx_lo_def_create_spec or the equivalent mi function and then leave
this field alone.

-12096 Smart Large Objects: alter: New size limit < number of bytes
in the smart large object.

The application programmer specified an invalid value for the size limit.
The value must be greater than or equal to the current number of bytes
in the smart large object. If the new size limit is less than the current
number of bytes in the smart large object, do not alter the value in the
header.

-12097 Smart Large Objects: open: Bad smart-large-object address.
Object might have been deleted.

Object might have been deleted.

-12098 Smart Large Objects: Sbspace corrupted.

If this internal error code for access sequence recurs, note all circumstances
and contact Informix Technical Support.

-12099 Smart Large Objects: Archiver found a smart large object with
a corrupted header.

The archiver detected a smart large object missing an extent map slot
or a header slot. The archive process is corrupted.

-12100 Smart Large Objects: A bad value was entered for the sbpage
unit.

The page unit must be between 1 and the maximum asynchronous I/O size.
Re-execute the creation command with a correct page unit.

-12101 Smart Large Objects: A bad value was entered for the average
smart-large-object size.

You entered a bad value for avg_lo_size, in kilobytes, during the creation
of an sbspace. Re-execute the creation command with a correct average
smart-large-object size, in kilobytes.

0 <= Smart Large Object < 2 Terabytes

-12102 Smart Large Objects: A bad Meta Data Area was entered for
the smart large object.

The metadata area received a bad value during the creation of a smartblob
sbspace. Re-execute the creation command with a correct metadata size:

0 <= metadata area size < chunk size

-12103 Smart Large Objects: Attempt to open a non-sbspace as an sbspace.

The smartblob subsystem detected an attempt to open a smart-large-object
space when the space specified was really a dbspace or a blobspace. The
application might be attempting to use the smart-large-object application
programming interface on a space that is not a smart-large-object space.
Ensure that you are only using the smart-large-object commands and interface
on a smart-large-object space and on smart large objects. The smart-large-object
API cannot be used on TEXT and BYTE data types.

-12104 Smart Large Objects: Inconsistent LO map was encountered.

Contact Informix Technical Support.

-12105 Smart Large Objects: An attempt to change the sbspace name
was made.

In an alter operation, an attempt was made to change the name of the sbspace
for the smart large object. You cannot change an sbspace name with the
alter operation.

Re-execute the alter operation with a NULL sbspace name in the LO-specification
structure or the name of the sbspace in which the smart large object
currently resides.

-12106 Smart Large Objects: Could not find delete Q for transaction.

This error is internal.

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12108 Smart Large Objects: Unknown version.

Server encountered an unknown version during conversion of smart-large-object
metadata. Make sure that you are converting/reverting to a supported version
of the server.

-12109 Smart Large Objects: Conversion failed.

During conversion/reversion of server, conversion/reversion of sbspace
failed.

Your smart blob space might have been corrupted before conversion.

Run oncheck -cS and oncheck -ce on all sbspaces before conversion.
If an sbspace is corrupt, you might need to restore the sbspace from
a backup before conversion.

-12110 Smart Large Objects: Could not find suitable size extent.

Server could not find a suitable size extent for a smart large object.
A write request might not be complete.

Delete some smart large objects or add a chunk to the sbspace.

-12111 Smart Large Objects: Attempt to write to a smart large object
without closing light IO scan.

The user tried to write to a smart large object that is currently opened
for a lightweight I/O scan.

Close the open smart large object and open it again (without lightweight
I/O) before you write to the smart large object.

-12112 Smart Large Objects: Conversion from using buffers to light
IO not allowed.

The user tried to change the buffering mode of a smart large object from
buffered I/O to lightweight I/O.

This type of conversion is currently not allowed.

-12113 Smart Large Objects: Attempt to convert from using light IO
to buffers while LO is open.

The user tried to alter a smart large object with either ifx_lo_alter()
(ESQL/C) or mi_lo_alter() (DAPI) while some instances of the smart large
object are currently open.

Close all open instances of the smart large object before altering
the buffering mode with ifx_lo_alter() or mi_lo_alter().

-12114 Smart Large Objects: Archive not started.

This error is internal. The smart-large-object subsystem was asked to
build a user-data extent list before the archiving started.

-12115 The LO header page is a wrong length — probably corrupted.

An internal error probably occurred and corrupted the LO header.

Delete and recreate the smart large object or restore the sbspace
from an archive.

-12116 Smart Large Objects: Bad LO header.

LO header read from disk is bad. Refer to log file for LO id. Most likely
sbspace is corrupt. Restore the sbspace from backup.

-12117 Smart Large Objects: Bad LO header (encountered during deletion).

LO header read from disk is bad. Most likely sbspace is corrupt. Run oncheck
-ce on the sbspace. You might need to restore the sbspace from an archive.

-12118 Smart Large Objects: Bad LO extent map.

The extent map record for the smart large object is corrupt. Most likely
the sbspace is corrupt. Run oncheck -ce on the sbspace. You might need
to restore the sbspace from an archive.

-12119 Smart Large Objects: reversion of sbspace failed.

The database server reversion you attempted encountered an error during
the reversion of the sbspace.

You can find the reason for this failure in the log file. If the error
is recoverable, retry the reversion. If the error persists, contact
Informix Technical Support.

-12120 Smart Large Objects: Duplicate key encountered in sbspace
create.

During the creation of an sbspace, it was noticed that the sbspace number
was the same as some other sbspace number. The most common cause of the
problem is failure to create an sbspace in an earlier attempt.

Rebooting the database server will remove the entry from the internal
table.

-12121 Smart Large Objects: The sbspace is flagged as dropped.

You are attempting an operation on an sbspace that someone else is trying
to drop. Perhaps they are using a forced drop command. Do not use sbspaces
that are being dropped. The force drop allows you to drop an sbspace that
contains data.

-12122 Smart Large Objects: drop of the sbspace chunk is already
occurring.

You are probably attempting an operation that might be in conflict with
a chunk drop operation that is already occurring (for example, trying
to drop a chunk when sbspace is being dropped). Retry the operation later.

-12123 Smart Large Object: Metadata is full.

The metadata area in the smart-large-object space has insufficient storage
for a create or write request.

Delete some of the smart large objects or add a chunk with metadata
space to the sbspace. Use the -Ms option of onspaces to add additional
metadata space.

-12124 Smart Large Objects: The archive preimage partition doesn’t
exist.

An internal error occurred in the archiver. The preimage partition should
exist at this point but it does not.

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12125 Smart Large Objects: No more slots in LO header partition.

This is an internal code

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12126 Smart Large Objects: LO is not opened for byte range locking.

A call to one of the byte-range locking functions has attempted to specify
a byte-range lock:

  • ESQL/C: ifx_lo_lock() or ifx_lo_unlock()
  • DAPI: mi_lo_lock() or mi_lo_unlock()

The smart large object is currently opened for locking at the whole-object
level.

Close the smart large object, then reopen the smart large object with
the LO_LOCKRANGE (ESQL/C) or MI_LO_LOCKRANGE (DAPI) lock-mode flag set.

-12127 Smart Large Objects: Invalid range size in byte range lock
/ unlock call.

A call to one of the byte-range locking functions specifies a range size
that is invalid:

  • ESQL/C: ifx_lo_lock() or ifx_lo_unlock()
  • DAPI: mi_lo_lock() or mi_lo_unlock()

An invalid range size is either a negative value or has the following
sum that results in an INT8 overflow:

offset + range size

Use a valid range size in the byte-range locking function.

-12128 Smart Large Objects: Invalid offset in byte range lock / unlock
call.

A call to one of the byte-range locking functions specifies an offset
that is invalid:

  • ESQL/C: ifx_lo_lock() or ifx_lo_unlock()
  • DAPI: mi_lo_lock() or mi_lo_unlock()

An invalid offset means that the provided combination of (offset, whence)
results in a negative value.

Use a valid (offset, whence) combination in the byte-range locking
function.

-12129 Smart Large Objects: Failed to create condition variable in
smart-large-object open call.

The error might be generated when an out-of-memory condition occurs.

Check that you have closed all instances of smart large objects that
are no longer in use. Also check the memory available to ensure that
you have enough.

-12130 Smart Large Objects: Failed to create chunk because someone
else is also creating one.

You tried to create chunks concurrently and had a conflict.

Try to create the chunk again.

-12131 Smart Large Objects: Metadata area in the chunk contains data.

During a chunk drop, the metadata area in the chunk was not empty. The
metadata area must be empty for the chunk to be dropped without dropping
the sbspace.

Try to empty the metadata area by deleting all the smart large objects
in the chunk. If you do not want the smart large objects, you can also
«force» drop the sbspace.

-12132 Smart Large Objects: Invalid lock type for lock merge.

This message is an internal error code.

Contact Informix Technical Support to report the error. Try creating
the sbspace again.

-12133 Smart Large Objects: During the creation of the sbspace, the
desc partition was not the first in the sbspace.

An internal database server error occurred. The sbspace is likely corrupt
or is not an sbspace.

Contact Informix Technical Support to report the error. Try creating
the sbspace again.

-12134 Smart Large Objects: During creation of the sbspace, the sbspace
desc record was not the first in the partition.

An internal error occurred.

Contact Informix Technical Support to report the error. Try creating
the sbspace again.

-12135 Smart Large Objects: Cannot initialize the smart-large-object
subsystem.

The most likely cause of this error is that you are out of memory.

Increase the amount of available memory.

-12136 Smart Large Objects: smart-large-object space is valid.

This is an internal code

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12137 Smart Large Objects: sbspace does not exist.

The sbspace entry has been removed while it was in use. Someone probably
did a force drop of the sbspace.

-12138 Smart Large Objects: Attempt to open an LO with light I/O
and byte range locking.

At open time, you specified an unsupported combination of options. Byte-range
locking is not supported with light I/O. Check your program and remove
one of the blob open flags (MI_LO_NOBUFFER flag or MI_LO_LOCKRANGE flag).

-12139 Smart Large Objects: Invalid option.

An invalid option was specified for changing sbspace characteristics.
Certain characteristics of an sbspace cannot be changed, such as the chunk
offsets.

-12140 Smart Large Objects: Aborted by user.

No changes have been made to the sbspace. Utility aborted by user.

-12141 Smart Large Objects: sbspace is not fully recovered.

You are trying to access a smart large object created in an sbspace that
is not recovered yet. When the system opens an sbspace, it must be physically
and logically restored before the open attempt.

Wait until the recovery is complete before accessing the smart large
object.

-12142 Smart Large Objects: Invalid sbspace number.

The sbspace ID number you specified is incorrect. It is either out of
range or does not refer to a valid smartblob space.

Correct the sbspace ID number and retry the operation.

-12143 Smart Large Objects: Invalid chunk number.

The chunk number in an LO handle is not valid. Either it is out of
range, or it does not exist. Most likely the LO handle is corrupt. If
you are getting this error in an ESQL program, make sure that the LO
handle is valid. In addition, ensure that you did not force drop the
chunk.

-12144 Smart Large Objects: Some space is allocated.

A chunk allocated to an sbspace is not empty. Some of its space is allocated
to either metadata or user data. This error is internal.

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12145 Smart Large Objects: sbspace is not fully recovered.

An attempt was made to archive an sbspace that is not recovered or consistent.
An sbspace must be on-line and consistent before a backup is attempted.
Wait until the recovery is complete before backup. If the sbspace is on-line,
check the sbspace using oncheck -cS and oncheck -ce. If it is inconsistent,
you need to restore it from a backup first.

-12201 Smart Large Objects: Non zero reference count.

You are trying to delete a smart large object whose reference count is
not zero.

-12202 Smart Large Objects: Non zero open count.

You are trying to delete a smart large object whose open count is not
zero.

-12203 Smart Large Objects: Cannot add LO to delete undo queue.

This error is internal.

If the error recurs, refer to your Administrator’s Guide to acquire
additional diagnostics. Contact Informix Technical Support with the
diagnostic information.

-12204 RSAM error: Long transaction detected.

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 database server ended the current operation that
caused the long transaction.

Terminate the application and replan it so that it requires less log
space in a 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.

-12205 Smart Large Objects: No free disk space for archive preimage
partition.

The database server ran out of space from rootdbs while extending the
temp archive preimage partition.

Add more space to rootdbs and restart the archive.

-12800 Unsuspected internal error.

An inconsistency has been found in the data used to invoke access method
routines.

-12801 An attempt was made to invoke an access_method routine that
does not exist.

An SQL statement has been used that would normally cause a particular
access method routine to be invoked, but the routine is not defined for
that access method. Unless the routine is defined for the corresponding
access method purpose, the SQL statement cannot be used for that access
method.

-12802 Error in initializing an access_method routine execution sequence.

An access_method routine cannot be made ready to execute. For example,
the external name used in the CREATE FUNCTION statement that defined the
access method routine might not exist. Check that the routines used for
the access method are properly defined.

-12803 Error in executing an access_method routine execution sequence.

An error occurred when an attempt was made to execute an access_method
routine. Try the statement again.

-12804 Error indicated by an access_method routine.

An access_method routine returned MI_ERROR.

-12805 Improper return value from access_method routine.

An access_method routine returned a value that is not valid. Possibly
a bug exists in the access_method routine.

-12806 Unable to build row descriptor.

An error occurred in building a row descriptor to be used by an access_method
routine.

-14500 CSS: error

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14501 CSS: out of memory

Not enough memory to run in this configuration.

Check the system parameters.

-14502 CSS: CSM not found.

Communication Support Services could not locate a Communications Support
Module with the given name.

Check the Communications Support Module definition in the concsm.cfg
file, and the CSM option field in the sqlhosts file.

-14503 CSS error loading

Communication Support Services failed to load the library that contains
a Communications Support Module.

Check the path name of the CSM library in CSS configuration file,
and Make sure it is a valid shared library.

If the problem persists, contact Informix Technical Support or the
CSM vendor and have the following information available: CSS configuration
files and sqlhosts information for both the client and the database
server.

-14504 CSS: unsupported CSM version in

Communication Support Services does not support the version of the Communications
Support Module interface that a given Communications Support Module uses.

Make sure the database server or client application support the CSM
interface version in question.

If the problem persists, contact Informix Technical Support or the
CSM vendor and have the following information available: the version
of the database server or the client SDK.

-14506 CSS: CSM : unexpected return code

A Communications Support Module returned an unusual completion status.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14507 CSS: cascade disconnected.

For Communications Support Module: the peer disconnected.

If the disconnection seems unexpected and the problem persists, contact
Informix Technical Support or the CSM vendor and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-14508 CSS: error getting flags from CSM .

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14509 CSS: CSM disconnected inside cascade.

For Communications Support Module: a Communications Support Module inside
the cascade disconnected.

If the disconnection seems unexpected and the problem persists, contact
Informix Technical Support or the CSM vendor and have the following
information available: CSS configuration files and sqlhosts information
for both the client and the database server.

-14510 CSS: null buffer owner

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14511 CSS: init function is not found in library .

A shared library that contains a Communications Support Module does not
export a Communications Support Module initialization function.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14512 CSS: shared library name is not specified.

The CSM library path name in the CSS configuration file is missing, or
there is an error.

Check the CSS configuration file.

If the problem persists, contact Informix Technical Support or the
CSM vendor and have the following information available: CSS configuration
files and sqlhosts information for both the client and the database
server.

-14513 CSS: CSM cannot finish a service operation.

A Communications Support Module is deadlocked. It requires more data without
having an adequate data source. This is an internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14551 CSS: CSM: no CSM name specified.

The user did not specify the name of a Communications Support Module to
be used.

Check the CSM option field in the sqlhosts file, and the CSS configuration
file.

-14562 CSS: no buffer management function provided.

Communication Support Services caller did not provide a buffer management
function in I/O reference context to Communication Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14563 CSS: error writing data.

Communication Support Services internal error.

Failure performing data output.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14564 CSS: no output function provided.

Communication Support Services internal error.

Communication Support Services caller did not provide a data output
function in I/O reference context to Communication Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14565 CSS: error reading data.

The database server or client’s attempt to receive data to establish Communication
Support Services (CSS) context failed.

Probable causes of the error and corrective actions follow:

* This error usually occurs when the CSM option is turned on and the

database server or the network is very busy, or when too
many clients are trying to connect to the database server at once. The
database server might be taking so long to respond to a client that
the client’s connection request times out before the connection is complete.
Or possibly a client terminates its connection attempt before the connection
is completely established.

Use the environment variable INFORMIXCONTIME or INFORMIXCONRETRY,
or both, on the client side to increase the connection time and the
number of retry attempts.

* Either the database server or the client application exits abnormally

due to an error condition. The other side which is waiting
for data from the failed side would report this error. Check the error
on the failed side for the root cause of the problem.

If the problem persists, contact Informix Technical Support
or the CSM vendor and have the following information available: CSS
configuration files (concsm.cfg) and sqlhosts information for both the
client and the database server.

-14566 CSS: no input function provided.

Communication Support Services internal error.

Communication Support Service caller did not provide a buffer management
function in reference context to Communication Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14567 CSS: buffer management function return code .

Communication Support Services internal error.

Error while disposing of a data buffer provided by a Communication
Support Services caller.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14571 CSS: null CSS library context.

Communication Support Services internal error.

Communication Support Services caller passed a null library context
to Communication Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14572 CSS: null I/O reference context.

Communication Support Services internal error.

Communication Support Services caller passed a null I/O reference
context to Communication Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14573 SS: bogus iterator direction.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files and sqlhosts
information for both the client and the database server.

-14574 CSS: error processing initialization string: .

Communication Support Services could not get access to a Communications
Support Module configuration provided by a Communication Support Services
caller.

Check the configuration file, and the CSM option field in the sqlhosts
file. If the problem persists, contact Informix Technical Support or
the CSM vendor and have the following information available: CSS configuration
files (concsm.cfg) and sqlhosts information for both the client and
the database server.

-14575 CSS: invalid run-time parameters.

There is an error in the CSS configuration file (concsm.cfg).

Check CSS configuration file, and the CSM option field in the sqlhosts
file. If the problem persists, contact Informix Technical Support or
the CSM vendor and have the following information available: CSS configuration
files (concsm.cfg) and sqlhosts information for both the client and
the database server.

-14576 CSS: null CSS context.

Communication Support Services internal error.

Communication Support Services caller passed a null context to Communication
Support Services.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14577 CSS: no registered output buffer owner.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14578 CSS: null output buffer owner.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14579 CSS: unspecified buffer type.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14581 CSS: CSM descriptor: syntax error.

The Communications Support Module descriptor contains a syntax error.

Check the Communications Support Module descriptor in the concsm.cfg
file. If the problem persists, contact Informix Technical Support or
the CSM vendor and have the following information available: CSS configuration
files (concsm.cfg) and sqlhosts information for both the client and
the database server.

-14582 CSS: CSM descriptor: CSM redefinition.

A Communications Support Module with this name has already been defined.

Check CSS configuration file, and the CSM option field in the sqlhosts
file.

-14583 CSS: CSM descriptor: CSM not defined.

The cascade descriptor refers to a Communications Support Module that
is not defined.

Check CSS configuration file, and the CSM option field in the sqlhosts
file.

-14584 CSS: CSM descriptor: link method undefined.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14585 CSS: CSM descriptor: unknown error

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14586 CSS: CSM descriptor: nameless CSM!

A Communications Support Module descriptor does not specify the Communications
Support Module name.

Check CSS configuration file, and the CSM option field in the sqlhosts
file.

-14587 CSS: CSM descriptor : .

Cascade descriptor recursively refers to itself.

Check CSS configuration file, and the CSM option field in the sqlhosts
file.

-14588 CSS: CSM descriptor : CSM link type undefined.

Communications Support Module library name is not specified.

Check CSS configuration file, and the CSM option field in the sqlhosts
file.

-14590 CSS: failed to acquire sync object.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-14591 CSS: failed to release sync object.

Communication Support Services internal error.

Contact Informix Technical Support or the CSM vendor and have the
following information available: CSS configuration files (concsm.cfg)
and sqlhosts information for both the client and the database server.

-16300 Identifier is too long.

An identifier in this statement is too long for its context. Check if
you have omitted a separator between two identifiers, or select a shorter
identifier.

-16301 A syntax error has occurred.

A syntax error has been detected in a Debugger command. Check that you
have not misspelled or omitted a keyword or identifier, included an extra
command argument, or placed keywords out of sequence. Check if you have
omitted parentheses after a function name in a CALL command or included
them in a VIEW command. To display a two-page synopsis of all the commands,
enter help all.

-16302 An illegal character has been found in the command.

Characters in Debugger commands are restricted to letters, numbers, blanks,
underscores, and the special characters that are listed in the section
«Conventions for Command Syntax Notation» in the Debugger manual. You
might have pressed a key inadvertently, or you might have introduced illegal
characters when you edited a file that provided input to a READ command.
If you create or modify a .4db file with a word-processing program, be
sure to save it in nondocument or text-only mode.

-16303 An illegal integer has been found in the command.

Your expression or search pattern includes a numeric string of more than
50 characters. Repeat the command, specifying a shorter expression or
search pattern.

-16304 An illegal floating point number has been found in the command.

Your expression or search pattern includes a floating-point numeric string
of more than 50 characters or includes more than one decimal point. Repeat
the command, specifying a shorter expression or search pattern, or fewer
decimal points.

-16305 Memory allocation failed.

Not enough system memory is available to execute your command. Repeat
the command at another time, when other users are making smaller demands
on system memory. On DOS systems, you will need to free some disk space.

-16306 Found a quote for which there is no matching quote.

You might have omitted a quotation mark from a name or string, or included
an extraneous quotation mark. Repeat the command, using an even number
of single (‘) or double («) quotes.

-16307 Quoted string is too long.

The maximum length of a quoted string is 256 characters. Repeat the command
with a shorter string.

-16308 Missing function name.

You must specify the name of a function in a CALL command. Repeat the
command, specifying the name of a function followed by left and right
parentheses. If the function requires arguments, include the list of arguments
within the parentheses, separating multiple arguments by commas.

-16309 Internal buffer limit exceeded.

Your command has too many characters. A Debugger command can include no
more than 256 characters. If you are specifying an ALIAS, BREAK, or TRACE
command that includes many command lines within braces, you might consider
using nested aliases. You can cause a function key or a short string to
stand for hundreds of keystrokes by specifying it as the alias of a list
of aliases, each of which represents fewer than 256 characters. Another
alternative is to use READ commands, rather than aliases, to enter multiple
commands.

-16310 Keyword expected.

You have omitted a required command option. Enter help all to display
the names of all the Debugger commands or refer to the manual.

-16311 Command name is not recognized.

You have misspelled the name of the command or improperly abbreviated
it. Enter help to see a display of the names of all the Debugger commands.
If the string name appears to be a valid command name, you might have
also pressed a nonprinting key when you entered it.

-16312 Missing or misplaced = sign.

The LET command always requires an equal sign (=) as does ALIAS without
the asterisk option. Repeat the command and be sure to use the equal sign
in the appropriate place.

-16313 Missing module line number.

In a BREAK or TRACE command, you specified the name of a module, followed
by a dot, followed by a noninteger. The module name must be followed by
a dot and a line number that is an integer.

-16314 Missing filename.

If the Debugger is already loaded, you have not specified a filename after
a READ command or after a command to redirect output to a file. Repeat
the command, specifying the name of an input or output file.

If you were at the system prompt, you used the -F command-line option
to invoke the Debugger, but you did not specify the name of an initialization
file. Repeat the command, but this time either omit the -F option or
specify the name of a .4db initialization file following the -F option.

-16315 Missing ).

Either you omitted a right parenthesis from a command argument, or you
included a superfluous left parenthesis.

-16316 A small integer is expected.

You must supply a positive or negative integer as an argument of a GROW
command. Repeat the command, specifying the number of lines to be added
to the size of the window. The sum of this integer and the current size
must be in the range from 1 to L-6, where L is the number of lines that
your terminal can display (often 24).

-16317 Program variable name expected.

A Debugger LET command requires three arguments:

  • The identifier of a program variable
  • An equal sign (=)
  • An expression whose value is assigned to the variable

The identifier could not be recognized in the command that you entered.

-16318 Positive number or name expected.

The ENABLE, DISABLE, NOBREAK, and NOTRACE commands all require an argument.
This argument can be a breakpoint or tracepoint name, reference number,
function name, or the ALL option. If the argument that you entered in
the Command window looks valid, you might have also pressed a nonprinting
key.

-16319 Internal error — illegal command.

This message reflects an unexpected condition in the command-parsing module
of the Debugger. If the error recurs, please note all circumstances and
contact Informix Technical Support.

-16320 Missing left brace.

You must use left and right brace characters ({ and }) in balanced pairs.

-16321 Alias alias-name is an existing command keyword.

The name of an alias cannot be the complete form of a Debugger command.
(However, you can assign an abbreviated form of a command keyword as an
alias.) Repeat the command using another alias identifier.

-16322 Missing directory list.

You used the -I command-line option when you invoked the Debugger, but
you did not specify a source-file search path. Repeat the command, and
either omit the -I option or specify a search path with it.

-16323 User cannot specify more than one directory list.

You can use the -I option only once on the command line. However, you
can specify more than one search path in the list following -I. Repeat
the command, listing all the desired source-file search paths, separated
by commas, following a single -I option.

-16324 User cannot specify more than one file name.

You can use the -F option only once on the command line. Repeat the command
specifying only one initialization file. After the Debugger starts, you
can enter READ commands to execute additional .4db files.

-16325 Missing or extra parameter.

You omitted or repeated a command-line option. Repeat the command after
you check the description of the fgldb command in the Debugger manual.

This message also appears if you attempt to pass parameters to the
program that is being debugged. The correct way to give command-line
parameters to the subject program is to include them with the run command
when you start the program.

-16326 Missing program name.

If you invoke the Debugger at the system prompt, you must include as an
argument the name of a compiled 4GL program (or else, in UNIX, use the
option -V to indicate that you want a display of only the software version
number). Repeat the command, specifying the name of a compiled program
this time.

-16327 Cannot locate file filename.

Possibly you omitted or misspelled the filename of a .4db input file (either
in a READ command or following the -F command-line option), or you misspelled
the filename or pathname of a .4gl source file in a VIEW command or on
the command line.

If filename is spelled correctly and names a file that exists, then
you might need to specify a complete pathname. You must specify the
full pathname of a file when you refer to a .4db file that is not in
the current directory, or to a .4gl source file that is not in the current
directory or any directory that you specify with the -I command-line
option.

-16328 Cannot read initialization file filename.

Although the Debugger found the file that you specified with the -F parameter,
it encountered an error when it tried to read from the file. Check for
operating-system error messages that might provide more details. If the
problem is not a hardware error, make sure that your account has read
access to the file (for instance, by displaying its contents).

-16329 Pathname too long.

The Debugger will accept pathnames of up to 70 characters.

-16330 Cannot open file filename for reading.

Make sure that you specified the correct filename in your READ or VIEW
command, or after the -F option when you invoked the Debugger from the
command line. If the name was correct, the file might be damaged or read
protected. If you do not have permission to read it, refer to the discussion
of access privileges in your operating-system documentation, or contact
your system administrator.

-16331 Too many recursive aliases.

In some debugging tasks, aliases that reference other aliases can save
time or circumvent limits on the number of characters in a Debugger command
line. For example, you can specify alias1 to be a substring of alias2,
which can be a substring of alias3, and so forth up to alias5. However,
you cannot specify more than five levels of aliases between your keystrokes
and the fully expanded commands for which they stand.

-16332 Duplicate function name function-name.

The function name shown was found in a module that was being loaded. However,
a function of that name had already been seen in a module that was loaded
earlier. This situation is not allowed. Change the application so that
all functions in it have unique names.

-16333 Duplicate module name module-name.

The module whose name is shown is being loaded, but a module of that name
had already been loaded. Use the Program menu of the Programmer’s Environment
to make sure that the program that is being debugged is composed of only
one copy of each module.

-16334 Internal error — null keyword encountered.

This message reflects a condition that was expected never to occur. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-16335 Window can’t be adjusted by number of lines specified.

The minimum number of lines in the Source window or in the Command window
one, not counting the Source window line that displays the current module
name. On a standard 24-line terminal, the maximum number of lines in either
window is 18, or L-6 where L is the number of lines that the terminal
supports.

The argument of a GROW command is not the new window size but the
increment to the current window size. To change the size of a window
in the Debugger screen, enter a GROW command to produce window sizes
within this range.

-16336 User must specify source file to view.

The VIEW command requires the name of a 4GL source file.

-16337 No previous search pattern.

You cannot enter a Search command without specifying a search pattern,
unless earlier in the same debugging session you specified a search pattern.
Repeat the command, specifying a valid search pattern.

-16338 Cannot continue execution.

You cannot invoke CONTINUE or STEP commands unless a 4GL program has begun
(but not terminated) execution. If the program is terminated normally
or by a fatal error, use CALL or RUN. After execution begins, you must
then suspend execution by a breakpoint (or, in UNIX environments, by an
Interrupt command) before you can invoke CONTINUE or STEP. See also the
section on «Active Functions and Variables» in the Debugger manual.

-16339 Break or trace name name is not unique.

A name that you assign to a breakpoint or tracepoint in a BREAK or TRACE
command cannot duplicate the name of any existing reference point (including
disabled breakpoints or tracepoints). This message will also appear after
a READ command that sets a named breakpoint or tracepoint if you read
the same input file twice.

-16340 Invalid backslash encountered.

Your command includes a backslash symbol that cannot be interpreted as
a command-line continuation symbol. Repeat the command without invalid
backslashes.

-16341 Line number line-number not in specified module.

Your BREAK or TRACE command cannot specify a line number that is greater
than the line number of the last executable statement in the specified
module. If you specified no module name, the line number cannot be greater
than the last executable statement in your current module. Check that
you specified the correct module and line number.

-16342 Internal error — cannot set breakpoint.

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

-16343 Invalid module name module-name specified.

You specified a module that is not part of the current 4GL program.Possibly
you misspelled the name, or you are confusing the names of modules or
functions from different programs. Repeat the command, specifying a valid
name.

-16344 Invalid function name function-name specified.

You specified a function that is not part of the current 4GL program.
Possibly you misspelled the name, you are confusing the names of modules
or functions from different programs, or you neglected to compile a program
module that contains this function. Repeat the command, specifying a valid
name.

-16345 Cannot set breakpoint in 4GL library function or user C function.

You can set a breakpoint only at a function written in 4GL, not at a function
that is written in another language such as C or ESQL/C, and not at the
name of a built-in function.

To suspend program execution when a C function is called, set a breakpoint
by specifying the line number of the 4GL statement that calls the C
function, rather than specifying the name of the function.

-16346 Cannot open output file filename.

Check if the output file already exists but is damaged or write protected.
In UNIX, check that you have permission to write in the specified directory
(or in the current directory if you specified no pathname).

-16347 Invalid breakpoint or tracepoint number name specified.

You cannot specify a reference number in an ENABLE, DISABLE, NOBREAK,
or NOTRACE command with a zero or negative value, or a value for which
no corresponding breakpoint or tracepoint currently exists. You can enter
list break trace to display your current reference numbers.

-16348 Breakpoint or tracepoint name is not active.

You asked the DISABLE command to deactivate a breakpoint that is already
disabled. Check that you named the breakpoint that you intended. You can
enter list break trace to display your current breakpoints and tracepoints.

-16349 Use nobreak for breakpoints and notrace for tracepoints.

You specified a breakpoint to the NOTRACE command or a tracepoint to the
NOBREAK command. Each command can deal only with its own objects.

-16350 Breakpoint/tracepoint already disabled/enabled or can’t be
determined.

The Debugger cannot find a corresponding breakpoint or tracepoint on which
to carry out your ENABLE or DISABLE command. You can enter list break
trace to display all your current reference points.

-16351 Variable variable-name could not be located.

The Debugger cannot reference a variable unless it is defined in a 4GL
module. For 4GL variables, check that you entered the variable name correctly.
If the variable is not in the current function or module, you must qualify
its name. See the section on «Scope of Reference» in the Debugger manual.
(This message can appear if you enter what you intend to be a module name
in a BREAK or TRACE command, but you omit the dot at the end of the name.)

-16352 File filename has been modified. (.4gl is newer than .4go).

The Debugger executes the .4go module, but it displays lines from the
.4gl source file. Because the source file has been changed since the module
was compiled, the lines that the Source window displays might not correspond
to the statements in the compiled program.

If you change the source code in a .4gl file, you must recompile it.
If your program includes several modules, you must also concatenate
the compiled modules before you start debugging. Also check if files
exist with both the .4go and .4gi suffixes for this program. Even if
your .4go file is the appropriate recompiled version, the Debugger first
attempts to interpret the .4gi version.

-16353 Executable command is invalid when executing tracepoint commands.

The list of command lines in your TRACE command includes a CALL, CONTINUE,
RUN, or STEP command. These commands are not supported within a TRACE
command.

-16354 Function function-name not found.

You specified a function that is not part of the current 4GL program.
Check if you have misspelled the name or if you are confusing the names
of functions from different programs. Make sure that your 4GL source code
defines and calls the function that you want to execute.

-16355 Function function-name requires parameters.

The function that the CALL command names is defined as taking one or more
parameters. You must enter a matching number of parameters in the parentheses
following the name of the function. If you are not sure what parameters
should be passed to the function, use a VIEW command to display its source
code.

-16356 Too many parameters passed to function function-name.

Your argument list in a CALL command includes more parameters than the
function is defined as receiving. If you are not sure how many parameters
should be passed to the function, you can use a VIEW command to display
the source code of the function.

-16357 Function function-name is not active.

You can display only variables that are defined in the active function.
This variable is defined in function name, which is not active.

-16358 Variable name expected.

A LET command requires as its first argument a variable name. Do not put
quotes around the name.

-16359 Cannot assign values to records; Assignments must be to record
members.

A LET command can assign a value to a simple variable or to a specific
member of a record, but not to a whole record.

-16360 Cannot assign values to arrays; Assignments must be to array
elements.

A LET command can assign a value to a simple variable or to a single element
of an array that a subscript in brackets designates. Enter help let to
see an example.

-16361 Invalid variable name variable-name.

The identifier variable-name is not the name of a variable. The VARIABLE
command requires the name of a variable. Check the spelling of the name.

-16362 No current function.

No current 4GL function exists if you have not yet invoked a RUN or CALL
command. Even after RUN or CALL, no current function exists if execution
terminated normally, rather than being stopped by a breakpoint, by an
Interrupt or STEP command, or by a fatal error. Use RUN or CALL to begin
or restart program execution.

-16363 Variable in function function-name is not active.

You named a variable whose value is assigned by a function that has not
yet been called or by a function that has already returned. A LET or PRINT
command can refer to only an active variable; that is, one global or assigned
in a function that is currently executing (a function that a WHERE command
lists). When you enter a CALL command, you must substitute a literal value
for an expression that needs an inactive variable.

-16364 Unknown option option.

The Debugger cannot identify an argument option in your command. Repeat
the command, specifying option differently. Enter help turn to display
the many options of TURN.

-16365 Breakpoint or tracepoint name is already active.

The ENABLE command has no effect on breakpoints or tracepoints that are
already enabled. Check that you entered the name or reference number that
you intended. If you did, and you still feel that name should have been
inactive, use list break trace or search the command buffer to see if
a previous DISABLE command deactivated the wrong breakpoint or tracepoint.

-16366 Error occurred while trying to write to a file.

Either your file system is full, or a hardware error occurred. Use the
Escape feature to display the space that remains on your current drive.

-16367 Need to specify a specific record member or array element.

You cannot use the name of an array as an argument of a CALL command.
You cannot use the unqualified name of an array or record in an expression
or as the object of a breakpoint or tracepoint. In all these cases, you
must use a subscript in brackets to specify a particular array element,
or the full name of a member of a record.

-16368 Expression contains variables from different functions.

You cannot combine variables from different functions in the same expression.
If you need to know the value of such an expression, you must use PRINT
to evaluate the variables from each function separately. Then enter these
values as constants in the BREAK, LET, or PRINT command in place of the
names of the variables.

-16369 Cannot initialize application device device-name.

You must specify the name of another terminal that has the same termcap
or terminfo entries as the terminal from which you invoked the Debugger.
The second terminal must be logged in under your account name.

-16370 No application device specified.

You must specify the name of another terminal that has the same termcap
or terminfo entries as the terminal from which you invoked the Debugger.
(However, it cannot be the name of the device from which you invoked the
Debugger.) Enter tty from the terminal that you want to use as your application
device. Its screen will display its terminal pathname. Repeat the APPLICATION
DEVICE command, specifying an appropriate terminal device name.

-16371 Read file not specified.

You must specify the name of a .4db file in a READ command.

-16372 Variable or expression expected.

You must identify what you want the Debugger to display in a PRINT command.
Repeat the command, specifying the name of a variable, record or array,
or an expression.

-16373 Cannot print or make assignments before execution has started.

You cannot use a LET command to assign a value to a variable, or a DUMP
or PRINT command to display information about a variable or function until
after execution starts. The same restriction applies after execution has
terminated normally or after a CLEANUP command. Invoke the RUN or CALL
command to begin execution and then repeat the command. (You might have
to set a breakpoint or, in UNIX, press the Interrupt key to prevent normal
termination.)

-16374 Break command contains ‘if’ without having a condition specified.

An expression must follow the IF keyword in a BREAK command. The breakpoint
has no effect while the condition is false (zero). Repeat the command
without IF, or with IF and a condition.

-16375 Cannot view C-library function function-name.

The VIEW command cannot display the source code of C functions or ESQL/C
functions. To examine C source code, you must use the Escape feature and
use an operating-system command that displays the C source file.

-16376 Break or trace name name does not begin with an alpha character.

The first character in the name of a breakpoint or of a tracepoint must
be a letter. The subsequent characters can be letters, numbers, or underscores
( _ ). Single apostrophes ( ‘ ) or double-quote characters ( » ) must
enclose the name. Repeat the command, specifying a valid name enclosed
in quotes.

-16377 Cannot retrieve values of global variables before execution
begins.

A PRINT command cannot display the value of a global program variable
until after execution begins. Invoke the RUN or CALL command to begin
execution and then repeat the PRINT command. In this situation, you can
specify constants or the names of global variables as arguments of CALL.
(You might have to set a breakpoint or press the Interrupt key to suspend
the program before normal termination.)

-16378 A small positive integer is expected.

You cannot enter a TIMEDELAY command without an argument, or with a negative
number as the argument. Repeat the command, specifying zero or a positive
integer as the number of seconds delay in the Source window or Command
window.

-16381 Cannot set breakpoint or tracepoint — no current module.

You cannot set a breakpoint or tracepoint without referencing a module
or function unless a program module is in the Source window. You probably
ignored an error message that appeared when you were unable to load a
4GL source file.

-16382 Command file filename is currently being processed.

You used a READ command, either nested in an initialization file or in
the input file of another READ command, that refers to one of the following:

  • To itself
  • To a previous READ command input file
  • To a .4db initialization file that has not yet completed execution

You cannot execute a READ command that might create an infinite loop.

-16383 Number of nested read commands limit exceeded.

You started a READ command that invoked another, which invoked another,
and so on for more than ten nested READ commands. You must simplify your
arrangement of .4db command files.

-16384 Line in .4db file exceeds maximum length.

You cannot have more than 256 characters in a single Debugger command
line. If you are using semicolon (;) command separators, break the line
into separate commands.

Avoid Debugger commands that have more characters in a single line
than your screen or list device can display. Use the backslash continuation
symbol to divide long command lines into shorter segments, or use aliases.

-16385 Call to function function-name failed.

The logic in your 4GL or C language function might be defective or might
not support the argument list that you specified in a CALL command. Use
the VIEW command to examine the source code of a 4GL function. Use the
Escape feature to examine the source file of a C function.

-16386 Search string exceeds maximum length.

The maximum length of a search pattern specification whose first character
is a quote («) is 80 characters. The maximum length is 50 after any other
first character. Check if you unintentionally pressed a Search command
key (? or /). Repeat the Search command, but specify a shorter pattern.

-16387 Program is not currently being executed.

A WHERE command cannot display your active functions until after execution
begins. Invoke the RUN or CALL command to begin execution, and then repeat
the command. (You might first have to set a breakpoint to suspend execution
before normal termination.) See the topic «Active Functions and Variables»
in the Debugger manual.

-16388 Cannot create Debugger window.

You are probably out of memory. Take whatever steps your operating system
permits to increase the amount of available memory.

-16389 File name exceeds maximum length.

A filename cannot exceed 80 characters. If the name exceeds this length
(if the message is not the result of some mistake in punctuation), you
must rename it before you use it with the Debugger.

-16390 Error occurred while reading file filename.

The Debugger encountered an error while it was trying to read a 4GL source
file. Look for other messages (from the operating system, for example)
that provide more details about the failure. Check that the file exists
and that you have read permission.

-16391 Internal error — attempt to highlight invalid line number.

Repeat the command. If the error recurs, please note all circumstances,
and contact Informix Technical Support.

-16392 No database name specified.

The database command requires the name of a database as its argument.

-16393 Expression or variable contains invalid substring.

The Debugger cannot interpret a reference to a substring of a character
value. Two numbers in square brackets specify a substring, as in the following
expression:

charvalue[n1,n2]

The name charvalue must be the CHAR(n) data type; n1 specifies the
first character of the substring, and n2 specifies the last. This error
message appears when n1 is larger than n, the length of the character
value, or when n1 is greater than n2.

-16394 Cannot access the help messages.

The Debugger help messages are in the file fgldb.iem. The INSTALL program
copies this file into the msg directory to which the INFORMIXDIR environment
variable points. Probably the file was damaged, deleted, or read protected.
Ask the system administrator to restore your access to it.

-16395 Cannot compare BLOBs to any other value.

You asked the Debugger to compare a TEXT or BYTE variable in an expression.
You cannot use variables of these types for comparisons. (However, you
can refer to a substring of a TEXT variable.)

-16396 Cannot use BLOBs in this expression.

You asked the Debugger to use a TEXT or BYTE variable in an expression.
Variables of these types can be displayed only with PRINT or DUMP, or
assigned null values with LET.

-16397 Can print only BLOB variables with program =.

The PROGRAM = clause of the PRINT statement is used to specify an external
program (for instance, a text editor) that can display the contents of
a BYTE or TEXT value. The clause is not relevant with any other type of
data.

-16398 Illegal BLOB file name. Null name not permitted.

The 4GL LOCATE statement has located the BYTE or TEXT variable in a file.
However, the filename for the variable is a null string. Because the file
does not exist, the Debugger cannot do anything with it.

-16399 No program name specified.

The PROGRAM = clause of the PRINT statement is used to specify an external
program (for instance, a text editor) that can display the contents of
a BYTE or TEXT value. In this command, the keyword was specified, but
no program name followed it.

-16400 Bad file name name.

The filename that is shown is not appropriate for its intended use. It
is too long, contains improper special characters, or is null. Enter an
appropriate filename.

-16401 No program loaded.

A program was unloaded with the command UNLOAD PROGRAM, but no program
was subsequently loaded with the command LOAD PROGRAM.

-19800 Role name already exists as a user or role.

You cannot create a role name identical to any user that is known to the
system or a user or role that is known to the database. Change the name
of the role.

-19801 Role name cannot be .

You cannot create a role name that is a reserved word. The reserved words
are connect, resource, dba, select, update, delete, insert, index, references,
alter, execute, default, none, null, and public. Change the name of the
role.

-19802 Name cannot appear as both the role granted and the role grantee.

A role cannot be granted to itself, either directly or indirectly. Verify
if the role granted and grantee are the correct roles. Check for roles
already granted to the role that is being granted.

-19803 Only the DBA, or a user granted the role with the WITH GRANT
OPTION can grant, revoke, or drop a role.

Check your privileges and permissions. To grant, revoke, or drop a role,
you must be the DBA or have been granted the role with the WITH GRANT
option.

-19804 The role does not exist.

For a role to exist, the DBA must first use the CREATE ROLE statement
to create the role. For a list of roles, see the informix.sysusers table.

-19805 No privilege to set to the role.

Check your privileges and permissions. A user or role must be granted
a role using the GRANT statement before the role can be set.

-19806 Cannot grant database privileges to a role.

A role cannot be granted database-level privileges. Use the GRANT statement
to grant database-level privileges to the user or to PUBLIC.

-19807 Cannot grant privileges to a role WITH GRANT option.

A user that is granted a role with the WITH GRANT option cannot in turn
grant the role to a user and include the WITH GRANT option. Use the GRANT
statement without the WITH GRANT option.

-19808 User name already exists as a rolename in the database.

A user cannot open a database as a role name that is the same as the user
name. Role names and user names must be unique in the database. If you
want to access the database, contact the DBA of the database. The DBA
can drop the role if necessary.

-19809 Invalid password to access the database.

Use the correct password.

-19810 Cannot set database password for a role.

You can set a database password only for a user.

-19811 DBpassword should not exceed 8 characters.

Choose a database password with a length that does not exceed eight characters.

-19812 Illegal usage of replication shadow columns.

The specified operation cannot be performed on the replication shadow
columns.

-19813 Cannot add CRCOLS when table already has replication shadow
columns.

The specified table was created with the WITH CRCOLS syntax and therefore
already has the replication shadow columns defined. You cannot alter this
table to add CRCOLS to it.

-19814 Cannot drop CRCOLS when table does not have replication shadow
columns.

The specified table was not created with the WITH CRCOLS syntax, or it
has not been altered to include the CRCOLS. You cannot alter this table
and drop the CRCOLS because these columns do not exist on this table.

-19815 Cannot create a temp table with CRCOLS.

You cannot create a temporary table to include the replication shadow
columns.

-19816 Cannot perform this operation on a table defined for replication.

The specified operation cannot be perform on a table if replication is
defined on the table. If you want to perform the specified operation,
you must delete all replicates defined on this table.

-19819 An ON-clause has an invalid table reference.

One of the ON clauses that you specified refers to a table that is not
within the scope of the join to which the ON clause belongs.

Check that the tables that you specify in the join criteria and join
filters of each ON clause are applicable to the join of which they are
a part.

-19820 Informix OUTER JOIN and ANSI JOIN in the same query block.

You cannot have Informix OUTER JOIN and ANSI JOIN in the same query block.
Informix OUTER JOIN and ANSI JOIN are two different mechanisms and should
not be combined in a single query. You can use only one of these.

-19830 This operation is not allowed on a table where the type is
raw.

An illegal operation (for example, trying to create an index) was attempted
on a RAW table.

You must alter the RAW table to a STANDARD table if you want to perform
an operation that RAW tables do not support.

-19831 Indexes and referential constraints are not allowed on tables
of type raw.

The CREATE TABLE statement contains indexes or constraints that are not
allowed for RAW tables. Check your statement to make sure you do not define
these kinds of constraints or indexes on RAW tables. This error could
occur if you try to alter a STANDARD table to RAW but the table has indexes
or referential constraints.

You must alter the RAW table to a STANDARD table if you want to use
indexes and referential constraints.

-19832 Cannot alter table type in combination with other alter table
options.

You cannot alter the table type in combination with other ALTER TABLE
options.

You must use separate statements to alter the table type with an ALTER
TABLE statement. It cannot be done in combination with other ALTER TABLE
options.

-19990 Use of CRCOLS must be consistent across the table hierarchy.

If the parent table in a table hierarchy has been created with the WITH
CRCOLS option for replication shadow columns, then all subtables must
also be created with the WITH CRCOLS option. Similarily, if the parent
table in the table hierarchy has not been created with the WITH CRCOLS
option, then all subtables can not be created with the WITH CRCOLS option.

-21000 Invalid byte in codeset conversion input.

Code-set conversion cannot recognize data that is being passed between
the server and the client. Check DB_LOCALE and CLIENT_LOCALE settings
in your initialization file or your environment.

-21001 Incomplete character at end of codeset conversion input.

Code-set conversion cannot recognize data that is being passed between
the server and the client. Check DB_LOCALE and CLIENT_LOCALE settings
in your initialization file or your environment.

-21002 Codeset conversion output buffer too small.

An internal error occurred during code-set conversion. Note all observed
behavior and any other error message. Check with the system administrator
to ensure that the system is functioning properly.

-21003 Cannot open codeset conversion file.

The system could not open a code-set-conversion file. Check that INFORMIXDIR
points to a valid directory that contains the proper code-set- conversion
subdirectory.

-21004 Internal error in codeset conversion.

An internal error occurred during code-set conversion. Note all observed
behavior and any other error message. Check with the system administrator
to ensure that the system is functioning properly.

-21400 brand: Invalid serial number and/or key.

Check that the serial number and key you entered during installation correspond
with those on the keycard. Restart installation, or contact Informix Technical
Support for verification of your serial number and key.

-21401 brand: Cannot open file — file probably not in current directory.

The file might not have been transferred correctly from media. Reload
the product from the media and reinstall. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-21402 brand: Location is incorrect for file.

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

-21403 brand: file already branded.

For some products, installation cannot be restarted unless you reload
files from the media. Reload files from the media before you run the installation
script.

-21404 brand: Identifier string multiply found in file.

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

-21405 brand: Serial number is wrong length in file.

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

-21406 program: Cannot open file.

The file might not have been transferred correctly from media. Reload
the product from the media and reinstall. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-21407 Error reading from file.

The file might not have been transferred correctly from media. Reload
the product from the media and reinstall. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-21408 Error writing to file.

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

-21410 verstamp: Cannot create stream for file.

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

-21411 verstamp: Identify string not found in file.

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

-21412 verstamp: Warning: string found number times in file.

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

-21413 Cannot open file; system error number.

The file might not have been transferred correctly from media. Reload
the product from the media and reinstall. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-21414 Unexpected EOF on file.

The file might not have been transferred correctly from media. Reload
the product from the media and reinstall. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-21600 Usage: mkmessage [-v] [-dMACRO] input_file output_file.

This message indicates an internal error. You probably used incorrect
syntax in the command line. Check the usage that the message indicates,
and try again. If the error recurs, please note all circumstances and
contact Informix Technical Support.

-21601 Source and object files the same, would overwrite ‘filename’.

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

-21602 Input file could not be opened.

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

-21603 Output file could not be created.

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

-21604 Error writing to result file filename.

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

-21605 Error writing to output file filename.

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

-21606 Error reading from temporary text file.

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

-21607 Number of errors counted: number.

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

-21608 You have exceeded the limits of 8 defines. Extra defines will
be ignored.

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

-21609 Unmatched ^ELSE at line line-number.

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

-21610 Unmatched ^ENDIF at line line-number.

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

-21611 Syntax error at line line-number. Expect ifdef, ifndef, else
or endif after ‘^’.

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

-21612 Unexpected EOF. Expected an ^endif.

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

-21613 Syntax error at line line-number. Expect ifdef, ifndef, else
or endif.

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

-21614 Expected identifier not found following ^ifdef or ^ifndef
at line line-number.

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

-21615 Output file could not be opened for read/write.

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

-21616 Temporary text file could not be created.

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

-21617 Temporary text file could not be opened for read/write.

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

-22201 variable-name is not a unique record component.

The name in the record has already been used, so it is not unique. Change
the name of the record variable and try again.

-22202 This feature is not supported in this preprocessor.

The INFORMIX-ESQL/COBOL preprocessor does not support the feature that
this statement requests. Please check the INFORMIX-ESQL/COBOL Programmer’s
Manual for information on preprocessor functionality in this version.

-22203 Invalid keyword name on the PICTURE clause.

The PICTURE clause contains an illegal keyword, as the error message specifies.
Check the syntax of the variable declaration for the PICTURE clause and
try again.

-22204 COBOL group USAGE clause contradiction (variable OF record).

The USAGE clause for a record component does not match the USAGE clause
of the record group to which it belongs. Usage clauses for the elements
of a record are inherited from the group record declaration. A mismatch
causes an error.

-22205 COBOL group SIGN clause contradiction (variable OF record).

The SIGN clause of the record component does not match the SIGN clause
of the record group to which it belongs. Sign clauses for the elements
of a record are inherited from the group record declaration. A mismatch
causes an error.

-22206 INTERNAL ERROR: Bad COBOL function call.

Check that the CALL syntax is correct and verify whether data is corrupted
before you call Informix Technical Support for assistance.

-22207 Host variables may only be 01-49 or 77 level.

ESQL/COBOL supports only level 01 through level 49 COBOL variables and
record types, plus COBOL variable level 77 if your COBOL compiler supports
it. Check the level number of the host variable to see if it is valid.

-22208 Host variables may not be USAGE INDEX.

Change the USAGE clause for the host variable so that it is not USAGE
IS INDEX and try again. INFORMIX-ESQL/COBOL does not support USAGE INDEX.

-22209 No hyphen allowed in SQL object identifier, cursor name, or
statement id.

You must change the name of the object identifier, cursor, or statement
ID so that it does not contain a hyphen.

-22210 Repeated data item variable-name is not expanded.

The ESQL/COBOL preprocessor does not expand the record that contains repeated
data items. Please change the record and try again.

-22227 Invalid COBOL compiler compiler-name.

The compiler that is specified is not supported. Please check the INFORMIX-
ESQL/COBOL Programmer’s Manual for information on compilers that this
version supports.

-22229 Host object variable-name not declared.

The specified host variable was accessed but was not declared. You must
declare the host variable in the declaration section and try again.

-22230 Identification error on host symbol variable-name.

The host variable has been declared more than once. Check for the duplicate
variable declaration and redeclare one of the variables.

-22231 Record nesting limit exceeded.

The maximum number of levels for valid record nesting is 100. Reduce the
number of nested records and try again.

-22232 variable-name is not a component of record-name.

The variable name is not part of the components of the record. Check the
record declaration and its components to verify that you have correctly
declared the variable with this name.

-22233 compiler-name does not allow array elements to be passed as
parameters.

Unless you are using either the Ryan McFarland RM/COBOL 85 compiler or
the Micro Focus COBOL/2 compiler, you cannot pass array elements as parameters.
Use one of the specified compilers, or rewrite this section of code that
involves arrays.

-22234 Buffer provided by user is too small. Result will be truncated
to fit buffer.

The buffer that is used to store the result of the operation of the function
is too small to hold the entire result. As much of the result as possible
was copied, and extra characters were truncated. Increase the buffer declaration
so that it can hold larger strings.

-22245 Invalid BCD type (rvalhlvar).

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

-22246 INTERNAL ERROR: BCD buffer too small (rhlvarval).

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

-22247 Invalid BCD type (rhlvarval).

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

-22248 Date conversion error: rfmtdate in toadate.

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

-22249 Internal error: Invalid integer size (toaint).

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

-22250 BCD buffer length is too small.

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

-22251 Error in decimal conversion (frombcd: deccvasc).

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

-22252 Error in decimal conversion (frompbcd: deccvasc).

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

-22253 Error in C var to val conversion (frombcd).

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

-22254 DATE type variable size is too large.

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

-22255 Date conversion error: rdefmtdate.

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

-22256 Error in C var to val conversion (fromadate).

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

-22257 Error in C var (short) to val conversion.

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

-22258 Error in C var (int) to val conversion.

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

-22259 Error in C var (long) to val conversion.

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

-22260 Internal Error: Invalid integer size.

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

-22261 Error in decimal conversion (valtoasc: deccvasc).

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

-22262 Error in decimal conversion (valtoasc: dectoasc).

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

-22263 Internal error: Invalid C type (valtoasc).

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

-22264 Host data items must not be alphanumeric or numeric edited
items.

Change the declaration of the PICTURE clause to one of the following valid
categories for host variables: alphabetic, numeric, or alphanumeric. INFORMIX-ESQL/COBOL
does not support alphanumeric edited or numeric edited items.

-22265 A sign clause was specified for an unsigned numeric type.

If you have a SIGN clause but did not specify «S,» the compiler cannot
process the data type. Check whether the variable is signed or unsigned
and declare it accordingly.

-22266 Type not supported by ESQL/language-name for compiler-name.

The type that is specified for the variable is not supported for the compiler
name that is used. Check your compiler documentation for valid type declarations.

-22268 P in the PICTURE clause not implemented.

Currently, INFORMIX-ESQL/COBOL does not support the declaration P (decimal
scaling position) in a PICTURE clause.

-22274 Host variables may not be USAGE POINTER.

Change the USAGE clause for the host variable so that the host variable
is not a pointer and try again.

-22275 INTERNAL ERROR: Temporary buffer length has been exceeded.

The string or buffer parameter to the function is longer than the internal
buffer. Change the string or buffer declaration so that the string or
buffer has a smaller maximum size.

-22276 Floating point variables are not allowed.

This compiler does not support floating-point numbers.

-22277 Invalid storage mode. Assuming byte-storage mode.

Micro-Focus COBOL/2 has either byte or word storage mode for USAGE COMP/BINARY
variables. Check the current storage mode. To specify byte or word storage,
set the INFORMIXCOBSTORE environment variable, as Chapter 4 of the Informix
Guide to SQL: Reference discusses.

-22278 Cannot open COBOL ‘whenever’ file file-name.

The directory in which the COBOL temporary files are being created (usually
/tmp or whatever is specified when the DBTEMP environment variable is
set) is full. No room is available to open new files. Check this directory
and free some space. Since Version 5.01, the INFORMIX-SE database server
uses the DBTEMP environment variable, but Informix Dynamic Server and
INFORMIX-OnLine Dynamic Server do not.

-22279 Cannot open COBOL temp file file-name.

The directory in which the COBOL temporary files are being created (usually
/tmp or whatever is specified when the DBTEMP environment variable is
set) is full. No room is available to open new files. Check this directory
and free some space. Since Version 5.01, the INFORMIX-SE database server
uses the DBTEMP environment variable, but Informix Dynamic Server and
INFORMIX-OnLine Dynamic Server do not.

-22280 Line is too long.

The SQL string in the EXEC SQL statement is too long to fit in the internal
buffer. The maximum SQL string length should be less than 32,767.

-22281 FILLER variables can only be used as fields in a record.

In INFORMIX-ESQL/COBOL, the FILLER keyword must identify all filler items.
Filler variables can only be used as fields in a record and must also
have a PIC clause associated with them. Check the declaration of the variable
and change its name.

-22282 Invalid numeric data length.

The length and precision of the data is too large or otherwise incorrect.
The length cannot be greater than 18, and the precision cannot be greater
than the length.

-22283 Numeric value from database cannot be stored in COBOL data
item.

In INFORMIX-ESQL/COBOL, a number of conditions can cause this error message
to appear. The value is too large, data cannot contain a negative value,
a signed value cannot be stored in an unsigned data item, or a float overflow
has occurred.

-22284 Incorrect level(s) of indirection on variable variable-name.

A pointer variable is used with the wrong number of level indirection.
Check the indirection levels in the ESQL statement.

-22285 Incorrect dimension on table variable variable-name.

An entry in a multidimensional array is illegally accessed. Indexes for
multidimensional arrays must be specified when used. For example, suppose
a host variable is declared in ESQL/COBOL as follows:

01 VARA X(10) OCCURS 3 TIMES.

It will return an error if it is used in an SQL statement as follows
because you must specify the index into which you want to insert (that
is, VARA(1)):

INSERT INTO TAB VALUES ($VARA)

-22554 Field type field-type-name has been used out of context.

This error is generated when, for example, the field type TYPE is used
where COUNT is expected. Check the syntax and usage for system-descriptor
field names in the discussion of the ALLOCATE DESCRIPTOR and GET DESCRIPTOR
statements in Chapter 1 of the Informix Guide to SQL: Syntax. For a discussion
of the system-descriptor area, see the manual for your embedded-language
product.

-22555 The type of host-variable does not match the expected type
for this field.

This error is generated when a variable is expected to have a certain
type but does not. For example, an TYPE field accepts only integer types
when a value is assigned to it or retrieved from it. If the variable type
is not integer, an error is generated. Check the syntax and usage for
system descriptor field names in the discussion of the ALLOCATE DESCRIPTOR
and GET DESCRIPTOR statements in Chapter 1 of the Informix Guide to SQL:
Syntax. For a discussion of the system descriptor area, see the manual
for your embedded-language product.

-22600 Invalid SQL type type-name. Internal error.

For this INFORMIX-ESQL/FORTRAN preprocessor error, check the data type
of the symbol. Type-name must be a valid SQL data type.

-22601 Whenever raise not supported by ESQL/FORTRAN.

You cannot specify RAISE in a WHENEVER statement. Delete the statement,
or substitute a valid option.

-22602 Whenever perform not supported by ESQL/FORTRAN.

You cannot specify PERFORM in a WHENEVER statement. Delete the statement,
or substitute a valid option.

-22617 STRUCTURE declaration not supported.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
STRUCTURE statement is supported only with the Green Hills and Sun versions
of FORTRAN that include the VMS FORTRAN extensions.

-22618 RECORD statement not supported.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
RECORD statement is supported only with the Green Hills and Sun versions
of FORTRAN that include the VMS FORTRAN extensions.

-22619 UNION declaration not supported.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
UNION statement is supported only with Green Hills and Sun versions of
FORTRAN that include the VMS FORTRAN extensions.

-22620 Host object host variable not declared.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. An
SQL statement contains a host variable that has not been declared. Host
variables are declared in the same way as other FORTRAN variables except
that the declaration must be contained in a declaration block between
a pair of EXEC SQL BEGIN DECLARE SECTION and EXEC SQL END DECLARE SECTION
statements. You cannot use the SQL data types to declare host variables.
You must specify a FORTRAN data type or one of the INFORMIX-ESQL/FORTRAN
data types when you declare a host variable. The data type of the host
variable should reflect the data type of the database column to which
it corresponds.

-22621 Out of Memory for symbol table.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
preprocessor is unable to allocate more memory for the symbol table. If
possible, reduce the number of processes that are running at the same
time as the preprocessor or reduce the number of symbols that your FORTRAN
program defines.

-22622 Type type-name is unknown.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
symbol is not a declared type. Declare type-name and try again.

-22623 Data type length must be greater than zero.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
length that is specified for the data type is less than zero. Assign a
length to the data type and try again.

-22624 INTEGER type length must be 2 or 4.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. A
FORTRAN host variable of type INTEGER must be declared as INTEGER*2 or
INTEGER*4. Correct the length of the INTEGER declaration and try again.

-22625 REAL type length must be 4 or 8.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. A
FORTRAN host variable of type REAL must be declared as REAL*4 or REAL*8.
Correct the length of the REAL declaration and try again.

-22626 Empty SQL statement.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. SQL
statements and precompile instructions that are embedded in a FORTRAN
program must be preceded by the keywords EXEC SQL. No statement terminator
is required, except when you specify a multiple-statement object in a
PREPARE statement.

-22628 Record component component-name not declared.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. Examine
the related structure declaration for this record. The component-name
element does not exist as it is typed within the structure declaration.

-22635 INTERNAL ERROR. Temporary buffer length has been exceeded.

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

-22645 Incorrect dimension on array variable.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
symbol is not an array variable or the dimension is incorrect.

-22646 Incorrect level(s) of indirection.

This message indicates an INFORMIX-ESQL/FORTRAN error message. An incorrect
index has been accessed in your array. Check the usage of your array.
See error message -33203 for a similar message in INFORMIX-ESQL/C.

-22647 Use of non-SQL descriptors not supported by ESQL/FORTRAN.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. In
ESQL/FORTRAN, only system descriptor areas that have been allocated with
the ALLOCATE DESCRIPTOR statement can be used in a DESCRIBE statement.

-22648 Line is too long.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The
SQL statement is too long (greater than 32 kilobytes). In standard FORTRAN
format, any nonblank character, except for zero, in column 6 is a continuation
symbol. In UNIX-style FORTRAN format, an ampersand in column 1 is the
continuation symbol. Shorten the SQL statement and try again.

-22649 Unmatched END statement-name statement.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. An
END STRUCTURE/UNION/MAP statement does not have a corresponding STRUCTURE/UNION/MAP
statement. Check that each END STRUCTURE/UNION/MAP statement is paired
with a corresponding STRUCTURE/UNION/MAP statement and try again.

-22650 Missing END statement-name statement.

This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. A
STRUCTURE/UNION/MAP statement does not have a corresponding END statement.
Check that each STRUCTURE/UNION/MAP statement is paired with a subsequent
END statement and try again.

-23075 Unable to open the log file.

The ESQL processor cannot open the log file that is specified on the command
line. The log files are specified after the -log option. Check that you
have specified the log file correctly.

-23076 Incompatible file extension for ‘-e’ option.

The filename that is specified after the -e option on the command line
for the ESQL processor has an incompatible file extension. Verify the
file extension and try again.

-23077 Missing target file name.

No output filename has been specified after the -o option on the command
line for the ESQL processor. Re-enter the command and specify an output
file.

-23078 Incompatible file extension for ‘-c’ option.

The filename that is specified after the -c option on the command line
for the ESQL processor has an incompatible file extension. Verify the
file extension and try again.

-23079 Missing log filename.

No log filename has been specified after the -c option on the command
line for the ESQL processor. Enter the command again and specify a log
file.

-23080 Memory model conflict.

More than one memory model option has been specified on the command line
for the ESQL processor. Try again and specify only one memory model option.

-23081 Compiler option conflict.

More than one compiler option has been specified on the command line for
the ESQL processor. Try again and specify only one compiler option.

-23082 Missing list filename.

No list filename has been specified for the -f option on the command line
for the ESQL processor. Enter the command again and specify a list file.

-23083 Application option conflict.

More than one application option has been specified on the command line
for the ESQL processor. Try again and specify only one application option.

-23084 Cannot open ESQL response file ‘file-name’.

The ESQL processor cannot open the ESQL response file that is specified
on the command line.

-23085 Unable to allocate memory.

The ESQL processor cannot allocate memory dynamically.

-23086 Unable to spawn the preprocessor.

The ESQL processor cannot spawn the ESQL preprocessor.

-23087 No source or object file.

You have not specified either a source file or an object file on the command
line for the ESQL processor. Re-enter the command and specify either a
source file or an object file.

-23088 Windows application or DLL needs a module definition file.

No module definition file has been specified on the command line for the
ESQL processor. Re-enter the command and specify a module definition file.

-23091 Cannot open file ‘file-name’.

The ESQL processor cannot open the specified file. Check that you have
specified the file correctly.

-23092 Unable to spawn the compiler.

The ESQL processor cannot spawn the compiler.

-23093 Unable to spawn the linker.

The ESQL processor cannot spawn the linker.

-23094 Unable to spawn the resource compiler.

The ESQL processor cannot spawn the resource compiler.

-23095 Unable to create the temporary file.

The ESQL processor cannot create the temporary file. Delete the temporary
files that start with «eq» in the specified directory.

-23096 Missing command line parameter file.

No command-line parameter file has been specified for the ESQL processor.
Try again and specify a command-line parameter file.

-23097 Too many parameters.

Too many parameters were specified on the command line for the ESQL processor.
Re-enter the command and specify fewer parameters.

-23098 No source file.

No source file has been specified on the command line for the ESQL processor.
Re-enter the command and specify a source file.

-23099 ‘file-name’ has incompatible file format.

The specified list file or response file has an incompatible file format
for the ESQL processor.

-23100 Compilation error(s).

The ESQL processor has terminated processing due to one or more compilation
errors.

-23101 Unable to load locale categories.

An invalid locale name was supplied for the locale initialization. The
environment variable to specify the locale category has a wrong value.
Check the value of the corresponding environment variable, CLIENT_LOCALE
or DB_LOCALE. Also check if INFORMIXDIR points to a valid directory where
Informix products are installed.

If a client application receives this error when it requests a database
server connection, check that the client and database locales are compatible.
They are compatible if a valid locale exists on the server computer
with the name lg_tr.codeset@mod, where lg_tr (language and territory)
and mod (locale modifier) are from the CLIENT_LOCALE and codeset is
from the database locale (from the DB_LOCALE, if it is set, or as stored
in the database).

-23102 Memory allocation failed during locale processing.

The program cannot allocate enough memory for the internal code-set conversion
buffer or control table. Only a client process returns this error. Rerun
the program after you free some memory.

-23103 Code-set conversion function failed due to an illegal sequence
or invalid value.

Illegal or invalid characters occur in the character string. The program
could not execute the code-set conversion on the characters that this
string contains. Reexamine the input string for illegal or invalid characters
and reexecute the program.

-23104 Error opening required code-set conversion object file.

No object code-set conversion (definition) file exists for the two given
code sets. The environment variables DB_LOCALE or CLIENT_LOCALE might
have been set to the wrong value, which caused an error condition to be
generated. The files might also be missing, or the information that they
contain might be garbled. Check the value of the environment variable
CLIENT_LOCALE or DB_LOCALE. The object conversion files usually have the
.cvo extension.

-23105 The current database engine does not support code-set conversion.

The code-set conversion in the database server is not yet implemented.
Check the value of the CLIENT_LOCALE, SERVER_LOCALE, or DB_LOCALE environment
variable.

-23106 Invalid argument for the code-set conversion initializing
function.

An invalid argument has been passed to the internal code-set conversion
initializing function. Check the logic of your application program.

-23107 DBLANG and CLIENT_LOCALE environment variables are incompatible.

DBLANG is the environment variable that points to the location where the
message files are stored. Usually, the value of DBLANG corresponds with
that of CLIENT_LOCALE. The value of DBLANG could be en_US.8859-1 or a
value set according to X/Open standards for locale definitions. The locale
is a set of files that defines the characteristics of a particular language
(for example, French or Japanese), a particular territory (for example,
France or Japan) and a particular code set (for example, MS Windows Code
Page 1251 or ISO 8859-1). An example of a locale name for the French language
in Canada that is encoded using ISO 8859-1 would be fr_CA.8859-1, and
a locale name for the Japanese language that is encoded using EUC (Extended
Unix Code) would be ja_JP.ujis.

Reexamine the value of the environment variables, DBLANG and CLIENT_LOCALE.

-23108 An error occurred during locale structure creation.

The locale initialization failed. The program cannot allocate enough memory
for the internal locale table. The memory might be exhausted due to the
execution of too many processes. Rerun the program after you free some
memory.

-23109 Invalid locale specification.

A locale, with which all locale-sensitive processing occurs, is established
on both the client and database server side. This processing locale is
set with information from environment variables and from data that is
stored in the database. An internal function could not compose the long
form of the NLS locale in its internal array. Not all the categories (LC_COLLATE,
LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME) could be composed. Check the
value of the environment variables CLIENT_LOCALE and DB_LOCALE. Also check
the value of INFORMIXDIR.

-23110 An error occurred during environment variable processing.

The GLS initialization function encountered an error while it was processing
the list of environment variables. The environment variables are read
onto a stack for further use by various internal functions. The environment
variable values are read either from resource files or directly as shell
environment variables. While the GLS initialization function was processing
these values, it might have been encountered the following exceptions:
end-of-file, not-found, illegal-value, unknown-value, null-value, max-path
exceeded. Any of these exceptions can cause this error. Check the semantics
and contents of the defined environment variables.

-23111 Internal error. Illegal argument for locale initialization.

An internal function used an illegal argument while it was initializing
the GLS structures. The arguments can only be one of the following: FE_PROC,
BE_PROC, or SESS_PROC. If the error recurs, please refer to the Appendix
entitled «Trapping Errors» in your Administrator’s Guide to acquire additional
diagnostics. Contact Informix Technical Support with the diagnostic information.

-23112 Place holder for invalid GCV argument.

During code-set conversion, if both the input buffer and the output buffer
are of NULL length, code-set conversion does not proceed, and the conversion
process terminates after this error is returned. Check the logic of your
application program.

-23113 Place holder for unknown GCV error.

During code-set conversion, if the input buffer is of NULL length, this
error is returned. Code-set conversion requires an input buffer and an
output buffer. The input buffer is the string passed to the database server
from the application program as a result of an insert or update. Check
the logic of your application program.

-23114 Place holder for GCV truncation.

During code-set conversion of tuple data, if the output buffer is not
large enough to hold the result of a code-set conversion, and the resultant
string could not be truncated into the available buffer successfully,
this error is returned. This error occurs in the SQL interface layer between
the application program and the database server. Increase the size of
the host variable that will hold the possibly expanded string that is
returned after code-set conversion from a SELECT or FETCH statement.

-23115 Code sets of the locale categories are not the same.

On the client side or database server side, the locale is established
with the following precedence of announcement mechanisms, the CLIENT_LOCALE,
LANG, LC_*, and the English locale, en_US.8859-1. Given this precedence,
the six categories of the processing locale are set in the following way:
COLLATION, CTYPE, TIME, MONEY, NUMBER, MESSAGES.

The GLS initialization function returned this error because an invalid
locale was specified. The locale specifier is usually the environment
variables. Check the value of INFORMIXDIR and CLIENT_LOCALE. INFORMIXDIR
should point to a valid directory where the Informix products are installed.
This directory should also contain the /gls directory where the locale
and code-set files reside.

-23190 Multibyte database name is not allowed in this system.

The SE server does not allow a multibyte database name in the specified
environment. Change the database name.

-23194 Code-set conversion restore failed.

The database server has failed to restore the code-set conversion table
to the previous state. Not enough memory is available to hold table information.
Reexecute the program after you free some memory.

-23195 Reset locale failed. Connection refused.

The database server failed to change the database processing locale to
en_US.8859-1. The server refused the connection. Not enough memory is
available in the server for the new locale table. Reexecute the program
after you free some memory.

-23196 Unknown locale in selected database.

The locale information that is stored in the system catalog systables
of the selected database does not match the value that the DB_LOCALE environment
variable specifies. Check the value of DB_LOCALE. If it is correct, drop
the database and re-create it with the correct value of DB_LOCALE.

-23197 Database locale information mismatch.

The locale information GL_CTYPE or GL_COLLATE in the system catalog of
the specified database does not match the locale information in the specified
environment variable DB_LOCALE. Check the value of DB_LOCALE.

-23198 GL-COLLATE information is missing from the system catalogs.

No locale information GL_COLLATE exists in the system catalog. The system
catalog systables might be missing or corrupted. Drop the database and
re-create it with the correct value for DB_LOCALE.

-23199 GL_CTYPE information is missing from the system catalogs.

No locale information GL_CTYPE exists in the system catalog. The system
catalog systables might be missing or corrupted. Drop the database and
re-create it with the correct value for DB_LOCALE.

-23501 CM error: Operation not supported on secondary coservers.

A Configuration Manager (CM) service that can be requested only on a CM
coserver was made on a non-CM coserver. Contact Informix Technical Support.

-23502 CM error: Cannot allocate memory.

The database server detected an error when it attempted to acquire a block
of virtual memory from the operating system.

Contact Informix Technical Support.

-23503 CM error: No such dbspace.

A request for information about a dbspace, to delete a dbspace, to either
add or drop a chunk from a dbspace, or to read dbspace information during
startup failed because of an invalid or unused dbspace name.

Correct the name of the dbspace and resubmit the request. Contact
Informix Technical Support.

-23504 CM error: dbspace already exists.

An attempt to create a dbspace failed because a dbslice or dbspace of
that name already exists.

Select a name that is not in use and resubmit the request using the
new name, or drop the existing dbspace or dbslice and resubmit the request
using the same name.

-23505 CM error: dbspace table overflow.

A new dbspace or dbslice was requested, but the maximum number allowed
is already in use. Drop one or more obsolete dbspaces or dbslices and
resubmit the request.

-23506 CM error: No such chunk.

A request to drop a chunk or to read chunk information during startup
failed because the specified pathname and offset do not match any existing
chunk.

Correct the pathname and offset of the chunk and resubmit the request.
If necessary, contact Informix Technical Support.

-23507 CM error: Chunk already exists.

A request to add a chunk to a coserver failed because the specified pathname
and offset are already configured for an existing chunk.

To add a new chunk in addition to the existing one, either choose
a different pathname for it or specify an offset beyond the end of the
existing chunk within the same pathname.

-23508 CM error: Chunk table overflow.

An attempt to create a new chunk failed because the maximum allowed number
of chunks is already in use.

Drop one or more obsolete chunks and resubmit the request.

-23510 CM error: Cannot drop first chunk.

An attempt to delete the first chunk in a dbspace failed because deleting
the first chunk in a dbspace is an invalid operation.

Check which chunk should be dropped. To drop the dbspace after the
chunk, simply drop the dbspace.

-23511 CM error: No such dbslice.

A request for information about a dbslice, to delete a dbslice, to identify
a dbslice as the basis for a logslice, or to read dbslice information
during startup failed because the referenced dbslice is not in use.

Correct the name of the dbslice and resubmit the request. If necessary,
contact Informix Technical Support.

-23512 CM error: dbslice already exists.

A request for a new dbslice failed because a dbslice of that name already
exists. Select a name that is not in use and resubmit the request with
the new name.

-23513 CM error: dbslice table overflow.

A request for a new dbslice failed because the maximum allowed number
is already in use. Drop one or more obsolete dbslices and resubmit the
request.

-23514 CM error: No such cogroup.

A request for information about a cogroup, to delete a cogroup, to add
a coserver to a cogroup, to drop a coserver from a cogroup, to obtain
a list of the coservers in a cogroup, or to read corrupted cogroup information
during startup failed because the cogroup or coserver name is invalid.

Correct the name of the cogroup and resubmit the request. If necessary,
contact Informix Technical Support.

-23515 CM error: Cogroup already exists.

An attempt to create a new cogroup failed because the name of the new
cogroup is already being used by another cogroup. Choose a cogroup name
that is not already in use and resubmit the request.

-23516 CM error: Cogroup table overflow.

An attempt to create a cogroup or add a coserver to a cogroup fails because
the maximum allowed number is already in use.

Drop one or more obsolete cogroups or cogroup members and resubmit
the request.

-23517 CM error: Cannot drop or alter a system defined cogroup.

A request to drop cogroup_all fails because cogroup_all cannot be dropped.

Avoid requests to drop cogroup_all.

-23518 CM error: No such coserver.

An invalid coserver ID caused the failure of a request to acquire information
about a named coserver, to add or delete a coserver, to add a dbspace
on a coserver, or to read coserver information during startup.

Correct the name or ID of the coserver and resubmit the request. If
necessary, contact Informix Technical Support.

-23519 CM error: Coserver already exists.

A request to add a new coserver failed because the coserver with that
ID is already in use by the current instance of the database server.

Recheck the coserver ID before proceeding.

-23520 CM error: Coserver table overflow.

A request to create a coserver fails because the maximum allowed number
is already in use.

-23521 CM error: An illegal identifier was specified.

A request fails because it uses an invalid identifier for cogroup or cogroup
member (coserver).

For valid Identifier syntax, refer to your Administrator’s Guide or
the Feature Enhancements Guide for your database server.

-23522 CM error: An illegal range identifier was specified.

A request incorrectly specifies the range for a cogroup or coserver name.
The correct format for the range component is %r(first..last), with ‘first’
a lower number than ‘last’. Embedded white space is not allowed. Correct
the specification and resubmit the request.

-23523 CM error: An uneven number of cogroup members was specified.

A request to create a range of cogroups from a range of coservers specified
a count of coservers that is not an even multiple of the number of cogroups
to create.

Adjust the numbers in the range of existing coservers or in the desired
cogroups and resubmit the request.

-23524 CM error: Nested cogroups not supported.

A request to create one or more cogroups specified at least one cogroup
member that is actually a cogroup, rather than a coserver. Cogroup nesting
is not supported.

Determine which of the cogroup members specified are themselves cogroups,
replace their names with valid coserver names, and resubmit the request.

-23525 CM error: All available IDs for fragmented tables are in use.

A request to create a fragmented table failed because the maximum allowed
number is already in use.

Drop one or more obsolete fragmented tables and resubmit the query.

-23526 CM error: Unable to create a mutex.

Contact Informix Technical Support for help in addressing this internal
error.

-23527 CM error: No such logslice.

A request for information about a logslice, to delete a logslice, or to
read logslice information during startup failed because an invalid or
unused logslice name was specified.

Correct the name of the logslice and resubmit the request. If necessary,
contact Informix Technical Support.

-23528 CM error: Logslice already exists.

A user attempted to create a logslice when a logslice of that name already
exists.

Select a name that is not in use and resubmit the request using the
new name, or drop the existing logslice and resubmit the request using
the same name.

-23529 CM error: Logslice table overflow.

A request to create a new logslice failed because the maximum number allowed
is already in use.

Drop one or more obsolete logslices and resubmit the request.

-23530 CM error: No such DBspace or DBslice.

You have issued a command to the CM system to perform an operation on
a dbspace or dbslice with the given name, but the system cannot find it.
Make sure you have identified the dbspace or dbslice correctly, and that
you are not using some other object name where a dbspace or dbslice name
is required.

-23547 CM error: This would create two chunks that would overlap
each other.

You have issued a command to the CM system that tries to create two chunks
that will overlap.

Examine your command and re-issue it so that the two chunks are not
overlapping.

-23548 CM error: This would create two chunks with the same name
and offset

You have issued a command to the CM system that tries to create two chunks
that have exactly the same name and offset. This happens most commonly
when you create chunks on different coservers (you might want to use «%c»
formatting).

Examine your command and re-issue it so that the two chunks have distinct
names.

-23549 CM error: This would create a chunk that would overlap its
own mirror.

You have issued a command to the CM system that tries to create a chunk
that overlaps its mirror chunk. This happens most commonly because of
arithmetic mistakes in offset calculation.

Examine your command and re-issue it so that the chunk and its mirror
will not overlap.

-23550 CM error: This would create a chunk that would overlap an
existing chunk.

You have issued a command to the CM system that tries to create a chunk
that would overlap an existing chunk.

Review the location and extent of existing chunks to find the overlap,
and change your command so that it will not overlap any existing chunk
space.

-23551 CM error: Cannot alter a Logslice whose Dbslice has not been
altered.

You have issued a command to alter a logslice that resides in a dbslice
that has not been altered. This happens most commonly because of an incorrect
logslice name, or because of being mistaken about whether a dbslice has
been altered.

-23552 The specified dbspace (%s) does not exist.

The specified dbspace (%s) does not exist. You have issued a command to
the CM system to perform an operation on the specified dbspace, but the
system cannot find it.

Make sure you have identified the dbspace correctly, and that you
are not using a dbslice name, or some other object name, where a dbspace
name is required.

-23553 CM error: Number of read-locks held is less than zero.

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

-23554 CM error: Number of write-locks held is less than zero.

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

-23555 CM error: Number of write-options held is less than zero.

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

-23556 CM error: Attempt to get write-lock without write option.

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

-23557 CM error: Attempt to drop write-lock without write option.

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

-23558 CM error: Attempt to drop write option without having it.

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

-23559 CM error: CM activity detected during reversion.

CM activity (table, dbspace, dbslice, logslice, or chunk creation or deletion)
detected during CM reversion. No such activity should be taking place.
If it is, the reversion might not succeed.

Check whether there are any unintended connections to the database
server and then restart reversion.

-23600 Backup Manager Error: Out of memory.

This could be caused by either not enough main (operating system) memory
or not enough internal (database server) memory. Refer to your operating-system
documentation or increase the virtual memory size (SHMVIRTSIZE), the size
of the added segments SHMADD) or your total shared memory size (SHMTOTAL).

-23601 Backup Manager Error: A coserver can support at most one storage
manager.

A coserver id has been used for the BAR_WORKER_COSVR onconfig file parameter
in more than one storage manager section. Edit the onconfig file so that
the values of BAR_WORKER_COSVR for each storage manager section do not
overlap.

-23602 Backup Manager Error: A dbspace backup/restore is already
active for this dbspace.

An attempt was made to backup or restore a dbspace that was already queued
in the Backup Manager. Check the status of backup and restore sessions
using «onstat -g bus» and «onstat -g bus_sm».

-23603 Backup Manager Error: An unrecognised session id was supplied.

An invalid session ID was used.

The session ID supplied for the command that caused this error is
invalid. If the session ID refers to an existing session, verify its
correctness against the list of existing sessions from the «onstat -g
bus» command. If the session ID names a new session, make sure that
the session name has the valid syntax as described in the documentation
for the utility being used.

-23604 Backup Manager Error: This coserver does not support a storage
manager.

An attempt was made to start an onbar_w process on a coserver where no
storage manager was configured. Check the BAR_WORKER_COSVR parameters
in the onconfig file to determine where onbar_w processes can execute.
You can also use onstat -g bus_sm to obtain this information.

-23605 Backup Manager Error: An unrecognised worker id was supplied.

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

-23606 Backup Manager Error: This worker is already waiting or busy.

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

-23607 Backup Manager Error: Wait on a session which is already waiting.

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

-23608 Backup Manager Error: No object allocated to worker.

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

-23609 Backup Manager Error: Type different to that allocated to
worker.

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

-23610 Backup Manager Error: Internal error — No workers ready to
run.

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

-23611 Backup Manager Error: Internal error — Object not allocated.

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

-23612 Backup Manager Error: Internal coding error.

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

-23613 Backup Manager Error: The session id is already in use by
another session.

A session ID supplied to onbar is the same as a currently active session
ID. Resubmit the onbar command using a different session ID.

-23614 Backup Manager Error: Priority must be between 0 and 100.

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

-23615 Backup Manager Error: Unrecognised event type.

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

-23616 Backup Manager Error: The set placement failed for this object.

The storage manager where the backup for an object was taken could not
be determined at restore time. Make sure the storage manager configuration
is the same as it was when the backup was taken.

-23617 Backup Manager Error: That session is already suspended.

An attempt was made to suspend a session that is currently suspended.
Check the status of current backup and restore sessions using onstat -g
bus.

-23618 Backup Manager Error: That session is not suspended.

An attempt was made to resume a session that was not suspended. Check
the status of current backup and restore sessions using onstat -g bus.

-23619 Backup Manager Error: The supplied placement does not match
a configured storage manager.

The storage manager that was used to back up an object is no longer configured.
Make sure the storage-manager configuration is the same as it was when
the backup was taken.

-23620 Backup Manager Error: The supplied timestamp value disagrees
with another existing value.

The point-in-time value for a logical restore is different than the point-in-time
value of a restore that is currently active. Check currently active backup
and restore operations using onstat -g bus and onstat -g bus_sm.

-23621 Backup Manager Error: The session has been aborted.

An attempt was made to modify a backup and restore session that was aborted.
Check currently active backup and restore operations using onstat -g bus
and onstat -g bus_sm.

-23622 Backup Manager Error: Internal error: mt_create_mutex failed.

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

-23623 Backup Manager Error: Internal error: mt_create_thread failed.

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

-23624 Backup Manager Error: Internal error: xmf_bf_alloc failed.

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

-23625 Backup Manager Error: Internal error: xmf_reqt failed.

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

-23626 Backup Manager Error: Internal error: xmf_resp failed.

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

-23627 Backup Manager Error: The Dbspace is unknown to the system.

The dbspace that you have specified does not exist in your system. Is
the storage space that you specified a dbslice instead of a dbspace? Create
the necessary dbspace or, if you have a dbslice, modify your statement
and try again.

-23628 Backup Manager Error: Internal error: cm_dbs_info failed.

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

-23629 Backup Manager Warning: There are no storage managers configured.
All operations will be queued.

No storage managers are configured in the onconfig files. Backup and restore
requests will be queued by the Backup Manager but will not be processed
until a storage manager is configured. Configure at least one storage
manager in the onconfig file.

-23630 Backup Manager Error: Internal error: xmf_send failed.

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

-23631 Backup Manager Error: A worker onbar died while processing
this object.

Refer to the OnBar logs for more information about this error.

-23632 Backup Manager Error: There are running backups/restores on
a specified coserver — all coservers can’t be blocked.

You cannot block the coserver because backups or restores are currently
active.

Wait until the backup or restore completes and retry the onutil EBR
BLOCK command.

-23632 The backup manager cannot do any backups or restores while
LOG_BACKUP_MODE is set to NONE.

Change the setting of the LOG_BACKUP_MODE parameter in your configuration
file to MANUAL or CONT and retry the request.

-23633 The specified logfile does not exist.

An invalid logstream or logid was specified for a backup or restore. Check
command-line parameters to onbar and retry the operation.

-23634 Multiple storage managers backing up a single logstream is
currently not supported.

A logstream ID has been used for the BAR_LOG_COSVR onconfig file parameter
in more than one storage manager section. Edit the onconfig file so that
the values of BAR_LOG_COSVR for each storage manager section do not overlap.

-23635 BACKUP Manager Error (23635)

The start_worker.sh shell script file in the etc sub-directory is missing
or its execute permission is revoked. The Backup Manager cannot start
a worker to process ON-Bar commands because it cannot execute the start_worker.sh
file.

Make sure start_worker.sh exists and can be executed by informix or
root.

-23636 Backup Manager Error: Invalid coserver id.

An invalid coserver ID has been submitted as part of a backup or restore
command.

Check the command line for the backup or restore operation.

-23637 Backup Manager Error: There are running backups/restores on
a specified coserver — all coservers can’t be blocked.

An onutil «ebr block» command specified a coserver that had a backup or
restore currently active.

Wait for all backups and restores to complete and retry the block
operation.

-23638 Backup Manager Error: Invalid dbspace.

An invalid dbspace name has been submitted as part of a backup or restore
command.

Check the command line for the backup or restore operation.

-23700 Could not write to file: coserver-number, errno, filename.

An error occurred when the database server tried to write to the reject
file.

Look for operating-system messages that might give more information.
Possible causes include a full disk or a disk quota limit.

-23701 PLOAD: could not exclusively lock external table.

Another user is currently using the external table. Wait for the external
table to be unlocked before you proceed.

-23702 PLOAD: could not close external table.

An error occurred when the database server tried to close the external
table lock. Please note all circumstances and contact Informix Technical
Support.

-23705 Could not open file: coserver-number, errno, filename.

An error occurred when the database server tried to open the file. Check
the accompanying errno for more information. Possible causes include missing
file or incorrect permissions.

-23706 Could not close file: coserver-number, errno, filename.

An error occurred when the database server tried to close the file. Look
for operating-system messages that might give more information. Possible
causes include a full disk or hardware errors.

-23707 Failed to read from file: coserver-number, errno, filename.

An error occurred when the database server tried to read from the file.
Check the accompanying errno for more information.

-23709 File specified as a FILE type but is not: (cosvr, file)=(%s).

The file named in the external table was called a «FILE» file type, but
it is not. If this file is a UNIX named pipe, change the file type in
the external table to «PIPE». When the file type is declared as FILE,
the server is expecting a disk file.

-23710 File specified as a PIPE type but is not: (cosvr, file)=(%s).

The file named in the external table was called a «PIPE» file type, but
it is not. If this file is a disk file, change the file type in the external
table to «FILE». When the file type is declared as PIPE, the server expects
to open a UNIX named pipe.

-23712 Illegal AIO buffer status coserver-number, errno, filename.

An error occurred when the database server tried to read or write from
an internal AIO buffer. Please note all circumstances and contact Informix
Technical Support.

-23724 Could not remove file: coserver-number, errno, filename.

An error occurred when the database server tried to remove the indicated
file. Look for operating-system messages that might give more information.
A likely cause is improper permissions.

-23725 PLOAD internal error in coserver-number, errno, filename.

Please note all circumstances and contact Informix Technical Support regarding
this internal error.

-23726 PLOAD (load or unload) failed to start an AIO operation errno,
coserver-number, filename.

An error occurred when the database server tried to read or write to a
datafile. Check the accompanying errno for more information.

-23730 PLOAD (unload): conversion failure.

A conversion failure occurred when the database server tried to convert
the data to ASCII or EBCDIC format.

Check that the external table columns have enough space reserved to
write the ASCII or EBCDIC representation of the data and that the columns
in the external table are compatible with the data selected.

-23731 PLOAD (unload): datafile full.

An error occurred when the database server tried to write to the unload
data file. No more space is available for writing additional data.

Allocate more space and try again.

-23732 PLOAD (unload): datafile AIO write error errno.

An error occurred when the database server tried to write to the unload
datafile. Check the accompanying errno for more information.

-23733 PLOAD (unload): all data files are either full or bad.

An error occurred during the unload. Look for operating-system messages
that might give more information. Possibly all disks are full where data
files are being written or hardware problems occurred.

-23734 PLOAD: row size of target table is too large coserver-number,
errno, filename.

The target table for the load has a row size that is too large. The largest
row size must be the page size minus 32 bytes.

-23735 PLOAD conversion error: coserver-number, errno, filename.

When the database server tried to load from the file, it encountered an
error. Unless a reject file is specified in the external table, the database
server returns the error message, and the load job ends without saving
loaded data.

Check for conversion errors, rows that violate constraints defined
on the external table, or null columns that were defined as NOT NULL.

-23736 PLOAD failed to access file: coserver-number, errno, filename.

An error occurred when the database server tried to write to the reject
file.

Check the accompanying operating-system error indication for more
information.

-23737 PLOAD could not find record end: must abort.

An error occurred when the database server tried to find a record delimiter
in the delimited load file.

Check to see that the file has record delimiters (normally new-line
characters) and that the external table has defined the correct record
delimiter.

-23738 PLOAD (unload) cannot undo partial write to filename when
detecting disk full.

An error occurred when the database server tried to continue after running
out of space for one data file. When the database server detects the disk-full
condition, it writes to the data file a partial record, which cannot be
truncated.

Look for operating-system messages that might give more information.

-23739 Cannot open PLOAD log file.

An error occurred when the database server tried to open the log file
for a load or unload operation.

This situation occurs when one of the directories in the specified
log-file name does not exist, or the directory is write protected.

Check that the directory path is valid and that group informix can
write to the directory.

-23740 CREATE EXTERNAL TABLE: Too many keyword keywords in USING
clause.

The CREATE EXTERNAL table statement (or SELECT…INTO EXTERNAL statement)
contains more than one occurrence of a keyword expected in the USING clause.

Review the statement. If you meant to use another keyword, correct
the statement before you reissue it.

-23741 CREATE EXTERNAL TABLE: Invalid value for keyword.

The CREATE EXTERNAL TABLE statement (or SELECT…INTO EXTERNAL statement)
contains an invalid value for one of the USING clause keywords.

Review the statement to see if the value of the keyword is misspelled.
For the MAXERRORS keyword, make sure the value is a valid number.

-23742 CREATE EXTERNAL TABLE: Invalid DATAFILES entry.

A DATAFILES entry does not have the correct format. The format for an
entry is filetype:coserver-info:rooted-path-name.

Check that the file type is a valid type (DISK or PIPE), that the
second item names a cogroup or a coserver number, and that the last
item names a file that can be accessed by the coserver that manages
it.

-23743 CREATE EXTERNAL TABLE: Missing DATAFILE entries.

The DATAFILES entry in the CREATE EXTERNAL TABLE statement (or SELECT…INTO
EXTERNAL statement) is missing. Add a DATAFILES entry and reissue the
statement.

-23744 CREATE EXTERNAL TABLE: Cannot use SAMEAS for FIXED format
tables.

The CREATE EXTERNAL TABLE statement does not allow SAMEAS for FIXED format
tables. The column entries must also define an external type to describe
how to access (or write) the data in the fixed file.

Revise the CREATE EXTERNAL TABLE statement to enumerate the column
information and reissue the statement.

-23745 CREATE EXTERNAL TABLE: Internal column types must be defined
column-name.

The CREATE EXTERNAL TABLE statement requires a column type for each column
enumerated in the statement.

Revise the statement. Add the appropriate column type and then reissue
the statement.

-23746 CREATE EXTERNAL TABLE: Invalid external column type column-name.

The CREATE EXTERNAL TABLE statement contains an invalid external column
type.

Make sure the external-column types are valid: CHAR, PACKED, ZONED,
or BINARY. CHAR data must be enclosed in quotes.

-23747 CREATE EXTERNAL TABLE: FIXED or DELIMITED columns must be
external chars column-name.

The CREATE EXTERNAL TABLE statement contains an external column type that
is invalid. If the table describes a FIXED format file, the valid external-
column types are CHAR, PACKED, ZONED, and BINARY. CHAR data must be enclosed
in quotes.

If the table describes a DELIMITED format file and includes external-column
types, then the type must be CHAR. A table that describes DELIMITED
format files does not need to include external-column-type information.

-23748 CREATE EXTERNAL TABLE: Missing external-column-type column-name.

The CREATE EXTERNAL TABLE statement is missing the external-column- type
information. This information is required for tables that describe FIXED
format files.

Add the column-type information and resubmit the statement.

-23749 CREATE EXTERNAL TABLE: Only FIXED format columns can declare
null column-name.

The CREATE EXTERNAL TABLE table statement has found a column defining
a null string with the NULL «null-string» syntax that is invalid. Only
tables that describe FIXED format files can have a null value defined
with the NULL keyword.

Rework the statement and resubmit it.

-23750 Invalid file type in DATAFILES string datafile entry.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The external
table has a DATAFILES entry with an illegal file type. Only DISK and PIPE
file types are allowed for external tables.

Examine the external-table entry, drop the external table, and reissue
a corrected CREATE EXTERNAL TABLE statement to correct this error.

-23751 Could not replace n macro in filename entry.

An error occurred when the database server tried to expand the node host-name
macro in the filename in a DATAFILES entry in an INSERT or SELECT statement
for an external table.

If the error recurs, please note all circumstances and contact Informix
Technical Support.

-23752 Could not find coserver name for coserver coserver-number,
errno, filename.

An error occurred when the database server tried to expand the data files
entries in an INSERT or SELECT statement for an external table. The error
occurred when the database server tried to find the coserver name in order
to expand the node host-name macro in the filename.

If the error recurs, please note all circumstances and contact Informix
Technical Support.

-23753 Could not replace %r macro in filename entry.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The error
occurred when the database server tried to expand the %r macro in the
filename. Check that the syntax for the %r() macro is correct.

-23754 Could not replace c macro in filename entry.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The error
occurred when the database server tried to expand the coserver-number
macro in the filename.

If the error recurs, please note all circumstances and contact Informix
Technical Support.

-23755 Missing delimiter at end of coserver item coserver-number,
errno, filename.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The external
table has a DATAFILES entry that does not have the expected colon separators
between entries. The format for an entry is filetype:coserver-info:rooted-path-name.

Examine the external tables entry, drop the external table, and reissue
a corrected CREATE EXTERNAL TABLE statement.

-23756 Unknown coserver coserver number.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The external
table has a DATAFILES entry that does not have a known coserver number.

Examine the external tables entry, drop the external table, and reissue
a corrected create external statement.

-23757 Unknown cogroup cogroup name.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The external
table has a DATAFILES entry that does not have a known cogroup name.

Examine the external tables entry, drop the external table, and reissue
the CREATE EXTERNAL TABLE statement.

-23758 Could not parse %r macro in filename entry.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. The error
occurred when the database server tried to expand the %r macro in the
filename. Check that the syntax for the %r() macro is correct.

-23759 None of the DATAFILES strings name valid data files.

An error occurred when the database server tried to expand the DATAFILES
entries in an INSERT or SELECT statement for an external table. No valid
filenames were found in the DATAFILES entries.

Examine the external tables entry, drop the external table, and reissue
a corrected CREATE EXTERNAL TABLE statement.

-23760 File name is too long (file_name).

The name of the file in the external table is too long (after expanding
all the file macros). Check to see that the full path name of the file
is less than 257 characters long.

-23761 Cannot select from multiple external tables.

Only one external table can be used in a select query. For unions, each
union contributor can have one external table. External tables are allowed
as participants in joins and subqueries along with other database tables.

Check that the FROM clause contains only one external table.

-23762 Null string longer than external column length or of bad format
string.

The CREATE EXTERNAL TABLE statement has a column with invalid NULL «null-string»
syntax. The NULL string for this column is longer than the external column
length declared or is not a recognized format for the external type. If
«null-string» is used to declare a NULL on a PACKED or ZONED decimal,
it must conform to the formats allowed. BINARY external types must contain
valid numeric values.

Check the CREATE EXTERNAL TABLE statement to make sure that the NULL
«null-string» length agrees with the size and format defined for the
external column type.

-23763 Cannot use a FOR UPDATE or FIRST n clause with a SELECT into
an external table.

The SELECT statement contains a FOR UPDATE or FIRST n clause. When the
database server unloads to an external table, these clauses are not allowed.

Check the SELECT statement or when the SELECT cursor was defined,
and make sure you do not include either of these clauses.

-23764 Insert into an external table must provide values for all
columns in the table.

The INSERT statement does not list all the columns that the external table
defines. When the database server unloads to an external table, all columns
must have values described by the SELECT list.

Check the INSERT statement to make sure that all columns are included
in the INSERT clause and that every column has a value supplied by the
SELECT list.

-23765 Cannot use a FOR UPDATE clause with a select from external
table.

The SELECT statement contains a FOR UPDATE clause. When the database server
selects from an external table, this clause is not allowed.

Check the SELECT statement or the cursor declared to make sure you
do not include this clause.

-23766 Illegal use of an external table tablename in query.

This statement describes an illegal operation on an external table. The
types of operations allowed for external tables are CREATE TABLE, SELECT,
SELECT INTO, INSERT, DROP TABLE, GRANT, REVOKE, CREATE SYNONYM, RENAME
COLUMN, and RENAME TABLE.

-23767 Column too long for fixed field. (Val = value, Col = colno,
Len = converted length, Max = maxLen).

When the database server tries to convert the column to FIXED file format,
the size of the converted value was longer than the maximum size defined
for the fixed- size field.

Check that the external table description defines enough space in
the external column type to hold the data selected after conversion.

-23768 External table must be fixed format for external column type
column-name.

An external column type of PACKED, ZONED or BINARY was found for an external
table that is not defined as a FIXED-format file.

Only FIXED-format files can define external-column types that are
not CHAR.

-23769 Unknown external column type column-name.

The CREATE EXTERNAL TABLE statement contains an external-column type that
was not recognized. Valid external-column types are CHAR, PACKED, ZONED,
and BINARY. CHAR values must be in quotes.

Check the CREATE EXTERNAL TABLE statement to make sure that the external-column
types are valid.

-23770 Only check constraints can be defined for external tables.

The CREATE EXTERNAL TABLE statement contains one or more types of constraint
that are not allowed.

Check the statement for primary-key, referential, or unique constraints
on a column or for the table.

-23771 Internal type must be a numeric type column-name.

The CREATE EXTERNAL TABLE statement contains external-column types that
do not agree with the internal-column type. Whenever the external- column
type is PACKED, ZONED or BINARY, the internal type must be a numeric type
such as INTEGER, SMALLINT, FLOAT, or DECIMAL.

Check the CREATE EXTERNAL TABLE statement to make sure any external-
column types agree with the internal-column type.

-23772 Internal type must be a small integer or integer column-name.

The CREATE EXTERNAL TABLE statement contains external-column types that
do not agree with the internal-column type. Whenever the external- column
type is BINARY, the internal type must be SMALL INTEGER or INTEGER.

Check the CREATE EXTERNAL TABLE statement to make sure any external-
column types agree with the internal-column type.

-23773 Reached max error during load coserver-number, errno, filename.

When the database server tried to load the data from the external table,
one of the coservers reached the MAXERRORS limit defined for the external
table.

-23774 Create external table for table_name failed.

The CREATE EXTERNAL table encountered an error trying to create the catalog
entry for the table. Check the accompanying ISAM error code for further
information about the failure.

-23800 An internal error has occurred in the XTM facility.

Please note all circumstances and contact Informix Technical Support regarding
this internal error.

-23801 A memory allocation error has occurred in the XTM facility.

The database server needed to allocate data-space memory to process the
query, but none was available. This situation might reflect a hardware
limit, an operating-system configuration limit, or a temporary shortage
of space.

-23802 A request to idle an XTM participant has failed. Transactions
are in an inconsistent state.

A nonrecoverable internal error occurred within the transaction- management
system.

Please note all circumstances and contact Informix Technical Support.

-23803 An XMF send has failed within the XTM facility.

An internal error occurred within the transaction-management system.

Please note all circumstances and contact Informix Technical Support.

-23804 An XMF receive has failed within the XTM facility.

An internal error occurred within the transaction-management system.

Please note all circumstances and contact Informix Technical Support.

-23805 An unknown transaction ID was encountered in the XTM transaction
management system.

A nonrecoverable error occurred within the transaction-management system.

Please note all circumstances and contact Informix Technical Support
regarding this internal error.

-23807 The backup information for the XTM coordinator is corrupted.

A nonrecoverable error occurred within the transaction-management system.

Please note all circumstances and contact Informix Technical Support
regarding this internal error.

-23808 The creation of the XMF port for the XTM facility failed.

A nonrecoverable error occurred within the transaction-management system.

Please note all circumstances and contact Informix Technical Support
regarding this internal error.

-23850 Table type specified twice.

The CREATE TABLE statement contains more than one table type.

Check the statement to make sure that only one table type is defined.

-23851 This operation is not allowed on a table where the type is
raw or scratch.

An illegal operation (for example, trying to create an index) has been
attempted on a RAW or SCRATCH table.

You might want to alter the table type to a type that supports the
operation.

-23852 This operation is not allowed on a table where the type is
static.

The statement issued tries to modify data in the table with an UPDATE,
INSERT, or DELETE statement. Data modification is not allowed on tables
of type STATIC. You might want to alter the type to one of the other types
that support data modification.

-23853 Unable to change the type of table tablename.

An error occurred when the database server tried to alter the type of
the table. Possibly you tried to alter the table type to RAW when indexes
are defined on the table, or you tried to change a table to STANDARD when
an archive has not been made.

-23854 Indexes and constraints are not allowed on tables if type
is raw or scratch.

This error could occur if you try to alter a STANDARD table to RAW or
SCRATCH but the table has indexes or referential constraints. The CREATE
TABLE statement contains indexes or constraints that are not allowed for
RAW or SCRATCH tables. Check your statement to make sure you do not define
these kinds of constraints or indexes on RAW or SCRATCH tables.

You must alter the RAW or SCRATCH table to a STANDARD table if you
want to use indexes and referential constraints.

-23855 Express mode loads are not permitted for this type of table.

An error occurred when the database server tried to execute an express-mode
load on an external table created with the EXPRESS keyword. This error
can happen if the external table contains blob columns or if the internal
table requires logging inserts. An internal table will require logging
inserts whenever it has the type STANDARD or has referential or unique
constraints.

If the internal table requires logged inserts or the external table
contains blob columns, re-create the external table description without
the EXPRESS keyword.

-23857 This operation is not allowed on tables where the type is
raw or static.

An illegal operation (for example, trying to do an alter table for anything
but table type) has been attempted on a RAW or STATIC table.

You might want to alter the table type to a type that supports the
operation. Do the operation that failed. Alter the table back to the
original type.

-23900 freeshdic FAILED: non-exclusive access dic ref
lk possible memory loss.

An error occurred when the database server tried to free memory for a
shared dictionary entry. If this internal error recurs, please note all
circumstances and contact Informix Technical Support.

-23901 Index name (index_name) with leading byte 0x20 not allowed.

In some situations, such as when a constraint is defined, the database
server creates indexes internally. These indexes, by convention, always
have a leading ASCII blank (hex 20) as the first byte of their name. To
avoid a conflict, user-created indexes cannot have an ASCII blank (hex
20) as the first byte of their name. This rule is enforced regardless
of the locale. This rule is also enforced regardless of the use of the
DELIMIDENT environment variable.

-23901 Alter table is not allowed in a multi-statement transaction.

Try separating the ALTER TABLE statement into its own single-statement
transaction.

-23902 Operation is not supported in SMI database (%s).

UPDATE STATISTICS cannot be run on the sysmaster database. Check your
statement and make sure that the table on which you are running update
statistics is not in the sysmaster database.

-23903 The EXPLAIN output file name must be a NON-NULL CHAR or VARCHAR.

The name given to the EXPLAIN output file is null. Provide a name for
the EXPLAIN output file.

-23904 Attached table (tabname) has an incompatible hash column specification.

The hash column specification of the table named in the error message
is not compatible with that of the surviving table or a prior table in
the attach list. All tables involved in the attach that have hash-column
specifications must have identical hash-column specifications.

-23905 Attached table (tabname) has an incompatible table type.

The table type (standard, raw, etc.) of each attached table must match
that of the surviving table.

-23906 Dbslice lookup failed.

This code indicates that the dbslice specified in the operation (for example,
in the IN clause of the CREATE TABLE … FRAGMENT BY statement) has not
been defined. Please make sure that the specified dbslice is indeed the
name of an existing dbslice and not of a dbspace. You can run the onstat
utility with the -d option to see the names of defined dbspaces. Names
ending with .number are dbspaces that belong to a dbslice (for example,
dbsl.1 and dbsl.2 are two spaces in the dbslice dbsl).

-23907 Column columnname for hash fragmentation doesn’t exist.

The column name specified for hash or hybrid fragmentation was not found
in the table.

-23908 Alter Fragment option not supported for hash fragmentation.

The surviving table has hash fragmentation and an ALTER FRAGMENT ON TABLE
option other than INIT or ATTACH was specified. INIT and ATTACH are the
only supported options for hash-fragmented tables.

-23910 Result types from case expression must be compatible.

The case expression has a result type that is incompatible with other
result types in this expression. Only one type can be returned in a case
expression. Review the data types in your case expression and make sure
that only compatible result types are returned.

-23913 SAMPLE/LOCAL specifiers apply to tables. is not
a table.

The select statement includes a SAMPLE or LOCAL keyword, but the table_name
specified in the FROM clause is not a database table. Check to see that
the tables specified by the SAMPLE or LOCAL keyword in the FROM clause
are not VIEWS or EXTERNAL TABLES.

-23914 Operation not supported on secondary coservers.

An operation that can only be performed on the MDM Primary coserver was
attempted from another coserver. This is an internal error. Please note
all circumstances and contact Informix Technical Support.

-23915 Alter Fragment option not supported for hybrid fragmentation.

The surviving table has hybrid fragmentation and an ALTER FRAGMENT ON
TABLE option other than INIT, ATTACH, or DETACH was specified. INIT, ATTACH,
and DETACH are the only supported options for hybrid-fragmented tables.

-23916 Attached table (tabname) has an incompatible fragmentation
scheme.

The fragmentation scheme of the table named in the error message is not
a kind that can be attached to the surviving table in the ALTER FRAGMENT
ON TABLE command.

-23917 Unable to lock row for hold cursor.

When a lock is required for a row in a hold cursor, it must be a special
type of lock so that it is not released prematurely. This error indicates
that the hold cursor lock attribute could not be acquired.

The accompanying ISAM error code might indicate the reason.

-23918 Cannot create detached cluster index.

Fragmentation scheme cannot be specified when creating cluster index.

-23920 Could not create bitmap index due to outstanding in-place
alter.

A create index using bitmap statement was specified on a table that has
outstanding in-place alters. The in-place alter must complete before such
an index can be created. A dummy update of the entire table will cause
the in-place alter to complete.

An example of a dummy update is an update that changes all the rows
in the table and specifies that a column be set to itself.

-23921 Cannot alter table type in combination with other alter table
options.

You must use separate statements to alter the table type with an ALTER
TABLE statement. It cannot be done in combination with other ALTER TABLE
options.

-23922 Serial column usage incompatible with fragmentation scheme.

A table can be fragmented on a serial column only if the table is fragmented
by hash and the serial column is the only column in the key. Tables fragmented
by expression or hybrid that use serial columns in the fragmentation are
not valid. Neither are hash-fragmented tables that have any columns in
addition to the serial column used for fragmentation.

-23923 HAVING clause should be accompanied by a GROUP clause or with
aggregates on all columns in the SELECT clause.

The HAVING clause in a query should be accompanied by a GROUP BY clause
or by a SELECT clause containing only AGGREGATES on columns or column-expressions.
The HAVING clause is used to apply filter expressions on a «grouped» result.
A grouped result is obtained either by using a GROUP BY clause or by using
only AGGREGATES in the SELECT clause. In the latter case, the result involves
only one group and the result contains only one aggregated row.

-23925 Second arg of dbinfo(dbspace/coserverid) cannot specify a
view.

The dbinfo() function call has either ‘dbspace’ or ‘coserverid’ as the
first argument and the second argument specifies a column name. Column
names qualified by view names are not supported.

Check to see that the second argument specifies a column name qualified
by a table name.

-23926 Second arg of dbinfo(dbspace/coserverid) must specify a column.

The dbinfo() function has either ‘dbspace’ or ‘coserverid’ as the first
argument and the second argument does not specify a column.

Check to see that the second argument specifies a column name qualified
by a table name.

-23927 Third arg of dbinfo(dbspace/coserverid) must be string ‘currentrow’.

The dbinfo() function was called with either ‘dbspace’ or ‘coserverid’
as the first argument followed by a column name as the second argument
and an invalid third argument.

Check to see that the third argument corresponds to the quoted string
constant ‘currentrow’.

-23929 Cannot set memory resident status for a view.

The memory residency status for views cannot be changed.

-23930 GK-index creation syntax error: (message)

The database server cannot create a general-key index for the reason stated
in the error message. Correct the CREATE GK INDEX statement.

-23931 GK-index creation: FROM clause must contain LOCAL, STATIC
BASE tables only.

The database server cannot create a general-key index because one of the
tables in the FROM clause is either a remote table, a non-static table,
or a view. Correct the CREATE GK INDEX statement.

-23932 GK-index creation: indexed table missing in the SELECT statement.

The FROM clause must include the table on which the index is defined.
The indexed table in the FROM clause cannot be aliased. Rewrite the FROM
clause of the statement.

-23933 GAM sanity error: (message)

If this internal error recurs, note all circumstances and contact Informix
Technical Support. Be sure to record the information given in the error
message.

-23934 GAM internal error: (error_number)

If this internal error recurs, note all circumstances and contact Informix
Technical Support. Be sure to record the information given in the error
message.

-23935 GAM: HCNF not supported yet.

This error indicates that the SELECT clause cannot be transformed into
the Hybrid Conjunctive Normal Form (HCNF), an internal query representation
that checks whether the index can be applied to the current query.

-23936 There are GK-indexes depending on a table in the statement.

This statement cannot be executed because general-key indexes exist that
depend on a table or tables involved in the statement. Drop the general-key
index that depends on the table.

To determine which GK indexes need to be dropped to correct this error,
run the following query on the system catalog table:

SELECT sysindexes.idxname, sysindexes.owner

FROM systables, sysindexes, sysnewdepend WHERE systables.tabname
= «» AND systables.tabid = sysnewdepend.destid1 AND sysnewdepend.srcid2
= sysindexes.tabid AND sysnewdepend.srcid1 = sysindexes.idxname

When a particular column of the GK index is involved (for example, in
the case of a RENAME COLUMN statement), run the following query to determine
which GK indexes need to be dropped:

SELECT sysindexes.idxname, sysindexes.owner

FROM sysindexes, systables, syscolumns, sysnewdepend WHERE
systables.tabname = «» AND syscolumns.colname = «»
AND systables.tabid = sysnewdepend.destid1 AND syscolumns.colno = sysnewdepend.destid2
AND sysnewdepend.srcid2 = sysindexes.tabid AND sysnewdepend.srcid1 =
sysindexes.idxname

-23937 GK-index creation: table (table_name) isn’t join-on-key to
the indexed table. The error message shows the name (table_name) of
the table that is not correctly joined in the WHERE clause of the statement.
Change the WHERE clause to include an equality test.

-23950 XBAR error: Error during dbspace backup.

Refer to the ONBar activity log and server message log for more information.

-23951 XBAR error: Error during logical log backup.

Refer to the ONBar activity log and server message log for more information.

-23952 XBAR error: Error during physical restore.

Refer to the ONBar activity log and server message log for more information.

-23953 XBAR error: Error during logical log restore.

Refer to the ONBar activity log and server message log for more information.

-23954 XBAR error: No such dbspace.

The dbspace that you have specified does not exist in your system. Check
that the dbspace supplied on the onbar command line is valid.

-23958 XBAR error: Invalid argument.

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

-23959 XBAR error: Internal error — Error %d from DFM %s at file
%s line %d.

The Data Flow Manager (DFM) has reported an error to the XBAR subsystem.

Contact product support.

-23960 XBAR error: Internal error — Unexpected message type %d received
at file %s line %d.

The XBAR subsystem recieved an unexpected message for another XBAR thread.

Contact product support.

-23961 XBAR error: Not all buffers have been backed up.

A backup client requested to commit a backup without reading all of the
backup data from the database server.

Contact product support.

-23962 XBAR error: Detected error on local xplan thread. Remote thread
aborting.

An XBAR thread detected an error on the client connection coserver.

Examine the server log and onbar activity logs for the error that
preceded this error.

-23963 XBAR error: Memory allocation failed.

The XBAR substem was unable to perform a memeory allocation.

-23964 XBAR error: Internal error — Error %d from SCH %s at file
%s line %d.

The Scheduler (SCH) has reported an error to the XBAR subsystem.

Contact product support.

-23965 XBAR error: Internal error — Error %d from XPL %s at file
%s line %d.

The Xplan (XPL) subsystem has reported an error to the XBAR subsystem.
Contact product support.

-23966 XBAR error: Interrupt received.

The XBAR subsytem detected that its user session was interrupted. This
can occur when the client has recieved a signal or when the session was
terminated using onmode.

Retry the operation that was interrupted.

-23967 XBAR error: XPLAN has been aborted.

An Xplan thread has detected that Xplan was aborted.

Consult the server message log and client message log for more information.

-23968 XBAR error: Internal error — Error %d from RSAM %s at file
%s line %d.

The RSAM subsytem has reported an internal error to the XBAR subsytem.

Contact product support.

-23969 XBAR error: Invalid argument to %s: %s.

An invalid argument was supplied to an XBAR interface routine.

Check the command that resulted in the error to ensure it contains
valid arguments.

-23970 XBAR error: Internal error — session control block is NULL.

An internal data structure that the XBAR subsytem needs to execute an
operation does not exist.

Check the server log and client message logs for preceding errors.
Contact product support.

-23971 XBAR error: Internal error — operation control block is NULL.

An internal data structure that the XBAR subsytem needs to execute an
operation does not exist.

Check the server log and client message logs for preceding errors.
Contact product support.

-23972 XBAR error: Fatal error detected on xplan.

An Xplan thread has detected that Xplan was aborted.

more information.

-23973 XBAR error: Internal error — Error %d from CM %s at file %s
line %d.

The Configuration Manager (CM) has reported an error to the XBAR subsystem.

Contact product support.

-23974 XBAR error: Invalid transport buffer.

The XBAR subsytem was unable to allocate the first transport buffer for
a restore.

Make sure transport buffers are configured properly. Contact product
support.

-23975 XBAR error: Internal error — Error %d from MT %s at file %s
line %d.

The MT subsytem has reported an error to the XBAR subsystem.

Contact product support.

-23976 XBAR error: At least one dbspace must be specified for this
operation.

No dbspace was specified for an Archecker operation.

-23977 XBAR error: Internal error — Fatal error executing external
restore. Not all dbspaces are complete.

An external restore operation finished, but not all dbspaces specified
were restored.

Check the server message log and client message log for more information.

-23979 XBAR error: Invalid coserver id.

An invalid coserver ID was specified for backup or restore.

Make sure that the coservers specified on the command line for backup
or restore are valid. Check the server message log and client message
log for more information.

-23980 XBAR error: Duplicate coserver id.

A duplicate coserver ID was specified for backup or restore.

Make sure that the coservers specified on the command line for backup
or restore do not contain duplicates. Check server message log and client
message log for more information.

-23981 XBAR error: Allocate transport buffer failed.

An error occurred when the database server tried to allocate the transport
buffers.

Note all circumstances, save a copy of the ON-Bar activity log and
database server message log, and contact Informix Technical Support.

-23982 XBAR error: Free transport buffer failed.

An error occurred when the database server tried to free the transport
buffers.

Note all circumstances, save a copy of the ON-Bar activity log and
database server message log, and contact Informix Technical Support.

-24100 Cannot alter index lock mode.

An attempt to alter the lock mode of an index has failed.

Check the accompanying ISAM error code for more information.

-24101 Cannot specify lock mode for an index on a temporary table.

The temporary tables are session specific, which implies that there will
not be any locking contention between different users. For this reason,
altering the lock mode of an index on such tables is not deemed necessary.

-24112 Cannot update column (%s).

This error is generated when a user tries to update a column that is not
from the target table. For example:

create table tab1 (col1 int, col2 int); create table tab2
(col3 int, col4 int); update tab1 set col4 = col3 + 1 from tab1, tab2
where col1 = col4;

This will generate the following error because the column col4 is not
from the target table tab1:

24112: Cannot update column (col4). Error in line 1 Near
character position 1

-24118 This ddl operation is not allowed due to deferred constraints
pending on this table and dependent tables.

This transaction is running with constraint checking deferred. After executing
a DML command (INSERT/UPDATE/DELETE), a DDL command was executed on the
same table. To check the pending constraints, the schema of the table
cannot be changed. DDL commands can change the schema of the table; therefore,
they are not allowed. If this table has a primary key and there is a foreign
key referencing it, schema changes are not allowed on the table containing
the foreign key. This is to check pending referential constraints. The
table containing the foreign key is also referred to as a dependent table.

If you would like to change the schema of the table, first set the
constraint mode to immediate and then retry the failing DDL command.

-24120 Cannot use dbinfo function in HAVING clause.

The dbinfo function cannot be used in the HAVING clause of a query.

-24121 Data Dictionary locking error (%s).

This error can occur when there is a conflict between a DML statement
running on a given table and a concurrent DDL statement trying to modify
that same table. The table name is specified in the error message. This
conflict can occur between 2 different users, or even with a single user
if that single user has an open cursor on the table being modified. In
the latter case, the ISAM error code will be set to -106, non-exclusive
access. The combination of SQL error code -24121 and ISAM error code -106
will uniquely indentify this situation.

The corrective action is to first close any cursors that reference
the table being modified. The ISAM error code can give further details
on the particular conflict resolution in the event the problem is multi-user
related. For example, the error code might indicate that a timeout has
occurred. In that case, the corrective action might be to increase the
wait time (set by the command SET LOCK MODE TO WAIT). Other error codes
can indicate that a deadlock has occurred and you can look up the recommendations
for the ISAM error code for descriptions and corrective actions.

This situation is not influenced by ISOLATION LEVEL and can occur
at any isolation level. This internal locking that occurs is necessary
to enforce consistent metadata. Without this consistency, a variety
of unpredictable and inconsistent, potentially fatal, errors can occur.

-24122 Column not specified for hash/hybrid fragmentation and there
is no primary key for the table.

When a table is created with hash or hybrid fragmentation, if no column
is specified as the hash key in hash or hybrid fragmentation, then the
database server uses the primary key for the table as the hash key. This
error occurred because there is no primary key for the table and no hash
column was specified.

For example, the following statement will get error -24122:

create table tab ( c1 int, c1 int, c2 char(10) ) fragment
by hybrid expression c1 < 1000 in db1, remainder in db2;

There are two ways to fix this statement. 1). Add a hybrid column: create
table tab1 ( c1 int, c2 char(10) ) fragment by hybrid(c2) expression c1
< 1000 in db1, remainder in db2; 2). Add a primary key: create table tab2
( c1 int primary key, c2 char(10) ) fragment by hybrid expression c1 <
1000 in db1, remainder in db2;

-24123 Blobs are not allowed in the «Union» clause.

You selected a TEXT or BYTE column in a UNION query. The SELECT clause
of each query cannot include any TEXT or BYTE columns. These columns are
not allowed in a UNION clause because TEXT and BYTE columns cannot be
tested for equality. A UNION ALL clause, however, can include TEXT and
BYTE columns (in a standalone SELECT statement or in a UNION view).

-24200 RQM Error: Can not find the session.

This error is reported when rmfindsession cannot find a session according
to a session ID.

-24201 RQM Error: Can not find statement sdb.

This error is reported when the parent statement descriptor cannot be
found for UPDATE CURRENT.

-25546 Invalid network association control.

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

-25548 Too many active connections.

If this sqlexecd internal error recurs, please note all circumstances
and contact Informix Technical Support.

-25553 Sqlhosts file not found or cannot be opened.

The sqlhosts file is required to determine information to establish connection
to a local or remote server. Create an sqlhosts file in the directory
$INFORMIXDIR/etc according to the format that the manual for your database
server product describes.

-25554 INFORMIXSERVER environment variable too long.

The value of INFORMIXSERVER is too long for a database server name. The
maximum length for database server names depends on the database server.
In Informix Dynamic Server 2000, the maximum length is 128 characters.
In other Informix database servers, the maximum length is 18 characters.

Set the INFORMIXSERVER environment variable to a database server name
that does not exceed the maximum length and try again.

-25555 Server server-name is not listed as a dbserver name in sqlhosts.

The database server name that is mentioned in the current command is not
listed in the sqlhosts file. Check the server name for accuracy. Check
that all database servers to be accessed are included in the sqlhosts
file.

If you are using INFORMIX-SE, your current working directory might
be an NFS-mounted directory. Change your current working directory to
a local directory, or add appropriate local directories to your DBPATH.

-25556 Invalid sqlhosts file format.

Check that each field in the $INFORMIXDIR/etc/sqlhosts file is correct
and contains supported values or that the sqlhosts information in the
Windows NT registry is correct. If you are using Informix Dynamic Server
2000, Informix Dynamic Server, INFORMIX-Universal Server, or INFORMIX-OnLine
Dynamic Server, check the DBSERVERNAME, DBSERVERALIASES, and NETTYPE parameters
in the $ONCONFIG configuration file or the informixserver entries in the
registry. If you are using INFORMIX-SE, check the dbservername, nettype,
hostname, and servicename fields in the sqlhosts file to make sure that
you have entered the correct values. For additional information, refer
to your Administrator’s Guide.

For ESQL/C: If you receive this message from an ESQL/C application
in a Windows environment, check the information in the network parameters
that the client computer defines. For information on setting the parameters,
refer to the INFORMIX-ESQL/C Programmer’s Supplement for Microsoft Windows
Environments.

For ESQL/COBOL: If you receive this message from an ESQL/COBOL application
in a Windows environment, check the information in the network parameters
that the client computer defines. For information on setting the parameters,
refer to the INFORMIX-ESQL/COBOL Programmer’s Supplement for Microsoft
Windows Environments.

-25557 Network internal error.

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

-25558 The NFS/RFS host host-name is not listed as a dbserver name
in sqlhosts.

The database server that is mentioned in the current command resides on
an NFS- or RFS-mounted file system. However, no entry exists with the
NFS or RFS host for the dbservername that is listed in the sqlhosts file.
Ask your Informix database administrator to add the entry to the sqlhosts
file. If you are using INFORMIX-SE, be sure that an sqlexecd daemon is
running on the NFS or RFS host.

-25559 DBPATH server server-name is not listed as a dbserver name
in sqlhosts.

The database server that your DBPATH environment variable setting specifies
is not listed in the $INFORMIXDIR/etc/sqlhosts file. Check that every
database server that is mentioned in DBPATH corresponds to an entry in
the sqlhosts file.

-25560 Environment variable INFORMIXSERVER must be set.

The INFORMIXSERVER environment variable must specify a default database
server. Use a setenv command in C shell or a set command in Bourne shell
to set INFORMIXSERVER.

-25561 Invalid authentication type.

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

-25565 Cannot get process information.

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

-25566 System time error.

See the system administrator regarding this operating-system error. Check
that the system clock is set correctly.

-25567 Internal communications buffer management error detected.

Memory corruption or incorrect use of buffer-management routines usually
causes this error. Check that no memory corruption problem exists in the
current process space. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-25568 Debugging utility error.

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

-25570 Network driver cannot execute the fork system call.

A system call has failed. See the UNIX system administrator for assistance.

-25571 Exceeded the maximum number of user threads.

Check the value of the USERTHREADS parameter in the ONCONFIG configuration
file and the value of the userthreads field of the NETTYPE parameter.

-25571 Cannot create a user thread.

The database server cannot create or spawn a user thread for a client
that is trying to establish a connection.

Probable causes of the error and corrective actions include:

  • The database server cannot allocate system resources for the user
    thread at the moment. The client can retry the connection later. When
    other clients finish their work, some system resources should become
    available again. Check to see if the user is the right person to execute
    the utility or the program. For information about who can use what
    utilities, refer to the Trusted Facility Manual or your Administrator’s
    Guide.
  • A user who is not allowed to use a particular client application
    to connect to the database server tried to use the utility to connect.
    Client applications include SQL APIs, DB-Access, and all the database
    server utilities.
  • A request for a Global Language Support (GLS) structure failed.
    Refer to the corrective actions for errors -23100, -23101, -23102,
    -23104, -23108, and -23110 for possible solutions.
  • A user attempting to connect to the database server does not belong
    to the database server user group, as defined in $INFORMIXDIR/dbssodir/seccfg
    on a UNIX system or in the registry on a Windows NT system. Make sure
    that the user belongs to a user group that can access the database
    server. For more information about DBSSO users, see the Trusted Facility
    Manual.

-25572 Network driver cannot bind a name to the port.

A system call has failed. The sqlexecd daemon or database server cannot
access the network port that is specified by the servicename in the sqlhosts
file. This situation might occur because the network port is already in
use by another sqlexecd, database server, or other application. Use a
different servicename on the command line (prior to Version 6.0) or in
the sqlhosts file (beginning with Version 6.0). Contact your system administrator
for assistance.

-25573 Network driver cannot accept a connection on the port.

A system call has failed. See the UNIX system administrator for assistance.

-25574 Network driver cannot open the network device.

A system call has failed. See the UNIX system administrator for assistance.

-25575 Network driver cannot allocate the call structure.

A system call has failed. See the UNIX system administrator for assistance.

-25576 Network driver cannot allocate the return structure.

A system call has failed. See the UNIX system administrator for assistance.

-25577 Network driver cannot get a host structure.

A system call has failed. See the UNIX system administrator for assistance.

-25578 Network driver cannot disconnect from the network.

A system call has failed. See the UNIX system administrator for assistance.

-25579 Network function was issued in the wrong sequence.

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

-25580 System error occurred in network function.

A system call has failed. For assistance, contact your system administrator
or Informix Technical Support.

-25581 Transport Layer memory free error.

This message indicates a system problem. It might be a problem with freeing
memory. You can retry the connection, then see the UNIX system administrator
for assistance.

-25582 Network connection is broken.

This error might indicate that the database server has terminated, or
a problem might exist on the network itself. Check that the network is
functioning and that the server is still running.

-25583 Unknown network error.

See the UNIX system administrator or the network administrator for assistance.

-25584 Network driver cannot access the server program program-name.

Check that the INFORMIXSERVER environment variable correctly specifies
the default server name and that the default server name and the service
name entries in the sqlhosts file are correct.

-25585 Invalid buffer size.

The buffer size that is specified in the servicename column is not valid.
Check that the servicename column of your sqlhosts file is correct.

-25586 Network send failed.

A system call has failed. See the UNIX system administrator for assistance.

-25587 Network receive failed.

A system call has failed. Perform a DISCONNECT and then check the status
of the server. See your UNIX system administrator for assistance.

-25588 The appl process cannot connect to Dynamic Server 2000 .

An error in the application can produce this message. Check your CONNECT
statement and the sqlhosts file. A system failure can also produce this
message. If you can find no immediate cause for the failure, note the
circumstances and contact your database server administrator for assistance.

The shared memory communication subsystem is down or not functioning.
Contact the database server administrator to report the problem.

-25588 The appl process cannot connect to the database server .

An error in the application can produce this message. Check your CONNECT
statement and the sqlhosts file. A system failure can also produce this
message. If you can find no immediate cause for the failure, note the
circumstances and contact your database server administrator for assistance.

The shared memory communication subsystem is down or not functioning.
Contact the database server administrator to report the problem.

-25589 Invalid Dynamic Server 2000 mail-box message type.

A system call has failed. See your system administrator for assistance.

-25589 Invalid database server mail-box message type.

A system call has failed. See your system administrator for assistance.

-25590 Authentication error. This error indicates that an invalid
user ID or password was used to connect to the database server. Provide
a valid user ID and password. This error can also occur if the CSM option
is enabled on the database server side but disabled 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.

-25591 Transport control received an invalid connection address.

Check the hostname and servicename entries in the $INFORMIXDIR/etc/sqlhosts
file for the desired database server. Verify with the DBA and the UNIX
system administrator that the hostname and servicename are spelled correctly.
If you are using TCP/IP, also verify that the hostname and servicename
have corresponding entries in the /etc/hosts and the /etc/services files,
respectively, on the client computer.

-25592 Communications service not supported by network driver.

The network service that was requested for this connection, such as TCP
with sockets or TCP with TLI, is not available on the desired system or
the specified database server. Use a supported network service; verify
that the nettype field is correctly specified for the desired database
server in the $INFORMIXDIR/etc/sqlhosts file. If the network service is
available on the system but not on the database server, ask your DBA to
turn on the service when the DBA initializes the database server.

-25593 Network listener failed to make an open I/O channel to be
non-blocking.

Report this operating-system error to the operating-system administrator.
It might require a system reboot.

-25594 Shared Memory client failed to alert Dynamic Server 2000 for
service.

Memory corruption usually causes this problem, or the operating system
cannot perform a semaphore operation. Report the problem to the system
administrator, who might need to restart the database server or reboot
the computer.

-25594 Shared Memory client failed to alert the database server for
service.

Memory corruption usually causes this problem, or the operating system
cannot perform a semaphore operation. Report the problem to the system
administrator, who might need to restart the database server or reboot
the computer.

-25595 Invalid message received during connection attempt.

An error occurred when you tried to connect to the desired database server.

If you are using Informix Dynamic Server 2000, Informix Dynamic Server,
INFORMIX-Universal Server, or INFORMIX-OnLine Dynamic Server, verify
that the database server is still on-line. If you are using INFORMIX-SE,
verify that the sqlexecd daemon for the database server is still running.
Also, verify that the $INFORMIXDIR/etc/sqlhosts file entry for the database
server is correct.

-25596 The INFORMIXSERVER value is not listed in the sqlhosts file
or the Registry.

The default database server name that the INFORMIXSERVER environment variable
specifies must be a valid database server name in the file $INFORMIXDIR/etc/sqlhosts
on UNIX or the registry on Windows. Check that the specified server is
listed in the sqlhosts file or the registry.

-25597 Error in system pipe processing.

This system failure might indicate a problem accessing environment variables.
Note the system error number and see the operating-system administrator
for assistance.

-25598 Communications usage error: Invalid state transition.

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

-25599 Network connection error — no listener.

The client application is attempting to connect to a remote server. However,
no listener daemon is running on the remote host. Check that the listener
daemon is started on the remote host and retry the connection.

-25600 The relay module cannot get environment variable SQLRM. System
error error-number.

Check with your system administrator for problems with the system.

-25601 This relay module cannot execute relay module module-name
for another protocol.

Validate that the named relay module is installed on your system.

-25602 The local database server server-name cannot be forked by
the relay module. System error number.

Check with your system administrator for problems with the system.

-25603 Attempt to prepare more than one statement before connecting
to a database.

Check your application to make sure that you prepare only one of the CREATE
DATABASE, START DATABASE, or DROP DATABASE statements before you connect
to a database.

-25604 The database name syntax conflicts with the options in the
statement.

Check your application to make sure that your database syntax uses the
correct options accordingly in the statements.

-25605 SQLEXEC must be set to create a local database using the relay
module.

Check that you have set the SQLEXEC environment variable to the local
INFORMIX-SE database server (for database servers prior to Version 6.0).

-25606 Unknown product identification string in the database server
on the local machine.

Check that you have installed the database server.

-25607 Statement not supported. Database not selected yet.

You issued an SQL statement that requires an open database, but you did
not select a database. Select the desired database and retry the statement.

-25701 You do not have permission to access the specified host table.

You do not have permission to access the specified host table. Either
your Answer/Extractor profile name is incorrect, or your host-table glossary
is out of date. Check that your Answer/DB Profile Name parameter on the
SETUP screen is correct. If it is correct, refresh your host-table glossary.

-25702 Glossary database does not exist.

The glossary database has not been created yet. Select the Refresh option
from the HOST-TABLE Menu. The database will be created automatically.

-25705 Host table table-name is not in your glossary.

The host table that you specified is not listed in your glossary. One
of the following causes might apply:

  • You misspelled the host-table name.
  • Your Answer/Extractor profile name is incorrect.
  • You do not have permission to access the table.
  • Your host-table glossary is out of date.

Check the spelling of the host-table name and your Answer/DB Profile Name
parameter on the SETUP screen. Consult your Answer/Extractor DBA to verify
that you have permission to access the specified table. Refresh your host-table
glossary, if needed.

-25709 There are no host tables listed in your glossary.

Your host-table glossary contains no information. One of the following
causes might apply:

  • You misspelled your Answer/Extractor profile name.
  • You do not have access to any tables on the host.
  • You have not refreshed your glossary.
  • The glossary database is corrupt.

Verify that the Answer/DB Profile Name parameter on the SETUP screen is
correct. Refresh your host-table glossary, if needed.

-25713 The standard database engine is not supported.

You are using the INFORMIX-SE database server. Data Extract does not support
the INFORMIX-SE database server. Exit Data Extract. Change the SQLEXEC
environment variable to indicate sqlturbo and set the TBCONFIG environment
variable, if needed. Restart DataExtract.

-25714 Host Process Timeout limit has expired while waiting for host
data.

You are running an EXTRACT statement or are refreshing your host glossary.
The time limit set in the Host Process Timeout parameter expired while
DataExtract was waiting for the host to return the selected data. One
of the following causes might apply:

  • The timeout limit is too short.
  • The Answer/Extractor batch processor did not run within the specified
    time limit.
  • The host is very busy.
  • Host communication is unavailable or is interrupted.

Verify that the host communication is operational. Increase the Host Process
Timeout parameter in the SETUP screen. Rerun the EXTRACT statement, or
choose the Refresh option on the HOST-TABLE menu to refresh the glossary.

If the error occurs while you are running an EXTRACT statement, consult
your Answer/Extractor DBA to check the schedule of the batch processor
that processes the selected host table. Adjust the Host Process Timeout
parameter according to the schedule, or rerun the EXTRACT statement
at another time.

-25715 Warning: no matching field for retrieved description.

This message is a warning only. While DataExtract is retrieving the glossary,
it retrieves a description for a field that is not listed in the glossary.

-25716 Error loading field description.

DataExtract encountered an error while it was inserting a host-field description
into the glossary database during a glossary refresh. Either another user
locked the glossary database, or a table update error occurred. If the
database is locked, refresh the glossary again.

-25718 This statement is not supported or is invalid.

An SQL statement was entered that is either invalid or not supported by
DataExtract. Refer to Appendix A of the INFORMIX-OpenView User Manual
for a list of supported SQL statements.

-25719 Number of host fields does not match number of target columns.

When host data is extracted into a table, the number of listed host fields
is not the same as the number of listed target-table columns. Check the
EXTRACT statement to ensure that the number of host fields that you listed
is the same as the number of target-table columns.

-25720 Host data field field-name may overflow in target column column-name.

The defined length of the specified host field is longer than the defined
length of the specified Informix table column in which data is to be retrieved.
Check the defined length of the host field in the glossary. Redefine the
length of the target column and rerun the EXTRACT statement.

-25721 BLOB data type not supported.

An extract of host data into a column that is defined as a BLOB was attempted.
Redefine the column to a supported data type, or modify the EXTRACT statement
to use a different column that is not a BLOB. Rerun the EXTRACT statement.

-25722 Unknown host data type type.

The host field to retrieve is listed as having a data type other than
character or numeric. The glossary database is incorrect. Refresh the
glossary and rerun the EXTRACT statement.

-25723 Invalid output media.

This message indicates a DataExtract internal error. Rerun the EXTRACT
statement. If the error recurs, exit DataExtract. Restart DataExtract
and then rerun the EXTRACT statement.

-25724 Job status not available.

The status of the Answer/Extractor SELECT clause that was submitted to
the host is being checked. The status of the SELECT clause is not available
at this time. Resubmit your request.

-25727 Unknown predefined definition.

This message indicates an internal error. Exit DataExtract and retry the
option.

-25728 Cannot create parameter SQLDA.

DataExtract cannot create the data structure for Answer/API to submit
your EXTRACT statement. Probably not enough memory is available. Exit
DataExtract. Restart DataExtract and rerun the EXTRACT statement.

-25730 Cannot initialize Answer/API.

DataExtract cannot initialize Answer/API. For more information, see the
API error message.

-25731 Cannot establish connection to the host.

DataExtract cannot establish the connection to Answer/Extractor on the
host computer. For more information, see the API error message.

-25732 Cannot terminate the host session.

DataExtract cannot establish the connection to Answer/Extractor on the
host computer. For more information, see the API error message.

-25733 Cannot initialize status communication area for API.

DataExtract cannot establish the connection to Answer/Extractor on the
host computer. For more information, see the API error message.

-25734 Cannot initialize environment descriptor for API.

DataExtract cannot initialize the environment descriptor data structure
for Answer/API. For more information, see the API error message.

-25735 Cannot initialize query statement descriptor for API.

DataExtract cannot initialize the query statement descriptor for Answer/API.
For more information, see the API error message.

-25736 Cannot initialize field descriptor for API.

DataExtract cannot initialize the field descriptor for Answer/API. For
more information, see the API error message.

-25737 Cannot initialize cursor descriptor for API.

DataExtract cannot initialize the cursor descriptor for Answer/API. For
more information, see the API error message.

-25738 Cannot terminate Answer/API.

While exiting, DataExtract cannot terminate Answer/API. For more information,
see the API error message.

-25739 Cannot determine size of communication area for API.

This message indicates an internal error. Exit DataExtract and retry the
option.

-25740 Cannot determine size of environment descriptor for API.

This message indicates an internal error. Exit DataExtract and retry the
option.

-25741 Cannot determine size of field descriptor for API.

This message indicates an internal error. Exit DataExtract and retry the
option.

-25742 Cannot determine size of cursor descriptor for API.

This message indicates an internal error. Exit DataExtract and retry the
option.

-25743 Invalid SQL/ADB SELECT clause.

The SELECT clause in the current EXTRACT statement is invalid. For more
information, see the API error message.

-25744 Cannot execute the SQL/ADB SELECT clause.

The SELECT clause in the current EXTRACT statement cannot be executed
on the host. For more information, see the API error message.

-25745 Cannot prepare to access host data.

For more information on this internal error, see the accompanying API
error message.

-25746 Cannot retrieve host data.

DataExtract cannot retrieve the results of the current EXTRACT statement
from the host. For more information, see the accompanying API error message.

-25747 Cannot retrieve next row of host data.

DataExtract encountered an error while it was retrieving data from the
host. For more information, see the accompanying API error message.

-25748 Cannot terminate access to host data.

DataExtract cannot successfully terminate access to the results for the
current EXTRACT statement. For more information, see the accompanying
API error message.

-25749 Cannot purge host data.

DataExtract cannot purge the data on the host. DataExtract purges host
data after it finishes retrieving the results for the current EXTRACT
statement, after it encounters an error while it is retrieving the data,
or after the user cancels the job. For more information, see the accompanying
API error message.

-25750 Cannot retrieve job status information.

DataExtract cannot retrieve the status of the current SELECT clause that
has been submitted to the host. For more information, see the accompanying
API error message.

-25751 Cannot cancel job on the host.

DataExtract cannot cancel the current SELECT clause that has been submitted
to the host. For more information, see the accompanying API error message.

-25753 Cannot write to host configuration file.

DataExtract cannot write to the host configuration file, config.txt. The
file is in the path that the ANSAPI environment variable specifies, or
in the current directory if ANSAPI is not set. Either the file or path
does not have the correct permissions, or not enough disk space is available.
Verify that the file and path have the correct permissions and that sufficient
disk space is available.

-25754 Cannot write to local configuration file.

DataExtract cannot write to the local configuration file, openview.cfg.
The file is in the path that the ANSAPI environment variable specifies,
or in the current directory if ANSAPI is not set. Either the file or path
does not have the correct permissions, or not enough disk space is available.
Verify that the file and path have the correct permissions and that sufficient
disk space is available.

-25755 Cannot read host configuration file.

DataExtract cannot read the host configuration file, config.txt. The file
is in the path that the ANSAPI environment variable specifies, or in the
current directory if ANSAPI is not set. Verify that the file and path
have the correct permissions.

-25756 Cannot read local configuration file.

DataExtract cannot read the local configuration file, openview.cfg. The
file is in the path that the ANSAPI environment variable specifies, or
in the current directory if ANSAPI is not set. Verify that the file and
path have the correct permissions.

-25757 Glossary database not open.

DataExtract cannot open the glossary database. Either DataExtract encountered
an internal error, or the system permissions to the glossary database
have been modified. Check the glossary database to make sure that the
system permissions to the database have not been altered. If the problem
persists, ask the glossary database owner to drop the glossary database
and run the glossary Refresh option to re-create it.

-25761 Host Environment parameter is invalid.

The value that you entered in the Host Environment parameter on the SETUP
screen is not valid or is not supported. Change the value to one of the
following: CICS, CMS, IMS, TSO.

-25762 CICS Paging Code parameter is required.

A paging code is required if you are using Answer/Extractor in CICS. Consult
your Answer/Extractor DBA to find out the CICS paging code.

-25763 CICS Termination Code parameter is required for the CICS host
environment.

A termination code is required if you are using Answer/Extractor in CICS.
Consult your Answer/Extractor DBA to find out the CICS termination code.

-25764 Answer/DB Profile Name parameter is required.

The Answer/Extractor profile name is required to determine your access
permissions to the host tables. Consult your Answer/Extractor DBA to find
out your Answer/Extractor profile name.

-25765 Answer/DB invocation code is required.

The Answer/Extractor invocation code is required to invoke Answer/Extractor.
Consult your Answer/Extractor DBA to find out the Answer/Extractor invocation
code for your host environment.

-25766 Lock Time parameter must be from 1 to 300 seconds.

The lock time that you entered is invalid. Change the lock time to a number
from 1 to 300.

-25767 Stable Time parameter must be from 2 to 18 seconds.

The stable time that you entered is invalid. Change the stable time to
a number from 2 to 18.

-25768 Connect Script parameter is required.

The Connect Script parameter on the SETUP screen is blank. Enter the filename
of a valid connect script. You can use the Scripter utility to create
a valid connect script if it does not exist.

-25769 Cannot access the specified connect script file.

The specified connect script file does not exist or does not have the
correct permissions. Check the spelling of the filename. Check that the
file exists in the path that the ANSAPI environment variable specifies,
or in the current directory if ANSAPI is not set.

-25770 Disconnect Script parameter is required.

The Disconnect Script parameter on the SETUP screen is blank. Enter the
filename of a valid disconnect script. Use the Scripter utility to create
a valid script if it does not exist.

-25771 Cannot access the specified disconnect script file.

The specified disconnect script file does not exist or does not have the
correct permissions. Check the spelling of the filename. Check that the
file exists in the path that the ANSAPI environment variable specifies,
or in the current directory if ANSAPI is not set.

-25772 Class parameter must be from 1 to 15.

The specified Answer/Extractor processing class is incorrect. Change the
Class parameter to a number from 1 to 15.

-25773 The Host Process Timeout parameter must be from 1 to 1440
minutes.

The specified processing timeout limit is incorrect. Change the Host Process
Timeout parameter to a number from 1 to 1,440.

-25774 Max Records to Process parameter must be from 1 to 99,999,999.

The specified value is incorrect. Change the value to within the accepted
range.

-25775 Max Records to Retrieve parameter must be from 0 to 9,999.

The specified value is incorrect. Change the value to within the accepted
range.

-25776 Commit Frequency parameter must be from 1 to 99,999,999 rows.

The specified value is incorrect. Change the value to within the accepted
range.

-25777 Invalid value. Must be either Y or N.

You answered a prompt with a letter other than Y or N. Change your answer
to Y or N.

-25778 Error writing to output file.

While DataExtract is extracting host data into a file, it cannot write
to the specified file. Verify that enough disk space is available and
that the file has the correct permissions.

-25779 Cannot open output file.

While extracting host data into a file, DataExtract cannot open the specified
output file. If the file already exists, check that the file has the correct
permissions.

-25780 Warning: No field descriptions defined for the host table.

While DataExtract was refreshing your glossary, it found that no field
descriptions are defined on the host computer for the host table that
is being refreshed. This message is a warning only. Consult your Answer/Extractor
DBA about adding field descriptions for the host table.

-25781 Missing host table name or FROM clause.

The current EXTRACT statement is missing the host-table name or the entire
FROM clause. Correct and rerun the EXTRACT statement.

-25782 Warning: Incomplete results have been returned from the host.

The data that you selected probably exceeded the disk space that is available
to you on the host. The results that were retrieved from the host are
incomplete. Take one or more of the following actions:

  • Modify your SELECT clause to select less data or fewer fields.
  • Consult your host Systems Administrator for more disk space.
  • Modify your SIZE clause to retrieve fewer rows.
  • Modify the Max Records to Retrieve parameter on the SETUP screen.

-25783 Value in SIZE clause is invalid.

SIZE clause contains unacceptable characters. An acceptable value must
be a number from 1 to 9,999.

-25784 Value in SIZE clause is out of range.

The specified value is incorrect. An acceptable value must be a number
from 1 to 9,999.

-26104 API error: Out of memory.

This message indicates a memory-allocation error. Memory Manager could
not allocate memory. Exit DataExtract and retry the option.

-26201 API error: Cannot find message file.

The Answer/Extractor message file, message.txt, cannot be found. Check
that the ANSAPI environment variable is set correctly. If necessary, copy
the message file from $INFORMIXDIR/etc to your ANSAPI directory, or to
the current directory if ANSAPI is not set.

-26202 API error: No room for message file.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26203 API error: Message file is too short.

The Answer/Extractor message file, message.txt, is incorrect or corrupt.
Recopy the message file from $INFORMIXDIR/etc to the directory that the
ANSAPI environment variable specifies, or to the current directory if
ANSAPI is not set.

-26204 API error: Message file is too long.

The Answer/Extractor message file, message.txt, is incorrect or corrupt.
Recopy the message file from $INFORMIXDIR/etc to the directory that the
ANSAPI environment variable specifies, or to the current directory if
ANSAPI is not set.

-26205 API error: Error reading message file.

The Answer/Extractor message file, message.txt, does not have the correct
permissions or is corrupted. Verify that the file has the correct permissions.
The file should be in the directory that the ANSAPI environment variable
specifies, or in the current directory if ANSAPI is not set. If the file
is corrupt, recopy the file from $INFORMIXDIR/etc.

-26206 API error: Cannot find configuration file.

The host configuration file, config.txt, cannot be found. Use the Setup
option on the DataExtract Main Menu to access the SETUP screen and create
the configuration file.

-26207 API error: No room for configuration file.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26208 API error: Configuration file is too short.

The host configuration file, config.txt, is incorrect or corrupt. Use
the Setup option on the DataExtract Main Menu to access the SETUP screen
and re-create the configuration file.

-26209 API error: Configuration file is too long.

The host configuration file, config.txt, is incorrect or corrupt. Use
the Setup option on the DataExtract Main Menu to access the SETUP screen
and re-create the configuration file.

-26210 API error: Error reading configuration file.

The host configuration file, config.txt, does not have the correct permissions
or is corrupt. Verify that the file has the correct permissions. Check
that the file is in the directory that the ANSAPI environment variable
specifies, or in the current directory if ANSAPI is not set. If the file
is corrupt, use the Setup option on the DataExtract Main Menu to access
the SETUP screen and re-create the configuration file.

-26211 API error: Invalid SQLCA structure.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26212 API error: Communications board not present.

The hardware that is required for communicating to the host computer is
not installed or is not functioning properly. Verify that the communications
board is installed and configured properly.

-26217 API error: Inconsistent driver scan code file.

The controller instructions file, driver.dsc, is invalid or corrupt. Recopy
the file from $INFORMIXDIR/etc to the directory that ANSAPI specifies
or to the current directory if ANSAPI is not set.

-26224 API error: Host session busy.

The emulation software is unavailable, or the host session that is specified
in the Host Session parameter on the SETUP screen is currently in use.

Verify that the emulation software is available. If it is, change
the Host Session parameter on the SETUP screen to a different host session.
Change any configuration file that your emulation software requires
accordingly.

-26225 API error: Host session does not exist.

The host-session name that is specified in the Host Session parameter
on the SETUP screen is invalid. Correct the host-session name. Change
any configuration file that your communications software requires accordingly.

-26230 API error: Session cannot be set up as model 5 terminal.

DataExtract does not support model 5 terminals. Reconfigure your 3270
emulator software to a model 2 terminal and restart DataExtract.

-26231 API error: Keyboard permanently locked.

The Keyboard Inhibit signal on the host session did not clear within the
timeout period set in the Lock Time parameter. This situation might have
occurred for the following reasons:

  • The time that the Lock Time parameter specifies is too short.
  • The host session went down.
  • The host session is very slow.

Exit DataExtract. Use your 3270 emulator software (for example, te3278)
to verify that the host session is available. If the host session is available,
manually exit the session to the starting point that your connect script
specifies. Restart DataExtract. If the host session is very slow, increase
the Lock Time parameter.

-26233 API error: Invalid character.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26234 API error: Invalid script.

The connect or disconnect script is invalid. Use the Scripter utility
to re-create your connect or disconnect script. Check that the scripts
are in the directory that the ANSAPI environment variable specifies.

-26235 API error: Invalid script password.

The password for the connect or disconnect script is incorrect. Verify
your connect or disconnect script password on the SETUP screen.

-26236 API error: Input beyond end of screen.

Your 3270 emulator session is not at the terminal session screen that
the connect script expects. Exit DataExtract and confirm that your connect
script is correct. Use the 3270 emulator software to make sure that it
is at the screen that the connect script expects.

-26237 API error: Input too long for field.

Your 3270 emulator session is not at the terminal session screen that
the connect script expects. Exit DataExtract and confirm that your connect
script is correct. Use the 3270 emulator software to check that it is
at the screen that the connect script expects.

-26238 API error: Lock Time limit expired while waiting for host
response.

The host did not respond within the time limit that is set in the Lock
Time parameter in the SETUP screen. The host is either not available at
the moment or is busy. Use the Setup option on the Main Menu to access
the SETUP screen. If the error recurs, resubmit your request.

-26239 API error: Invalid Host Environment parameter.

The specified host environment is invalid. Correct the Host Environment
parameter on the SETUP screen.

-26240 API error: Invalid Answer/DB Password parameter.

The specified Answer/Extractor password is invalid. Verify the Answer/DB
Password parameter on the SETUP screen.

-26241 API error: Invalid Answer/DB Profile Name parameter.

The specified Answer/Extractor profile name is invalid. Verify the Answer/DB
Profile Name parameter on the SETUP screen.

-26242 API error: Unintelligible response.

Your 3270 emulator session is not at the terminal session that the connect
script expects. Exit DataExtract and confirm that your connect script
is correct. Use the 3270 emulator software to check that it is at the
terminal that the connect script expects.

-26245 API error: Answer/DB invocation failed.

Your 3270 emulator session is not at the terminal session that the connect
script expects. Exit DataExtract and confirm that your connect script
is correct. Use the 3270 emulator software to check that it is at the
terminal that the connect script expects.

-26246 API error: Cannot open script.

The connect or disconnect script cannot be opened. Verify that the connect
or disconnect script file has the correct permissions.

-26247 API error: Invalid SQLEA structure.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26248 API error: SQLDA size below minimum.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26249 API error: SQLST size below minimum.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26250 API error: Invalid query name.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26251 API error: Invalid SQLDA structure.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26252 API error: Invalid SQLST structure.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26253 API error: SQLDA structure too small.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26254 API error: SQLST structure too small.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26255 API error: SQLDA does not contain field name.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26256 API error: SELECT not found.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26257 API error: FROM not found.

The SELECT clause in the current EXTRACT statement is missing the FROM
clause. Correct and rerun the EXTRACT statement.

-26258 API error: Invalid SELECT reference.

The SELECT clause in the current EXTRACT statement is invalid. Correct
the EXTRACT statement and rerun it.

-26259 API error: Invalid FROM reference.

The SELECT clause in the current EXTRACT statement has an invalid FROM
reference. Correct and rerun the EXTRACT statement.

-26260 API error: Invalid range variable.

The SELECT clause in the current EXTRACT statement contains an invalid
range variable. Correct and rerun the EXTRACT statement.

-26262 API error: Invalid comparison in WHERE clause.

The WHERE clause in the current EXTRACT statement contains an invalid
comparison. Correct and rerun the EXTRACT statement.

-26263 API error: Invalid function reference.

The function that is referenced in the SELECT clause in the current EXTRACT
statement is invalid. Correct and rerun the EXTRACT statement.

-26265 API error: ORDER BY contains fields not selected.

Some of the fields that are specified in the ORDER BY clause in the EXTRACT
statement have not been selected. Modify the SELECT clause to select the
fields and rerun the EXTRACT statement.

-26267 API error: Invalid wildcard.

The wildcard in the SELECT clause of the current EXTRACT statement is
invalid. Correct and rerun the EXTRACT statement.

-26268 API error: Invalid substitution.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26269 API error: Unintelligible keyword.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26270 API error: Invalid predefined query.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26271 API error: Host connection not established.

The connection to Answer/Extractor on the host cannot be established at
the moment. Exit DataExtract and resubmit the request.

-26272 API error: Host connection not terminated.

The connection to Answer/Extractor on the host cannot be terminated. The
host session has probably been disconnected unexpectedly. Use the emulator
software, for example te3278, to verify that the host connection is terminated.
The session might need to be terminated manually.

-26273 API error: Invalid class number.

The value that is set in the Class parameter is invalid. Consult your
Answer/Extractor DBA to determine the valid class numbers. Correct the
class number on the SETUP screen and rerun the EXTRACT statement.

-26274 API error: Invalid item count.

The value that is set in the Max Records to Process parameter is invalid.
Correct the parameter on the SETUP screen and rerun the EXTRACT statement.

-26275 API error: Invalid record count.

The value that is set in the Max Records to Retrieve parameter is invalid.
Correct the parameter on the SETUP screen and rerun the EXTRACT statement.

-26276 API error: Invalid query in SQLST.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26277 API error: Table does not exist on the host.

The host table that the current EXTRACT statement specifies does not exist,
although it is listed in your glossary. The host-table glossary is probably
out of date. Refresh the entire host-table glossary.

-26278 API error: Field does not exist on the host.

One of the host fields that the current EXTRACT statement specifies does
not exist on the host, although it is listed in your host-table glossary.
Your host-table glossary is probably out of date. Refresh the host-table
information for the problem host table.

-26279 API error: Query too large for Answer/Extractor.

The SELECT clause in the current EXTRACT statement is too long.

-26280 API error: CICS Paging Code parameter is missing.

The CICS paging code is missing. Use the SETUP screen to set the CICS
Paging Code parameter.

-26281 API error: Cannot find message text.

An expected message was not received from the mainframe when DataExtract
tried to retrieve host data or check the status of a job. Exit DataExtract
and retry the option.

-26282 API error: Invalid SQLCR structure.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26283 API error: Environment already has open cursor.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26284 API error: SQLCR structure already open.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26285 API error: Query data not available at host.

The result for the SELECT clause of the current EXTRACT statement is not
available at the host. Rerun the EXTRACT statement.

-26286 API error: SQLCR structure not open.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26287 API error: ORDER BY field duplicated.

The host fields in the ORDER BY clause in the current EXTRACT statement
are duplicated. Correct and rerun the EXTRACT statement.

-26288 API error: GROUP BY field duplicated.

The host fields in the GROUP BY clause in the current EXTRACT statement
are duplicated. Correct and rerun the EXTRACT statement.

-26289 API error: Expression element too long.

The expression in the SELECT clause in the current EXTRACT statement is
too long. Correct and rerun the EXTRACT statement.

-26290 API error: Cannot recognize expression element.

The expression in the SELECT clause in the current EXTRACT statement is
invalid. Correct and rerun the EXTRACT statement.

-26291 API error: Missing connector between expressions.

The SELECT clause in the current EXTRACT statement is missing the connector
between expressions. Correct and rerun the EXTRACT statement.

-26292 API error: Missing close parenthesis.

The SELECT clause in the current EXTRACT statement is missing a matching
parenthesis. Correct and rerun the EXTRACT statement.

-26293 API error: Data type incorrect for context.

The SELECT clause in the current EXTRACT statement contains an item of
an incorrect data type. Correct and rerun the EXTRACT statement.

-26294 API error: Missing open parenthesis.

The SELECT clause in the current EXTRACT statement is missing an open
parenthesis. Correct and rerun the EXTRACT statement.

-26295 API error: ESCAPE value must be single character.

The SELECT clause in the current EXTRACT statement contains an invalid
ESCAPE value. Correct and rerun the EXTRACT statement.

-26296 API error: Field name required.

The SELECT clause in the current EXTRACT statement requires at least one
host-field name. Correct and rerun the EXTRACT statement.

-26297 API error: Query contains extra text.

The SELECT clause in the current EXTRACT statement contains extra text.
Correct and rerun the EXTRACT statement.

-26298 API error: Internal query parser error.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26299 API error: Must select at least one field or function value.

The SELECT clause of the current EXTRACT statement does not contain any
host field or function value references. Correct and rerun the EXTRACT
statement.

-26300 API error: DISTINCT not supported.

The SELECT clause of the current EXTRACT statement contains the keyword
DISTINCT, which is not supported. Correct and rerun the EXTRACT statement.

-26301 API error: Cannot use ALL in this context.

The ALL keyword is misused in the SELECT clause of the current EXTRACT
statement. Correct and rerun the EXTRACT statement.

-26302 API error: Invalid summary function.

The aggregate function in the SELECT clause of the current EXTRACT statement
is invalid. Correct and rerun the EXTRACT statement.

-26303 API error: Bad GROUP BY clause.

The GROUP BY clause in the current EXTRACT statement is invalid. Correct
and rerun the EXTRACT statement.

-26304 API error: Bad ORDER BY clause.

The ORDER BY clause in the current EXTRACT statement is invalid. Correct
and rerun the EXTRACT statement.

-26305 API error: Cannot initialize NULL SQLDA.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26306 API error: Cannot initialize NULL SQLCA.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26307 API error: Cannot initialize NULL SQLEA.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26308 API error: Cannot initialize NULL SQLST.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26309 API error: Cannot initialize NULL SQLCR.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26310 API error: SQLST not prepared.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26311 API error: Invalid predefined query.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26312 API error: Predefined query not implemented.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26313 API error: Invalid query name.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26314 API error: Cursor already in use and open.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26315 API error: Cursor not open.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26316 API error: No sessions available.

No host sessions are available at the moment. Resubmit your request. Check
that the prior session or previously started processes have been terminated.

-26317 API error: Driver scan code file not found.

The driver scan code file, driver.dsc, cannot be found. Verify that the
driver.dsc file exists in the path that the ANSAPI environment variable
specifies, or in the current directory if ANSAPI is not set. Copy the
file from $INFORMIXDIR/etc, if necessary.

-26318 API error: Invalid message file.

The message file, message.txt, is invalid or corrupted. Recopy the message
file from $INFORMIXDIR/etc to the path that the ANSAPI environment variable
specifies, or to the current directory if ANSAPI is not set.

-26319 API error: Message file too long.

The message file, message.txt, is invalid or corrupt. Recopy the message
file from $INFORMIXDIR/etc to the path that the ANSAPI environment variable
specifies, or to the current directory if ANSAPI is not set.

-26320 API error: Error while reading file.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26321 API error: Not enough memory to read file.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26322 API error: File not found.

The message.txt or config.txt files cannot be found. Confirm that they
exist.

-26323 API error: Bad option descriptor.

The entry in the message.txt file, config.txt file, or parameter string
is invalid. Correct the error.

-26324 API error: Invalid parameter value.

The message.txt file, config.txt file, or parameter string contains an
invalid parameter value. Correct the error.

-26325 API error: Invalid option keyword.

The message.txt file, config.txt file, or parameter string contains an
invalid option keyword. Correct the error.

-26326 API error: Stable Time parameter missing.

The Stable Time parameter is missing from the host configuration file.
Use the SETUP screen to set the Stable Time parameter.

-26327 API error: Lock Time parameter missing.

The Lock Time parameter is missing from the host configuration file. Use
the SETUP screen to set the Lock Time parameter.

-26328 API error: Host Environment parameter missing.

The Host Environment parameter is missing from the host configuration
file. Use the SETUP screen to set the Host Environment parameter.

-26329 API error: Answer/DB Invocation Code parameter missing.

The Answer/DB Invocation Code parameter is missing from the host configuration
file. Use the SETUP screen to set the Answer/DB Invocation Code parameter.
Consult your Answer/Extractor DBA to determine the Answer/Extractor invocation
code.

-26330 API error: Answer/DB Profile Name parameter missing.

The Answer/DB Profile Name parameter is missing from the host configuration
file. Use the SETUP screen to set the Answer/DB Profile Name parameter.
Consult your Answer/Extractor DBA to determine your Answer/Extractor profile
name.

-26331 API error: CICS Paging Code parameter missing.

The CICS Paging Code parameter is missing from the host configuration
file. Use the SETUP screen to set the CICS Paging Code parameter. Consult
your Answer/Extractor DBA to determine the CICS paging code.

-26332 API error: CICS Termination Code parameter missing.

The CICS Termination Code parameter is missing from the host configuration
file. Use the SETUP screen to set the CICS Termination Code parameter.
Consult your Answer/Extractor DBA to determine the CICS termination code.

-26337 API error: No more data in report.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26338 API error: Invalid timer number.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26339 API error: Help file does not exist.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26341 API error: Parameter is wrong type.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26342 API error: Not enough parameter values.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26343 API error: Host table does not contain field.

This message indicates an internal error. Either the host table does not
contain the field that the SELECT clause lists, or the table does not
contain any fields.

-26344 API error: Class value out of range.

The value set in the Class parameter is out of range. Use the SETUP screen
to correct the Class parameter.

-26345 API error: Max value out of range.

The value in the Max Records to Process parameter or the Max Records to
Retrieve parameter is out of range. Use the SETUP screen to correct the
parameter.

-26346 API error: No more data in report.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26347 API error: Report contains incomplete data.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26348 API error: Report size exceeded; no data.

The result data that is selected by the SELECT clause in the current EXTRACT
statement exceeds the allowed size on the host. Modify the EXTRACT statement
to select less data. Rerun the EXTRACT statement.

-26349 API error: Report buffer too small.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26350 API error: Summary variable conflicts with host.

This message indicates an internal error. Exit DataExtract and retry the
option.

-26351 API error: Script file could not be read.

The connect or disconnect script file cannot be read. Verify that the
connect or disconnect script file has the correct permissions. Use the
Scripter utility to re-create it, if necessary.

-26352 API error: Not enough memory for script file.

This message indicates a memory-allocation error. Exit DataExtract and
retry the option.

-27000 Cannot support multiple connections over shared memory.

An application cannot use the CONNECT statement to make more than one
connection that uses shared-memory communication (IPC).

Ensure that the application makes only one shared-memory connection
at a time. If the application must use concurrent connections, the database
server administrator might need to change the connection type (as specified
in the nettype field of the sqlhosts file) from a shared -memory connection
to a network connection.

-27001 Read error occurred during connection attempt.

This error can occur on either the client or database server side.

When you encounter this error on the client side, it indicates that
a network I/O error occurred when the client tried to connect to a database
server. Probably the connection attempt timed out because the database
server or the network was very busy, too many clients were attempting
to connect to the database server simultaneously, or the database server
was taken off-line during the connection attempt.

If you are using Informix Dynamic Server 2000, Informix Dynamic Server,
INFORMIX-Universal Server, or INFORMIX-OnLine Dynamic Server, verify
that the database server is still on-line. If you are using INFORMIX-SE,
verify that the sqlexecd daemon for the database server is still running.
Use either or both of the environment variables INFORMIXCONTIME and
INFORMIXCONRETRY on the client side to increase the connection time
and number of retry attempts.

When you encounter this error on the database server side, it is a
warning that a network I/O error is detected while the database server
is accepting a connection request from a client. This error usually
occurs when the database server or the network is very busy or when
too many clients are trying to connect to the database server at once.
The database server might be taking so long to respond to a client that
the client’s connection request timed out before the connection is complete.
Or possibly a client terminated its connection attempt before the connection
is completely established.

If this error is seen only occasionally in the server message log,
it is just a warning. No corrective action is required on the server
side.

If this error occurs frequently on a database server that runs on
a host with multiple processors, you might want to tune the database
server by increasing the number of poll threads and/or listener threads.

-27002 No connections are allowed in Dynamic Server 2000 quiescent
mode.

You are attempting to connect to a database server that is in quiescent
mode. Verify that your INFORMIXSERVER environment variable is set correctly.
Ask the database server administrator to bring the appropriate database
servers to on-line mode.

-27002 No connections are allowed in quiescent mode.

You are attempting to connect to a database server that is in quiescent
mode. Verify that your INFORMIXSERVER environment variable is set correctly.
Ask the database server administrator to bring the appropriate database
servers to on-line mode.

-27003 Internal Communications Error: internal inconsistency detected.

The Informix client/server communication system has detected an internal
inconsistency. Typically, a client application reports this error. This
error might be a memory-corruption error due to a programming bug. If
the database server or a utility reported the error, it is an Informix
internal error. When an Informix internal error occurs, note all circumstances
and contact Informix Technical Support.

-27004 Illegal sqlhosts file option/parameter, parameter, for dbservername,
servername.

You specified an invalid option or parameter in your sqlhosts file. Check
the option ID and parameter associated with servername in the sqlhosts
file.

-27005 Illegal sqlexecd daemon option, option_value.

You specified an invalid sqlexecd daemon option. Check the option option_value
and its parameter.

-27006 Network driver cannot establish listen endpoint.

You specified stream pipe (ipcstr) as the network-communication type for
this database server. The database server is not able to create the stream
pipe. The most common cause of this error is that another database server
on your network is already using the service name for this database server.

Check that the servicename value in the $INFORMIXDIR/etc/sqlhosts
file or in the SQLHOSTS registry information is unique across all database
servers on your network. If the servicename is unique, check the accompanying
ISAM code for additional error information.

If a previously created stream pipe with the same name is not released
by an aborted online server, you need to manually remove the stream
pipe files /INFORMIXTMP/.str and /INFORMIXTMP/.exp.

-27007 Invalid file descriptor opened for the user thread.

An internal Informix network error has occurred in the TLITCP poll thread.
Please note all circumstances and contact Informix Technical Support.

-27151 Internal error: No Communications Support Module specification
string defined in the sqlhosts file.

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

-27152 Internal error: Communication Support Services context already
exists; cannot create another one.

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

-27153 Internal error: Communication Support Services contact is
NULL.

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

-27154 Internal error: invalid ASF_TIMEOUT semantics; same input
buffer expected.

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

-27155 Internal error: Communication Support Services returned an
undefined css_status.state code.

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

-27156 Internal error: invalid ASF- Communication Support Services
state.

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

-27157 Internal error: no receiving buffer available.

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

-29000 Application server error (server_error_number).

A generic application-server error occurred. Examine the original foreign
SQLCODE. You can find it in either SQLERRD[1] or as part of SQLERRM. Look
up the explanation for this SQLCODE in the documentation for the foreign
server product. Apply the token(s), if any, that is returned in the SQLERRM
field to the explanation.

-29002 Supplied real-RDB-name does not match the real-RDB-name in
sqlhosts.

A mismatch was detected between the user-supplied real-RDB-name and the
real-RDB-name that was derived from the user-supplied alias-RDB-name using
the sqlhosts file.

Check the spelling of the user-supplied real-RDB-name. Ensure that
the user-supplied alias-RDB-name is the correct one.

If SNA network protocol is used to connect to the application server,
check the real-RDB-name column (the «hostname» field) in the «sqlhosts»
file for the alias-RDB-name entry, and check that it is spelled correctly.

If TCP/IP network protocol is used to connect to the application server,
check the «RDB=real-RDB-name» option (in the «options» field) in the
«sqlhosts» file for the alias-RDB-name entry, and check that it is spelled
correctly.

-29003 RDB real-RDB-name not found at the application server.

Although a communication conversation was allocated, the application server
refused to connect because it has a real-RDB-name that is different from
that to which the application would like to connect.

Examine the sqlhosts file on the Gateway computer. Identify the entry
with the alias-RDB-name to which the application is referring.

If SNA network protocol is used to connect to the application server,
ensure that the «hostname» field contains a correct value.

If TCP/IP network protocol is used to connect to the application server,
ensure that the «RDB=real-RDB-name» option in the «options» field contains
a correct value.

-29004 DRDA protocol error. ReplyMsg[,sub-code]: ReplyMessage-codepoint[,sub-code].

A DRDA protocol error prevents the successful execution of the current
SQL statement. This error will not affect the successful execution of
subsequent SQL statements.

A DRDA internal Distributed Data Management (DDM) reply message (RM)
was received from the application server. That message indicates that
an error has occurred. The application server or possibly the application
requestor (AR) detected an error.

A hexadecimal codepoint and possibly a hexadecimal sub-code are returned
as a token in SQLERRM.

To interpret the hexadecimal codepoint and the hexadecimal sub-code,
you need DDM knowledge.

The hexadecimal codepoint is the 2-byte hexadecimal codepoint for
the DDM reply message that represents the error and is one of the following:

  • X’220A’ — DSCINVRM
  • X’124C’ — SYNTAXRM
  • X’1245′ — PRCCNVRM
  • X’1254′ — CMDCHKRM
  • X’220E’ — DTAMCHRM
  • X’2202′ — QRYNOPRM
  • X’220F’ — QRYPOPRM
  • X’2207′ — RDBACCRM
  • X’2204′ — RDBNACRM

The first three reason codes (DSCINVRM, SYNTAXRM, and PRCCNVRM) accompany
a 2-byte hexadecimal sub-code. In all other cases, the sub-code is zero.

When nonzero, the high-order byte of the sub-code indicates the site
at which the error was detected. If the AR detects the error, it is
X’01. If the application server detects the error, it is X’02’. The
lower-order byte is as follows:

  • Description Error Code (DSCERRCD) if reason code = DSCINVRM
  • Syntax Error Code (SYNERRCD) if reason code = SYNTAXRM
  • Conversational Protocol Error Code (PRCCVNCD) if reason code =
    PRCCNVRM

Contact the DBA for assistance in analyzing the SQL statement that yielded
this SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29005 Hard DRDA protocol error. ReplyMsg[,sub-code]: ReplyMessage-codepoint[,sub-code].

A DRDA protocol error caused deallocation of the conversation.

A DRDA internal Distributed Data Management (DDM) reply message (RM)
was received from the application server. The message indicates that
an error has occurred. The application server or possibly the application
requestor (AR) detected an error.

A hexadecimal codepoint and possibly a hexadecimal sub-code are returned
as a token in SQLERRM.

To interpret the hexadecimal codepoint and the hexadecimal sub-code
requires DDM knowledge.

The hexadecimal codepoint is the 2-byte hexadecimal codepoint for
the DDM reply message that represents the error and is one of the following:

  • X’220A’ — DSCINVRM
  • X’124C’ — SYNTAXRM
  • X’1245′ — PRCCNVRM
  • X’1218′ — MGRDEPRM
  • X’1232′ — AGNPRMRM
  • X’1254′ — CMDCHKRM
  • X’220E’ — DTAMCHRM
  • X’2202′ — QRYNOPRM
  • X’220F’ — QRYPOPRM
  • X’2207′ — RDBACCRM
  • X’2204′ — RDBNACRM

A 2-byte hexadecimal sub-code is accompanied with the first four reason
codes (DSCINVRM, SYNTAXRM, PRCCNVRM, and MGRDEPRM). In all other cases,
the sub-code is zero.

When nonzero, the high-order byte of the sub-code indicates the site
at which the error was detected. If the AR detects the error, it is
X’01. If the application server detects the error, it is X’02’. The
lower-order byte is as follows:

  • Description Error Code (DSCERRCD) if reason code = DSCINVRM
  • Syntax Error Code (SYNERRCD) if reason code = SYNTAXRM
  • Conversational Protocol Error Code (PRCCVNCD) if reason code =
    PRCCNVRM
  • Manager Dependency Error Code (DEPERRCD) if reason code = MGRDEPRM

Notify the DBA for assistance in analyzing the SQL statement that yielded
this SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29006 DRDA connect protocol error. Manager,level: (manager,level)
not supported.

The connect process failed.

The application server cannot support a DRDA manager level that the
AR that was requested during the DRDA connection process.

The hexadecimal codepoint of the manager (MGRLVL) and the hexadecimal
codepoint of the level requested are returned as a token in SQLERRM.

Attempt to connect to the application server again. If the problem
persists, notify the DBA for assistance. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-29007 RDB authorization failure. RDB-userID,RDB: RDB-userID,RDB-name.

The user is not authorized to access the target RDB. The request is rejected.

Contact the DBA of the RDB side if necessary. Correct the authorization
problem and rerun the application program.

-29008 DDM parameter (parameter-codepoint) not supported error. Disconnected
from AS.

An unsupported DDM parameter is encountered.

The remote RDB received an unsupported/unrecognized DDM parameter.
The current SQL statement is terminated. The application is disconnected
from the application server.

The hexadecimal codepoint of the DDM parameter in question is returned
as a token in SQLERRM.

To interpret the hexadecimal codepoint of the DDM parameter requires
DDM knowledge.

Attempt to rerun the application. If the problem persists, notify
the DBA for assistance in analyzing the SQL statement that yields this
SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29009 DDM parameter value (parameter,parameter-value) not supported.
Disconnected from AS.

The remote RDB received an unsupported/unrecognized parameter value for
a DDM parameter. The current SQL statement is terminated. The application
is disconnected from the application server.

The hexadecimal codepoints of the DDM parameter and the parameter
value in question are returned as a token in SQLERRM.

To interpret the hexadecimal codepoints of the DDM parameter and the
parameter value requires DDM knowledge.

Attempt to rerun the application. If the problem persists, notify
the DBA for assistance in analyzing the SQL statement that yields this
SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29010 AS reply message (codepoint=codepoint) not supported by Gateway.

The Gateway received an unsupported/unrecognized DDM reply message. The
current SQL statement is terminated. The application is disconnected from
the application server.

The hexadecimal codepoint for the received DDM reply message is returned
as a token in the SQLERRM.

To interpret the hexadecimal codepoint of the DDM reply message requires
DDM knowledge.

Attempt to rerun the application. If the problem persists, notify
the DBA for assistance in analyzing the SQL statement that yields this
SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29011 SNA communication error. Informix-SQLCODE,native-SNA-rc: Informix-communication-SQLCODE,native-SNA-return-code.

An Informix communication-related SQLCODE and a hexadecimal native SNA
service return code are returned as a token in SQLERRM.

The Informix communication-related SQLCODE is a platform-independent
return code that the Informix communication adaptation service generates.
Refer to the explanation of this SQLCODE for a more specific description
of the error.

The native SNA service return code is a return code generated by the
local SNA service that provides the SNA support on each particular platform.
Refer to the manufacturer’s documentation for the SNA support that provides
the underlying communication service for an explanation of this return
code.

Ensure that the native SNA/APPC service is installed correctly. Check
that all the required SNA daemon processes (if any) are running. Also
check that the connection file for the target RDB is set up correctly.
In a Sun environment, also check that the Sun APPC Gateway is set up
correctly.

-29012 One or more tables have been dropped, altered, or renamed.

A prepared statement is no longer valid because the schema of the table(s)
that it references has changed. You must prepare the statement again.

-29013 AS resource not available. Reason,Type, Name,PrdID,RDB: Reason,ResourceType,ResourceName,ProductID,RDBname.

The resource is not available at the remote RDB. The current SQL statement
is terminated.

Reason, ResourceType, ResourceName, ProductID, and RDBname are returned
as a token in SQLERRM.

Verify the identity of the resource that was not available. Ensure
that the application server has the needed resource.

-29014 Hard AS resource not available. Reason,Type, Name,PrdID,RDB:
Reason, ResourceType,ResourceName,ProductID,RDBname.

The resource is not available at the remote RDB. The application is disconnected
from the application server.

Reason, ResourceType, ResourceName, ProductID, and RDBname are returned
as a token in SQLERRM.

Verify the identity of the resource that was not available. Ensure
that the application server has the resource needed. Rerun the application.

-29015 Non-bind related DDM command (codepoint=codepoint) attempted
during bind.

A remote execution of SQL statement or a remote command was attempted
while a remote bind was in progress. During bind, only Bind, End Bind,
ROLLBACK, or COMMIT are allowed.

This message indicates a Gateway internal logic error. The DDM command
in question is returned as a token in SQLERRM.

Applications from end users should not go into bind mode. The only
time a package bind should occur is the package-bind process in the
gwdba utility. Rerun the application. If the error recurs, please note
all circumstances and contact Informix Technical Support.

-29016 Bind related command (codepoint=codepoint) encountered when
bind not active.

Binding of a statement or End Bind was attempted with a specific package
name and consistency token while the package was not undergoing bind process.

This message indicates a Gateway internal logic error. Try the application
again. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29018 AS does not support the DDM command: command-codepoint.

The application server does not support the DDM command. This error causes
termination of processing of the command. The application is also disconnected
from the application server.

The SQLERRM contains the hex codepoint of the DDM command in question.

Rerun the application. If the problem persists, notify the DBA for
assistance in analyzing the SQL statement that yielded this SQLCODE.
If the error recurs, please note all circumstance and contact Informix
Technical Support.

-29019 AS does not support the DDM object type: object-codepoint.

The application server does not support the DDM object. The processing
of the current SQL statement is terminated. The application is disconnected
from the application server.

The SQLERRM contains the hex DDM codepoint of the object type in question.

Attempt to run the application again. If the problem persists, notify
the DBA for assistance in analyzing the SQL statement that yielded this
SQLCODE. If the error recurs, please note all circumstances and contact
Informix Technical Support.

-29030 Feature feature-name not supported by the Gateway.

The Gateway product does not support this feature. (For example, it does
not support Informix-specific SQL statements or Informix-specific data
types.) The feature that is not supported is returned as a token in SQLERRM.

Correct the application and do not use any feature that the Gateway
cannot support on SQL statements that will go through the Gateway during
execution.

-29031 Table or view name objname has an invalid format

The Add-table and Purge-table options of the gwdba utility for adding
and purging tables and views from the Informix catalog on an application
server require a file of table and view names as input. The listed table
or view name (objname) has an invalid format. The format of table and
view names in the file must be in the following format:

owner.tabname

-29032 Application Server CCSID(s) could not be determined.

The Gateway is required to perform outbound character code-set conversion
for this client operating-system locale, but the Gateway could not determine
the CCSID(s) of the application server.

Notify the administrator of the Gateway. The administrator must set
the GWASCCSID environment variable to match the single-byte CCSID of
the application server. If network mode is being used, the Gateway administrator
must stop and restart the Gateway daemon after setting the GWASCCSID
environment variable. The Gateway administrator must then connect to
the application server using either a CONNECT statement or a DATABASE
statement. This connection captures all the CCSIDs in the cache file
$INFORMIXDIR/gw/sysinfo/prnccsid.dat.

-29033 Informix GLS locale could not be loaded: localename, errno,
locale-file-name.

localename The name of the Informix GLS locale that could not be

loaded. The value for localename must be of the format language_territory.codeset.

errno A number that indicates the specific reason that the

Informix GLS locale could not be loaded.

locale-file-name The subdirectory and filename (for example, /en_US/0333.lco)

of the Informix GLS locale file that could not be loaded.

language A two-letter lowercase abbreviation for the language name.

territory A two-letter uppercase abbreviation for the territory name.

codeset The name of the character code set for the locale.

Valid values for the codeset field are registered in the $INFORMIXDIR/gls/cm/REGISTRY
file. The values are character strings that describe the code set. However,
if a codeset field value is an integer in the range from 1 to 65,535,
it is an acceptable value even if it is not in the REGISTRY file.

An attempt to load the Informix GLS locale that localename specified
failed for the reason that errno indicates, as follows:

6 The locale specification localename is in a bad format.

The Gateway administrator must correct this specification.

7 The locale file that locale-file-name specified does not exist.

If the appropriate directory (see the following paragraph)
does not contain the locale file that the subdirectory and filename
that locale-file-name specified, this Informix GLS locale is not available.
Read your Informix product documentation to ensure that you specified
the Informix GLS localename correctly (using environment variables or
other mechanisms that the documentation describes). The Informix GLS
localename might be incorrectly specified or might be equivalent to
another Informix GLS locale that is available.

If the subdirectory and filename that locale-file-name specified
exist, verify that your product was installed correctly so that the
Informix GLS locale file can be located. Specifically, ensure that the
GL_PATH environment variable is set (or not set) according to the Gateway
installation instructions:

  • If GL_PATH is not set, verify that the subdirectory and file that
    locale-file-name specifies are in the $INFORMIXDIR/gls/lc directory.
  • If GL_PATH is set, verify that the subdirectory and filename that
    locale-file-name specifies are in one of the directories that the
    GL_PATH environment variable specifies.

10 The locale file that locale-file-name specified is not a locale file.

The locale file that locale-file-name specified is not an
Informix GLS locale file, or it has been corrupted. Check that you are
using the locale file that your Informix product supplier provided.
Refresh the file from the original installation file if it has been
corrupted.

11 The locale object is inconsistent.

The locale object is not consistent. For example, the same
code set is not being used in each locale category. Contact your Informix
product supplier for assistance.

For any other errno value, contact your Informix product supplier for
assistance.

-29034 Character code-set conversion error. Tokens: from-cs-num,
to-cs-num, cftype, objtype, position.

The character code-set conversion failed while converting a character
string from the code set that from-cs-num identifies to the code set that
to-cs-num identifies.

cftype The conversion failure type.

from_cs_num The code-set number for the input code set. Check your
Informix

product documentation for a description of the code set that
this code-set number identifies.

objtype The type of object that is being converted.

position The ordinal position of the value that is being converted.

to_cs_num The code-set number for the output code set. Check your
Informix

product documentation for a description of the code set that
this code-set number identifies.

The following are the possible cftype values:

  • If cftype is «unmapped input char» (cpstring), the input character
    did not exist in the output code set, and the conversion table did
    not define a substitute output character for the input character.
    The cpstring value shows the input character string for a length of
    up to 4 bytes, starting with the codepoint that could not be converted.
    The binary value of the codepoint byte(s) is represented by cpstring
    as a hexadecimal string (for example, ‘c1c3d1f0’).

This failure type has two possible causes:

1. The character data that is being converted is bad. Correct
the character data that is being converted.

2. The code-set conversion table is incorrect or incomplete.
Contact your Informix software distributor for assistance.

  • If cftype is «bad form,» the input character string was badly formed
    with respect to the shift-out and shift-in codepoints that delimit
    the internal code sets that are contained within the code set that
    code-set number from_cs_num identifies.

For this failure type, correct the form of character data
that is being converted.

  • If cftype is «too long,» the length of the output string was longer
    than the internal buffers that are allocated to hold the output string.
    If the objtype is «output,» the output value was longer than the maximum
    length of a CHAR data type.

For this failure type, shorten the input character data that
is being converted.

The following are the possible objtype values:

  • If objtype is «input,» an input value from the application, such
    as an SQL statement or an input host variable value, was being converted.
  • If objtype is «output,» an output value from the database, such
    as a field or expression from the select list of a SELECT statement,
    was being converted.
  • If objtype is «sqlda,» an sqlname field in the output SQLDA was
    being converted.
  • If objtype is «sqlca,» a character field in the SQLCA was being
    converted.

The following possible meanings of position depend on the value of objtype:

  • If objtype is «input» and position is 0, the text of the input
    SQL statement could not be converted.
  • If objtype is «input» and position is not 0, position refers to
    the ordinal position of the input host variable value that could not
    be converted. For example, 2 means that the value of the second input
    host variable could not be converted.
  • If objtype is «output» and position is any value, position is the
    ordinal position of the output value that could not be converted,
    such as the third value in the select list of a SELECT statement.
  • If objtype is «sqlda» and position is any value, position is the
    ordinal position of the sqlname field in the SQLDA that could not
    be converted.
  • If objtype is «sqlca,» position names the specific SQLCA field
    that could not be converted: sqlerrp, sqlwarn, sqlerrmc, or sqlstate.

-29035 An incompatible data type was received by the Gateway.

The received data type is not compatible with or supported by the Gateway.
(For Informix Enterprise Gateway with DRDA, the application requestor
does not support the data type that was received from the application
server.)

Some examples of unsupported data types are 1-byte integer and 16-byte
float. Informix does not support these data types.

Do not retrieve data from the columns that have data types that the
Gateway cannot support.

-29036 Character codeset conversion file not found from, to, filename:
from_cs_num, to_cs_num, filename.

filename The filename of the code-set conversion file that could not be

found.

from_cs_num The code-set number for the source code set.

to_cs_num The code-set number for the target code set.

A code-set conversion table to convert from the code set that from_cs_num
identifies to the code set that to_cs_num identifies was not found.
Consult your Informix product documentation to find descriptions for
the code sets that these code-set numbers identify.

If the appropriate directory (see next paragraph) does not contain
the code-set conversion file named filename, this code-set conversion
cannot be performed. Check your Informix product documentation to make
sure that the code sets that the client and server products use have
been specified correctly (using environment variables or other mechanisms
that are described in the documentation). Perhaps the code-set numbers
have been incorrectly specified or are equivalent to other code-set
numbers that are supported.

If the code-set conversion table exists, verify that your product
was installed correctly so that the conversion table file can be located.
Specifically, ensure that the GL_PATH environment variable is set or
not set according to the installation instructions.

  • If GL_PATH is not set, verify that the conversion table file is
    in the $INFORMIXDIR/gls/cv directory.
  • If GL_PATH is set, verify that the conversion table file is in
    one of the directories that the GL_PATH environment variable specifies.

If the code-set conversion table does not exist, contact your Informix
software distributor for assistance in determining what code-set conversion
tables are required for your configuration. If the required code-set conversion
tables are available, place the tables in the appropriate directory.

-29037 There is no CCSID or GLS locale set for the FE OS locale localename.

The locale in question is returned as a token in SQLERRM.

Notify the Gateway administrator. The administrator can add an entry
for the locale using the gwdba utility.

-29039 Cannot have more than one SQL statement in PREPARE/EXECUTE
IMMEDIATE.

Modify the application so that it does not include more than one SQL statement
in a PREPARE or EXECUTE IMMEDIATE statement.

-29040 Cannot translate MATCHES pattern to LIKE pattern.

The Gateway does not support and cannot translate one or more characters
in the MATCHES condition of your SQL statement. Try to rewrite the statement
to use LIKE instead of MATCHES condition syntax or to not include MATCHES
wildcard characters such as [ ] and ? or *. Check also that you did not
try to include a non-CHAR or VARCHAR column with MATCHES in the WHERE
clause.

-29042 Package info for RDB rdbname not found. Use gwdba to bind.

The Gateway package information for the target RDB is not found. It appears
that the necessary Gateway packages on the RDB have not been bound yet.
The real_RDB_name of the target RDB is returned as a token in SQLERRM.

The end user should contact the DBA. If desirable, the DBA can use
the gwdba utility to bind the needed Gateway packages on the target
RDB.

-29043 No more section-type sections left. Rebind Gateway packages
with more sections.

All the available sections in the current package at the application server
have been used up. The current SQL statement is terminated.

Notify the DBA. The DBA can rebind the Gateway packages with more
sections on the target RDB using the gwdba utility.

-29044 Gateway internal logic error [diagnostic-error-string].

An internal logic error has been encountered. Rerun the application. If
the error recurs, please note all circumstances and contact Informix Technical
Support.

-29045 Gateway internal logic error [diagnostic-error-string]. Disconnected
from AS.

An internal logic error has been encountered. This error will cause deallocation
of conversation.

Rerun the application. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-29046 SNA buffer size (size) is not valid.

The send buffer that the Informix connectivity network module allocated
is less than the minimum DRDA required size, which is 512 bytes, or more
than the maximum size, which is 32,767 bytes.

Check the sqlhosts file on the Gateway computer. If the send buffer
size is configurable through the sqlhosts file, make sure that the send
buffer size is configured to be from 512 bytes to 32,767 bytes, inclusive.

-29048 ISAM Error: error message.

An ISAM error occurred while reading data from a Gateway ISAM setup file
that the Gateway xxxdba utility manages. The name of the ISAM setup file
in question and the ISAM error number are returned in SQLERRM.

If the Gateway was spawned by way of IPC-pipe mode, you must ensure
that the INFORMIXDIR environment variable was set correctly before the
application starts. Otherwise, notify the DBA:

  • The DBA for INFORMIX-Enterprise Gateway must ensure that the $INFORMIXDIR/egw/sysinfo
    directory exists with the proper permissions and that the ISAM setup
    files are present in that directory. If an INFORMIX-Enterprise Gateway
    setup file is missing or corrupted, run egwdba to create it, or run
    the bcheckegw utility to repair it.

If INFORMIX-Enterprise Gateway was spawned by way of network mode (that
is, by the daemon egwd), the DBA also must ensure that the INFORMIXDIR
environment variable was set correctly in the root login when the egwd
daemon was started.

  • The DBA for INFORMIX-Gateway with DRDA must ensure that the $INFORMIXDIR/gw/sysinfo
    directory exists with the proper permissions and the ISAM setup files
    are present in that directory. If a Gateway setup file is missing
    or corrupted, run gwdba to create it, or run the bcheckgw utility
    to repair it.

If the Gateway was spawned by way of network mode (that is, by the daemon
gwd), the INFORMIX-Gateway with DRDA DBA also must ensure that the INFORMIXDIR
environment variable was set correctly in the root login when the gwd
daemon was started.

  • The DBA for Informix Enterprise Gateway Manager must ensure that
    the $INFORMIXDIR/egm/sysinfo directory exists with the proper permissions
    and the ISAM setup files are present in that directory. If a Gateway
    setup file is missing or corrupted, run egmdba to create it, or run
    the bcheckegm utility to repair it.

If the Gateway was spawned by way of network mode (that is, by the daemon
egmd), the Informix Enterprise Gateway Manager DBA also must ensure that
the INFORMIXDIR environment variable was set correctly in the root login
when the egmd daemon was started.

-29049 Unable to locate/open Gateway setup file filename.

If you are using IPC-pipe mode to start the Gateway process, you should
ensure that the INFORMIXDIR environment variable was set correctly before
the application starts.

* For Informix Enterprise Gateway with DRDA:

An error occurred while locating or opening a Gateway ISAM setup file
that the gwdba utility manages. The name of the ISAM setup file that
is causing the error is returned in SQLERRM.

If you are using network connections, the Informix Enterprise Gateway
with DRDA database administrator must ensure that the named file exists
in the $INFORMIXDIR/gw/sysinfo directory. If the file is missing, run
gwdba to create it. The DBA also must ensure that the INFORMIXDIR environment
variable was set correctly at the time that the gwd daemon was started.

* For Informix Enterprise Gateway:

An error occurred while locating or opening an Informix Enterprise
Gateway ISAM setup file that the egwdba utility manages. The name of
the ISAM setup file that is causing the error is returned in SQLERRM.

If you are using network connections, the Informix Enterprise Gateway
DBA must ensure that the named file exists in the $INFORMIXDIR/egw/sysinfo
directory. If the file is missing, run egwdba to create it. The DBA
also must ensure that the INFORMIXDIR environment variable was set correctly
at the time that the egwd daemon was started.

* For Informix Enterprise Gateway Manager:

An error occurred while locating or opening a Gateway ISAM setup file
that the egmdba utility manages. The name of the ISAM setup file that
is causing the error is returned in SQLERRM.

If you are using network connections, the Informix Enterprise Gateway
Manager database administrator must ensure that the named file exists
in the «$INFORMIXDIR/egm/sysinfo» directory. If the file is missing,
run «egmdba» to create it. The DBA also must ensure that the INFORMIXDIR
environment variable was set correctly at the time that the «egmd» daemon
was started.

-29050 Error accessing schema information (Orig-Msg[Sub=Sub-code,Ifx=Orig-code,Obj=Object-name])

The Gateway encountered an error while accessing catalog information for
the object Object-name. The Gateway sends this catalog information to
the coordinating database server while processing a distributed query.

Several errors that might occur during catalog access can cause this
message. Orig-code is the error code for the underlying error, and Orig-Msg
is the message token that is associated with that error code. Sub-code
is an Informix internal code in hexadecimal that indicates which catalog
access query failed and in which stage of query processing it failed.
This diagnostic information field is meant for Informix Technical Support.

Although the error message token might be truncated through programmatic
access, the entire message is logged in the Gateway log file gw.log
in the directory $INFORMIXDIR/gw/log.

-29051 Only single-site updates allowed in a transaction.

This Gateway does not support two-phase commit. If any remote server that
the Gateway accesses is an update site in a transaction, that site must
be the only update site in the transaction. All other sites, including
Informix sites, must be read only. Change the application to update only
one remote site per transaction. (However, if the sites in a transaction
are all read only, any number of sites can be updated in the same transaction).

This error message applies only when the database server that coordinates
the transaction either is earlier than Version 7.2 or is Version 7.2
or later and the HETERO_COMMIT configuration parameter is not set.

-29052 Gateway cannot access the remote data source named data-source-name.

The token data-source-name has been used in a four-part object name. For
example:

data-source-name@gwservername:own1.tab1

In addition, the gwservername in the previous example has been used
earlier in your application in association with a different data-source-name.
For example, it might have been used with data-source-name2:

data-source-name2@gwservername:own2.tab2

Within a single application, until a CLOSE DATABASE statement executes,
each gwservername can be used to access only one data-source-name.

To access more than one data-source-name within a single application,
you must start a separate Gateway daemon (with a unique gwservername)
for each remote data source. Then change your application so that each
unique gwservername in your application is always used in association
with the same data-source-name. For example, the following statements
consistently associate data-source-name dsn1 with gwservername gw1,
and dsn2 with gw2:

SELECT col5 FROM dsn1@gw1:own1.tab1 WHERE col1 > 100;

SELECT col2 FROM dsn2@gw2:own2.tab2 WHERE col4 < 10;

SELECT a.col1, b.col2 FROM dsn1@gw1:own3.tab3 a, dsn2@gw2:own4.tab4
b

WHERE a.col2 = b.col3;

The token data-source-name in the error message has different meanings,
depending on the Gateway product:

  • For INFORMIX-Enterprise Gateway Manager, data-source-name refers
    to the ODBC data-source name.
  • For INFORMIX-Gateway with DRDA, data-source-name refers to the
    alias-RDB-name. Each Gateway instance can connect to only one RDB
    (application server).
  • For INFORMIX-Enterprise Gateway, data-source-name refers to the
    EDA-Server-name. Each Gateway instance can connect to only one remote
    server.

-29053 Collection missing in the reference to object Object.

Any distributed query that references an OS/400 object must specify the
OS/400 collection or library to which the object belongs. The collection
or library name should be specified in the owner field of the complete
object name database@dbservername:owner.object. The collection or library
name is required to get catalog information for the specified Object in
a given collection or library.

-29055 DDL statements are not allowed on a remote object.

In a distributed query, the Gateway does not allow data definition statements
and the data access statements GRANT and REVOKE on remote objects (such
as objects at DRDA application server sites). Applications can use these
statements only when they use the Gateway in direct mode.

-29056 Gateway cannot rollback savepoint (error-message-info).

An error occurred while a remote distributed update was in progress. Because
the Gateway cannot undo the effects of the partial update, the application
must terminate the current transaction with a ROLLBACK WORK statement.
Any other statement in the current transaction will fail with this error
code. If the application issues a COMMIT WORK statement, a ROLLBACK WORK
statement is executed internally, and this error code is returned.

The error-message-info field contains the sqlcode of the original
error and an optional error messages string if the error originated
at the target data source. The format of this message string is documented
in the appropriate Gateway user manual. If the error-message-info field
is empty, the savepoint rollback is the result of a processing error
at the coordinating database server.

-29057 Gateway does not support remote aliases (remote-object-name).

The Gateway does not support access to DB2 remote aliases in distributed
queries. A remote alias is defined for an object that is not on the same
server where the alias is defined.

Remote-object-name is the three-part object name (in the format LOCATION.OWNER.OBJECT)
to which the remote alias refers.

-29060 EDA error (EDA_Error).

The SQL statement failed because of an EDA error. EDA_Error describes
the EDA error that the EDA client or server returned.

The format of the EDA_Error field is as follows:

[EDA_Error_Code EDA_command] EDA_message_text

  • EDA_Error_Code is the EDA numeric error code.
  • EDA_command is the EDA API/SQL command that is issuing the error.
  • EDA_message_text is the EDA message text that is associated with
    the error.

Look up the error in your EDA documentation from Information Builders,
Inc. and correct the problem.

-29062 An EDA Client or Server prompt was received.

The EDA client or server has prompted the Gateway to respond to a message.
For example, an EDA Remote Procedure might prompt the user for input.
The Gateway does not support EDA operations that require responses to
prompt messages.

-29063 Output data description changed between prepare and execute.

The description of the output data for the query that was returned at
prepare time is different than the description that was returned at execute
time. The description of the output data that was returned at prepare
time is derived from the cataloged information about the objects (for
example, tables or remote procedures) in the query. This error usually
occurs because the cataloged information about the object is out of date.

If the object is not cataloged, or if it has changed since it was
last cataloged, the object must be cataloged (or recataloged) with the
EDASAF or EDA/SQL Metadata Manager tools. If Informix-style system catalog
tables are being used at the EDA/SQL Server, and the object is a table
and not a remote procedure, the Informix-style system catalog tables
also must be repopulated, with the egwdba utility, after the EDA system
catalog tables have been updated with EDASAF or the EDA/SQL Metadata
Manager.

-29064 Unknown EDA datatype received.

The output EDA data type that the Gateway received is an unknown EDA type.
The Gateway might receive an unknown data type if it is connected to an
EDA/SQL Server at a release level that the Gateway does is not support.
If the Gateway does support this release level, this message indicates
an internal error either for the EDA products that are being used or for
the Gateway.

-29065 Input host variables not allowed in EXECUTE PROCEDURE.

You used a parameter marker for at least one of the input parameter values
in the dynamic EXECUTE PROCEDURE statement that is being prepared. Parameter
markers are not supported for input parameters in EXECUTE PROCEDURE statements
that the Gateway processes. Rewrite your application to avoid the use
of input host variables as input parameters to the EXECUTE PROCEDURE statement.

-29066 Password required in .netrc entry for ‘userid’.

The .netrc file contains an entry that maps from the current user ID (userid)
to a new user ID that will be sent to the remote server or data source.
In this case, the new user ID is different from the current user ID, but
no password is specified to be sent with the new user ID to the remote
server or data source. This error occurs because the Gateway has not authenticated
the new user ID, and the remote server or data source cannot authenticate
the new user ID without a password. Sending the new user ID without a
password implies to the remote server or data source that the Gateway
has authenticated the new user ID (which the Gateway has not done).

-29067 Could not access EDALINK.CFG file (reason).

The EDALINK.CFG file could not be accessed for the reason that is stated.
When reason is of the form name: number, number indicates the operating-system
error while accessing a file or directory with the specified name. Usually,
the failure occurs because the EDALINK.CFG file is not in the Gateway
$INFORMIXDIR/etc directory. The EDALINK.CFG file is an EDA/Link configuration
file that is required to connect to an EDA/SQL Server. Please consult
your EDA/Link documentation to determine the contents of the file.

-29068 A field value received from the EDA Server could not be decoded.

In the row that is being fetched, a field value could not be decoded and
converted into an Informix data value. Usually this situation occurs because
the EDA/SQL Server could not convert the field value from its actual value
in the underlying data source to its specified Master File Description
(MFD) usage format. For example, if the usage format in the table MFD
is I2 (integer value with a maximum field length of 2 characters), and
the value of the field is 300, then the EDA/SQL Server cannot fit 300
into the specified 2-character field length.

In this case, the Gateway issues the error because the EDA/SQL Server
has sent a sentinel value in place of the real field value. Check that
the usage format field-length specifications in the MFD are long enough
to hold the actual field values that your data contains. If this action
does not solve the problem, contact Informix Technical Support for assistance
in tracing the data that is received from the EDA/SQL Server.

-29070 Package isolation level does not match for alias_rdbname,
isolation_level

The application-to-package mapping entry for the given alias_rdbname and
isolation_level points to a package whose isolation level is different
than isolation_level.

Make sure that the application-to-package entry is valid and that
isolation_level matches the isolation level in the gwbind file for the
mapped package.

-29071 Gateway cannot find package information for package RDBName.CollectionID.PackageID

Gateway package information for the specified package RDBName.CollectionID.PackageID
is not found. Perhaps the specified package has not been bound, or the
package mapped in the application-to-package mapping is incorrect.

Contact the database administrator (DBA). The DBA can use the gwdba
utility to bind the specified package or to ensure that the package
to which the application-to-package mapping entry points is valid.

-29080 Target DBMS Error (message_token).

The target DBMS (Database Management System) to which the Gateway is connected
has reported the error that is contained in message_token. Refer to the
documentation for the target DBMS to correct the problem.

The format for message_token is as follows:

[DBMS_Error_Code Sqlstate DBMS_Product_id] DBMS_Error_Message

DBMS_Error_Code is the error code of the target DBMS.

Sqlstate is the SQLSTATE that is associated with the error. For a

list of SQLSTATE codes, see your ODBC documentation.

DBMS_Error_Code is the error code of the target DBMS.

DBMS_Product_id is the product ID of the target DBMS.

DBMS_Error_Message is the error message that the target DBMS generates.

This message is truncated if the entire sqlerrm text is longer
than 71 bytes.

DBMS_Product_id in message_token has the following format:

Product_Name:Product_Version

Product_Name is up to the first five characters of the name of the

target DBMS product as reported by the ODBC Driver for the
product (specifically, the SQL_DBMS_NAME returned by the SQLGetInfo
ODBC function).

Product_Version is the first 10 characters of the version of the target

DBMS product as reported by the ODBC Driver for the product
(specifically, the SQL_DBMS_VER returned by the ODBC SQLGetInfo function).

Product_Version is a character string of the form nn.nn.nnnn, where the
first two digits are the major version of the target DBMS, the next two
digits are its minor version, and the last four digits are its release
version (for example, 03.01.0000). An Oracle7 DBMS_Product_id might be
Oracl:07.01.0000.

If the connection attempt to the target DBMS was not completely successful,
then DBMS_Product_id will be :00.00.0000.

-29081 ODBC Error (message_token).

An ODBC (Open Database Connectivity) component that the Gateway uses to
access the target DBMS has reported the error that message_token contained.
Refer to your ODBC documentation to correct the problem.

The format for message_token is as follows:

[ODBC_Error_Code Sqlstate Driver_Prod_id] ODBC_Error_Message

ODBC_Error_Code is the error code of the ODBC component. (It can be
0.)

Sqlstate is the SQLSTATE that is associated with the error. For a

list of SQLSTATE codes, see your ODBC documentation.

Driver_Prod_id is the product ID of the ODBC driver that is being used.

ODBC_Error_Message is the error message that the ODBC component provided.

This message is truncated if the entire sqlerrm text is longer
than 71 bytes.

Driver_Prod_id has the following format:

Driver_Name:Driver_Version

Driver_Name is up to the first 5 characters of the name of
the file that contains the ODBC Driver that is being used for the connection
(specifically, the SQL_DRIVER_NAME that the SQLGetInfo ODBC function
returned). If the connection has not yet been established, Driver_Name
is blank.

Driver_Version is the first 10 characters of the version
of the ODBC Driver (specifically, the SQL_DRIVER_VER that the ODBC SQLGetInfo
function returned). The Driver_Version is a character string of the
form nn.nn.nnnn, where the first 2 digits are the major version of ODBC
Driver, the next 2 digits are its minor version, and the last 4 digits
are its release version (for example, 02.00.0000). An Oracle7 Driver_Prod_id
might be libor:01.02.0006.

If the connection attempt to the target DBMS was not completely successful,
then Driver_Prod_id will be:00.00.0000.

-29082 Could not decode field value for field number field-number.

In the row that is being fetched, the field value for the field that is
numbered field-number could not be decoded and converted into an Informix
data value. The field number is the ordinal position of the field that
could not be converted in the select list. This situation reflects an
error in the ODBC Driver for the target DBMS. The field value that could
not be decoded is written to the Gateway log file along with the Driver
Name and Version information.

Contact your ODBC Driver supplier for a solution to the problem.

-29083 Compatible isolation level not supported by the data source.

If you received this error code when you executed a SET ISOLATION TO statement,
the attempt to set the isolation level at the data source to a level compatible
with the level in the statement has failed. The current isolation level
in your application remains in effect.

If you receive this error code when you are executing a distributed
SQL statement, the statement has failed because the data source does
not support an isolation level that is compatible to the current isolation
level of your application. The current isolation level in your application
remains in effect.

A compatible isolation level is equal to or higher than the requested
(or current, if a distributed statement) isolation level. When the requested
(or current) isolation level is supported at the data source, Informix
Enterprise Gateway Manager sets the data-source isolation level to that
level. When the requested or current isolation level is not supported
at the data source, if any higher levels are supported, Informix Enterprise
Gateway Manager sets the data-source isolation level to the next available
higher level.

If a lower isolation level that the data source supports is acceptable
to your application, set the isolation level to that lower level. If
you are accessing Informix Enterprise Gateway Manager in direct access
mode, use the GWDIRECTMIL environment variable to set the isolation
level. If you are accessing Informix Enterprise Gateway Manager in distributed-access
mode, issue the SQL statement SET ISOLATION TO before you execute the
distributed statement that accesses the Gateway.

-29084 Write access is not permitted to data source.

Your application is connected to a database server that supports transactions,
but the data source that is being accessed in the statement does not support
transactions. In this configuration, non-SELECT SQL statements (that is,
actual or potential write operations) cannot be issued to the data source.

In this case, the data source does not have the capability to match
the transaction characteristics of the coordinating database server.
A write operation cannot be guaranteed to be atomic on the data source
(for example, a write to a file might start successfully but eventually
fail because of insufficient disk space, leaving the file partially
modified). Also, a write operation cannot be rolled back after it has
been performed on the data source. For these reasons, write operations
are not permitted when the coordinating database server supports transactions
(that is, has a log), and the data source does not support transactions.

If distributed write access to the data source is required, access
the data source from a non-ANSI database without logging (or that has
logging turned off).

-29085 Cursor hold is not supported by the data source.

The data source does not support cursors that are declared WITH HOLD.
Either the target DBMS does not support cursors that remain open after
a commit operation, or the ODBC Driver does not use cursors with this
property. Cursors that are declared WITH HOLD cannot be used at the data
source.

-29087 Network Protocol Communication error. Informix-SQLCODE,native-protocol-rc:
code

An Informix communications-related SQLCODE value and a hexadecimal native-network
protocol return code are returned as a token in SQLERRM.

Informix-SQLCODE is a platform-independent return code that the Informix
communications adaptation service generates. For a more specific description
of the error, refer to the explanation of this SQLCODE value.

The native-protocol-rc value is a return code generated by the local
network communications service that provides the protocol support on
each particular platform. For an explanation of this return code, refer
to the manufacturer’s documentation for the protocol support that provides
the underlying communications service.

Ensure that the native-network communications service is installed
correctly and that the target AS is configured correctly and is currently
running.

Example: If the communications protocol is TCP/IP, then the native-protocol-rc
value is the return code that the local TCP/IP service generates.

-29088 Communication buffer size (size) is not valid.

The send buffer that the Informix connectivity network module allocated
is less than the minimum DRDA-required size, which is 512 bytes, or more
than the maximum size, which is 32,767 bytes.

Check the sqlhosts file on the Gateway computer. If the send buffer
size is configurable through the sqlhosts file, make sure that the send
buffer size is configured to be from 512 bytes to 32,767 bytes, inclusive.

If the network protocol being used is TCP/IP, an additional 6 bytes
are required by the Informix connectivity network module. This means
the user specifiable block size minimum is 518 bytes and maximum is
32,773 bytes.

-29089 RDB password required when client user(») is not
authenticated by Gateway.

This error occurs when the Gateway has not authenticated the client user
ID (gwd is started with the ‘-b’ option) and the application does not
specify a password with the user ID.

Regardless of the security configuration of the remote database server,
the Gateway expects to receive a password along with the user ID for
the remote server when gwd is started with the ‘-b’ option. In this
case, the Gateway delegates user ID authentication to the remote server
entirely.

Make sure that the password is supplied to the Gateway.

-32100 MAC check failed.

Your session sensitivity label does not permit you to perform the operation
on the OnLine/Secure object that you are accessing because it violates
the MAC policy of INFORMIX-OnLine/Secure. Log in at the appropriate sensitivity
label and retry the operation.

-32101 DAC check failed.

Your session identity does not permit you to perform the operation on
the OnLine/Secure object that you are accessing because it violates the
DAC policy of OnLine/Secure. Log in with the appropriate identity, or
obtain the necessary privileges and retry the operation.

-32102 Bad label range.

The range that is specified for an operation that involves labels is incorrect.
The situation could arise either due to bad user input or an internal
error.

-32103 Label comparison operation failed.

This internal error could arise because the labels to be compared are
incomparable or illegal, or the comparison operation was not legal for
the label data type.

-32104 Internal error; no table descriptor.

The table descriptor for the specified table was not found in the core
dictionary.

-32110 Illegal session level for dropping a database.

Your session sensitivity label must equal the sensitivity level of the
database.

-32112 No DBA privilege for creating a view schema.

Contact the database administrator and request DBA privilege.

-32113 No DBA privilege for creating a table schema.

Contact the database administrator and request DBA privilege.

-32114 Cannot drop system catalog tables.

System catalog tables are dropped only when the database is dropped.

-32115 Cannot change ownership of a table.

It is not legal to change the ownership of a table.

-32116 Illegal session level for altering a constraint.

Your session sensitivity level must equal the sensitivity level of the
table.

-32117 Illegal session level for creating an index.

Your session sensitivity level must equal the sensitivity level of the
table.

-32118 No Index privilege for creating an index.

Privilege is not granted for you to create an index on the table.

-32119 Illegal session level for altering an index.

Your session sensitivity level must equal the sensitivity level of the
table.

-32120 No Resource privilege.

The action that you are performing requires Resource privilege on the
database. Contact the database administrator to request the privilege.

-32121 Illegal session level for dropping an index.

Your session sensitivity level must equal the sensitivity level of the
table.

-32122 Cannot modify system catalog tables.

It is not legal to change attributes other than the next-extent size for
the system catalog tables.

-32123 Not the owner of the index.

Only the owner of the index can perform the operation that you are attempting.

-32124 Cannot modify an index on a temporary table.

It is illegal to alter indexes on temporary tables.

-32125 Current database number out of range.

This internal error indicates that the number of concurrent database opens
exceeds the limit that OnLine/Secure sets.

-32126 Illegal label tag.

The tag value that you supplied is unknown to the operating system.

-32127 Illegal session level for dropping a table.

Your session sensitivity level must equal the sensitivity level of the
table.

-32128 No privilege for changing a SERIAL column.

You need Insert or Alter privilege on the table, or Update privilege on
the SERIAL column, to change the serial value.

-32129 Table was not opened at required label.

This message is applicable only for multilevel secure applications. You
are attempting an operation on a table at a level higher than or incomparable
to the level at which you opened the table. Open the table at the appropriate
level.

-32130 There is no record at the specified level.

This message is applicable only for multilevel secure applications. No
records exist at the level that you are accessing.

-32131 Internal heap error.

This message indicates an internal error.

-32132 Cannot order by label.

Ordering by label is illegal because labels are not ordered linearly.

-32133 Illegal session level for granting table-level privileges.

Your session sensitivity level must equal the sensitivity level of the
table.

-32134 Illegal session level for granting database-level privileges.

Your session sensitivity level must equal the sensitivity level of the
database.

-32135 Illegal session level for revoking table-level privileges.

Your session sensitivity level must equal the sensitivity level of the
table.

-32136 Illegal session level for revoking database-level privileges.

Your session sensitivity level must equal the sensitivity level of the
database.

-32137 No Alter privilege to modify a constraint.

Alter privilege on the table is required to modify a constraint.

-32138 Cannot set the initial SERIAL value.

This message is applicable only for multilevel secure applications. The
initial serial value was not set at table creation.

-32139 No initial value has been set for the SERIAL column.

This message is applicable only for multilevel secure applications. No
initial serial value exists for the sensitivity level that you are accessing.
The initial serial value must be set at table creation if a SERIAL column
exists in the table.

-32140 File handle and tabid are not consistent.

This message indicates an internal error. The table handle that is provided
to an ISAM function is not a legal handle for the table whose tabid is
also provided as a function argument.

-32154 Label.map file must be owned by DBSSO.

Ensure that no other user has created a label.map file in the $LABELMAPDIR
directory. Check that the sensitivity label of the label.map file is ixdbssoL.

-32155 tbload is locked. Please remove label.lok file.

An old label.map file is in use. Update the label.map file if necessary
and remove the label.lok file to indicate your concurrence that the label.map
file is indeed okay.

-32156 Cannot open file.

Cannot open the label.map file or the label.lok file. Check the existence,
permission, and sensitivity level of these files.

-32157 Invalid data in label.map file.

Check the integrity and legality of entries in the label.map file according
to the current operating system.

-32158 The mapped tag does not exist in system.

The translation tag for a tag on tape that is provided in the label.map
file does not exist on the operating system. Check the integrity and legality
of entries in the label.map file according to the current operating system.

-32159 The mapping tag does not exist in system.

A tag that is supplied in the label.map file does not exist on tape. Ensure
that you are providing mapping only for those tags that are on the tape.

-32160 Unable to sort label.map file.

An error occurred during sorting of the label.map file. Check the integrity
of the label.map file.

-32162 Label tag are not unique.

Tags and their translation tags should have strictly one-to-one mapping.
Check the label.map file for duplicate tag mappings.

-32163 Label tag are not valid.

Only the tag representation of labels should be stored in the label.map
file. Check the integrity and legality of the tags that are stored in
the label.map file.

-32164 Error creating session shared memory.

This message indicates an internal error. Check the operating-system error
message. If the cause of the error is the size of the shared memory, you
or your DBSA might have set a high value for SM_ROWSIZE or SM_TOTALROWS
in the session configuration file.

-32165 Error attaching to session shared memory.

This message indicates an internal error. Check the operating-system error
message for further information.

-32166 RSAM could not be found or executed by the current user.

Check $INFORMIXDIR, $SQLEXEC settings. Ensure that you are in the group
ix_users, ix_dbsa, or ix_dbsso. Check that the ISAM executable in $INFORMIXDIR/lib
is executable by your session.

-32167 Table label inconsistent.

This message indicates an internal error.

-32168 Database label inconsistent.

This message indicates an internal error.

-32169 Cannot convert label between internal and external forms.

This message indicates an internal error. The operating system cannot
map between the internal and external forms of the label. Check the external
or tag representations that you provided.

-32181 The number of estimated security labels must be greater than
0.

Check for the parameter setting in the TBCONFIG file or the input to ON-Monitor.

-32182 Invalid number of estimated security labels label-name.

Check for the parameter setting in the TBCONFIG file or the input to DB-Monitor
to make sure that the number of estimated security labels is always greater
than 0.

-32183 LUB computation failed.

Check the legality of inputs to the LABELLUB() function.

-32184 GLB computation failed.

Check the legality of the inputs to the LABELGLB() function.

-32190 Cannot aggregate label column.

Check if label column is supplied to an aggregate function.

-32191 Cannot alter table.

Alter table failed; check the additional ISAM error message for further
information.

-32193 Cannot create audit tblspace.

The OnLine/Secure database server cannot be initialized. Please note all
circumstances and contact Informix Technical Support.

-32194 Cannot create reserved tblspace.

The OnLine/Secure database server cannot be initialized. Please note all
circumstances and contact Informix Technical Support for assistance.

-32197 Not an OnLine/Secure tape.

Use a tape that an OnLine/Secure database server generated.

-32198 Not an OnLine/Secure root chunk.

Modify the TBCONFIG file to refer to a rootdbs that an OnLine/Secure database
server created.

-32400 A Table_option has already been altered.

You can change only one table option (locking mode, extent size) for each
ALTER TABLE session. If you have changed one table option and want to
change another, you must first exit the ALTER TABLE Menu and build the
modified table. Select the Exit option, then the Build-new-table option.
Then select the Table_options option on the ALTER TABLE Menu, and make
your next modification to the table.

-32401 The initial extent size cannot be changed when altering a
table.

The initial-extent size is set when the table is first created. The next-extent
size can be altered, but the initial-extent size cannot. To change the
size of the initial extent, you must unload the data from the table, drop
the table, re-create the table with the CREATE TABLE statement, and reload
the data into the table.

-32402 The user cannot change the dbspace name when altering an existing
table.

You have specified the location in which to table is to be stored. You
have explicitly specified a dbspace or the dbspace of the database has
already been used. When you attempted to alter a table, you tried to change
the dbspace in which the table is stored. This action is illegal. You
can specify the dbspace only when you create the table.

Download any data in the existing table. Drop that table. Create a
new table. Specify the dbspace that you want to use and upload the data
into the new table.

-32403 Illegal serial length has been used.

This error occurs when the user creates or alters a table and creates
or alters a column of type serial but has specified that the starting
number is less than or equal to zero (illegal) or has entered in a nonnumeric
value. Enter a number equal to or greater than 1 for the starting number.

-32404 Invalid delimiter. Do not use ‘\’, hex digits, tab or space.

The delimiter that is specified for the LOAD or UNLOAD statement is illegal.
You cannot use the new-line character, hexadecimal digits (0 to 9, A to
F, a to f), the tab character, or a space as a delimiter. Check the statement
and change the delimiter symbol.

-32405 Incorrectly formed hexadecimal value.

The hexadecimal file that is used to load a BYTE value into the table
has an illegal character or an incorrectly formed hexadecimal value. Check
the file for any anomalies and try running your statement again.

-32406 Value must be greater than zero.

You specified an extent size less than or equal to zero when you created
or altered a table. Specify an extent size greater than zero.

-32407 Trigger not found.

You specified an invalid trigger name. Enter the name of an existing trigger
or correct your spelling.

-32408 Cannot create MODE ANSI database without specifying transaction
log pathname.

You tried to create an ANSI-compliant database on INFORMIX-SE but did
not specify a pathname for the mandatory unbuffered transaction logging.
Select the Mode_ansi option of DB-Access again, or revise your CREATE
DATABASE statement and enter the full log pathname.

-32409 Data is unavailable, cannot open database sysmaster.

DB-Access cannot open the sysmaster database, from which you have requested
information. Check that the sysmaster database was built properly and
read the error log for the cause of the failure.

-32410 Syntax not supported by DB-Access.

DB-Access does not support the AS, WITH CURRENT TRANSACTION, or USER clause
of the CONNECT statement, although the database server supports it. Use
proper SQL statement syntax when you run your CONNECT statement in DB-Access.

-32411 An Alter Table Option has already been altered.

You attempted to perform an ALTER TABLE option on a table option that
you previously altered. You cannot alter a table option more than once.

-32412 USING clause unsupported. DB-Access will prompt you for a
password.

DB-Access does not support the USING password clause in a CONNECT …
USER statement when it violates security. For example, do not type a password
on the screen where it can be seen or include it in a command file that
someone other than the user can read. To maintain security, DB-Access
prompts you to enter the password on the screen and uses echo suppression
to hide it from view.

-32500 User does not have discrete privilege to change session levels.

You must obtain the PRIV_CANSETLEVEL discrete privilege from the DBSSO
before the start of a session in which you use the SET SESSION LEVEL statement.

-32501 Login session level not dominating the new session level.

You must log in at a session sensitivity level that dominates the session
level that you specify.

-32502 New session level not dominating the database level.

You cannot access the database at the new session sensitivity level. Use
a different level that dominates the database.

-32503 User tables should be closed to change session attribute.

Close all tables and relinquish all cursors that remain open before you
attempt to change session sensitivity levels.

-32504 Operations on remote objects are not allowed after session
level set.

You cannot access objects in remote databases when your current session
sensitivity level differs from that of your login session. Return to the
sensitivity level of your login session to access remote data.

-32505 Cannot set session level.

For more information, refer to the accompanying error message.

-32506 Bad session label format.

The argument to the SET SESSION LEVEL statement was not a valid sensitivity
label.

-32507 Cannot set session authorization.

You must be a DBA to change the session user unless you are changing to
yourself.

-32508 Statement is invalid within a transaction.

You attempted to execute a SET SESSION AUTHORIZATION, SET ROLE, or SET
TRANSACTION statement from within an active transaction.

Issue the SET statement at the beginning of the transaction, before
a DML statement, such as SELECT or INSERT, makes the transaction active.
Otherwise, roll back or commit the transaction before you issue the
SET statement.

-32509 Bad session authorization format.

The user name that is supplied as an argument to the SET SESSION AUTHORIZATION
statement is invalid. Supply the user ID of a valid user.

-32510 User does not have discrete privilege to change session authorization.

You must obtain the PRIV_CANSETIDENTITY discrete privilege from the DBSSO
before the start of a session in which you use the SET SESSION AUTHORIZATION
statement.

-32513 Cannot rename table or column.

Renaming of table or column failed. For more information, refer to the
ISAM error message.

-32514 Session level is different from the level of the database
object.

Your session sensitivity label does not permit you to perform the operation
on the OnLine/Secure object that you are accessing because it violates
the MAC policy of OnLine/Secure. Log in at the appropriate sensitivity
label and retry the operation.

-32520 Cannot create SL map tblspace.

This message indicates an internal error.

-32521 Cannot create IL map tblspace.

This message indicates an internal error.

-32522 Cannot create Datalo translation.

This message indicates an internal error.

-32523 Cannot create Datahi translation.

This message indicates an internal error.

-32524 Cannot create ixdataH translation.

This message indicates an internal error.

-32525 Cannot create saved translations.

This message indicates an internal error.

-32526 Saved and stored tags disagree.

This message indicates an internal error.

-32528 Tag not found.

This message indicates an internal error.

-32529 Cannot create ixdbsaL translation.

This message indicates an internal error.

-32532 Illegal data type for VARIANCE or STDEV.

You cannot use the VARIANCE or STDEV function on string or DATETIME data
types. Review the use of these functions.

-32766 Unknown error message number.

The software product cannot find the error message text files. Either
the INFORMIXDIR or DBLANG environment variable is set incorrectly.

-33000 keyword is a reserved ANSI keyword.

This message is a warning. If you want your code to be ANSI compliant,
do not use the keyword that is shown as a variable name. Check the Informix
Guide to SQL: Syntax for alternative syntax.

-33001 Environment variable variable-name has invalid value.

Reset the specified environment variable to a legal value and try again.
See Chapter 4 of the Informix Guide to SQL: Reference.

-33002 Syntax error in the ESQL INCLUDE statement.

The preprocessor cannot interpret this INCLUDE statement. Refer to your
embedded-language manual for the correct syntax of the INCLUDE statement.

-33003 Bad label format.

The label on the current statement is incorrect in form. Refer to the
embedded-language manual for accepted label formats.

-33004 Option option-name does not exist or has bad format.

This embedded-language product does not support the specified option from
the preprocessor/compiler command line. Check that it is spelled as you
intended. Refer to the embedded-language manual for supported options.

-33005 Incomplete string.

A character string is not correctly terminated according to the rules
of the host language. For example, it might be missing an end quote, not
have a continuation character, and so on. The preprocessor might not recognize
the error until a number of source lines beyond the line where you intended
the string to end.

-33006 Type of variable-name is not appropriate for this use.

You cannot use the specified variable in the context of this statement.
Check that you specified the variable you intended and that you declared
it with the proper type. Then refer to the embedded-language manual for
variable usage in this type of statement.

-33007 ‘$’ assumed before variable-name.

The preprocessor has assumed that you intend the symbol variable-name
in this statement as a host variable. (A host variable is normally indicated
with ‘$’ or ‘:’ preceding it.) Check that you did intend this meaning.

-33008 Record component component-name was not declared.

This statement uses the symbol component-name as if it were the name of
a component of a record, but it was not declared as a component of the
record name with which it is used. Check the spelling of both the component
and the record name.

-33009 The component name component-name has already been used.

The record component was declared twice in the same record/structure.
Check the spelling of component names and the syntax of the declaration.

-33010 Internal error: Preprocessor states corrupted.

Correct all other processing errors. If the error recurs, please note
all circumstances and contact Informix Technical Support.

-33011 Current declaration of variable-name hides previous declaration.

This message is a warning from the preprocessor. The specified variable
was declared more than once in the current scope. Compilation continues
using this latest declaration to the end of the current scope. If you
did not intend to redeclare the indicated variable, check the spelling
of variable names and the syntax of declarations. In INFORMIX-ESQL/C,
this warning can also be issued if the variable is used as function parameter.
In this case, use the PARAMETER clause.

-33012 Number of digits must be 1 to 32.

You specified a precision or scale for a DECIMAL value that is out of
range. A DECIMAL variable must have from 1 to 32 digits. Check the punctuation
of the declarations in this statement.

-33013 END DECLARE SECTION with no BEGIN.

The preprocessor has found this EXEC SQL END DECLARE SECTION statement
but has not seen a preceding EXEC SQL BEGIN DECLARE SECTION. Possibly
it was omitted or not recognized due to another error. Check that each
BEGIN DECLARE is paired with an END DECLARE.

-33014 Illegal use of record/structure variable-name.

The indicated record was used where only a simple variable can be accepted.
Review the declaration of variable-name and check that it is the variable
you intended to use (possibly you need to qualify it with a component
name). Refer to the embedded-language manual for the requirements of this
statement.

-33015 Input file name has invalid suffix suffix-text.

The name of the input file that is submitted to the preprocessor must
have the correct suffix. Check the command syntax and rename the file
if necessary. The following file suffixes are required:

  • .ec for INFORMIX-ESQL/C
  • .eco for INFORMIX-ESQL/COBOL
  • .ef for INFORMIX-ESQL/FORTRAN

-33016 Macro definition for macro-name is incomplete.

This preprocessor macro definition statement does not have the ESQL statement
terminator. Add a semicolon(;) to the end of the statement.

-33017 Incomplete statement.

The preprocessor cannot recognize the end of the current statement. Check
the syntax of this and preceding lines. Look for omitted ending semicolons,
omitted quote marks, or omitted end-of-comment symbols.

-33018 Indicator variables are not allowed in this clause.

This statement includes a specification of a host variable with an indicator
variable, but no indicator variable is allowed in this context. Review
each use of an indicator variable and remove the unnecessary ones.

-33019 Label is too long.

This statement specifies a label that is longer than this embedded language
allows. Check the spelling and punctuation of the statement. Refer to
the embedded-language manual for proper formation of label names.

-33020 Line is too long.

This line is too long either for the host language or to fit into the
internal buffers of the preprocessor. Refer to the embedded-language manual
and to the host-language manual for rules on continuing long lines.

-33021 The value of macro macro-name is too long.

The specified value for the macro is too long to fit in the internal buffer.
Shorten the statement and try again.

-33022 Include path name too long.

The pathname in this INCLUDE statement is too long to fit in the internal
buffers. Check the punctuation of the statement; possibly an end-quote
has been omitted. If not, you will have to find a way to specify the included
file with a shorter pathname. Refer to the embedded-language manual for
the rules of the preprocessor on searching for included files.

-33023 Quoted string too long for SQL.

The quoted string is too long to fit in the internal buffers. Check the
statement for a missing end quote.

-33024 Macro name expected.

The macro name of the macro statement is missing. Specify the name and
try again.

-33025 The name » is too long.

The specified SQL identifier is too long. The maximum length for identifiers
depends on the database server. In Informix Dynamic Server 2000, the maximum
length is 128 characters. In other Informix database servers, the maximum
length is 18 characters.

Check the punctuation of the statement and the spelling of identifier.
If the spelling and punctuation are as you intended, you need to change
the declaration to use a shorter identifier.

-33026 Blocks cannot be nested more than n levels.

The preprocessor limits the number of nested levels to the specified value.
Review the program structure preceding this point; the punctuation or
keywords that close a block might have been omitted or might not have
been recognized due to an earlier error. If all is as you intended it,
you will have to reorganize the code to use fewer nested blocks.

-33027 Record nesting too deep. Maximum is n.

The preprocessor limits the number of levels to which records (data structures)
can be nested. Work backward from this point and review the declaration
of records. Possibly the punctuation or keywords that close a record have
been omitted or have gone unrecognized due to an earlier error. If all
is as you intended it, you will have to simplify the data structure.

-33028 Invalid compiler-name compiler type compiler-type-name.

The compiler type must be specified as a command-line option to this preprocessor.
Refer to the embedded-language manual.

-33029 No input file given.

No input file is named on the command line.

-33030 Cannot have a insert statement on a SCROLL cursor.

This DECLARE statement specifies the SCROLL keyword, but it goes on to
specify an INSERT statement. Insert cursors cannot use the SCROLL keyword.

-33031 Statement label is not allowed in this statement.

This message is a warning only. You used a label on a statement that does
not generate any real code in the output file. Refer to the embedded-language
manual for the correct use of labels.

-33032 WITH NO LOG can only be specified for TEMP tables.

You used the WITH NO LOG option in the wrong context. Use it only when
you create a TEMP table and you wish to exclude transaction log operations
on it. See the Informix Guide to SQL: Syntax for the SQL syntax and proper
usage of the WITH NO LOG option.

-33033 The field field-name is an Informix extension to XPG3 X/Open
standard.

This message is a warning only. You used the -xopen option, asking that
the source file be checked for compliance with the XPG3 X/Open standard.
The ITYPE, IDATA and ILENGTH field names are Informix extensions to the
standard.

-33034 POWER cursors not available.

POWER cursors are not supported. Refer to your embedded-language manual.

-33035 A qualifier has not been specified.

You attempted to use a DATETIME qualifier, but you did not specify a specific
range of acceptable values for that qualifier. Define the ranges that
you will use to qualify the DATETIME qualifier. The DATETIME qualifier
must have a beginning and ending range (for instance, year to month, day
to hour, and so on).

-33036 This line does not conform to ANSI X3.135-1989.

This message is a warning only. You used the -ansi option, asking that
the source file be checked for compliance with the current ANSI standard.
This statement uses an Informix extension to the ANSI standard.

-33037 Name is not a component of record record-name.

Name is used as if it were a member of the record record-name, but no
member of that name exists. Check the spelling of the two names, and review
the declaration of record-name.

-33038 This statement does not conform to the X/Open standard.

This message is a warning only. You used the -xopen option, asking that
the source file be checked for compliance with the XPG4 X/Open standard.

-33039 Updates are not allowed in singleton select.

You have an UPDATE statement in combination with a SELECT statement that
returns only one row. The UPDATE statement requires a cursor that has
been declared FOR UPDATE. See the DECLARE, SELECT, and UPDATE statements
in the Informix Guide to SQL: Syntax for more information about cursors.

-33040 Object hostvar was not declared.

The host variable hostvar is either not declared, or it is misspelled.
If hostvar is not declared as a host variable, declare it. Otherwise,
correct the misspelling.

-33041 Cannot open output file outfile.

The preprocessor cannot open outfile because not enough disk space is
available, or you do not have file-system permission to open the file.
If insufficient disk space is available, delete files or select another
disk to make space available in the file system. If you do not have file-system
permission to open outfile, specify another directory or login with the
required permission.

-33042 Cannot open input file inputfile.

The embedded-language preprocessor cannot locate the file that you are
trying to include in your program with the -I option. Check that the file
is in the location that you have specified and that you have specified
the location correctly. Also check that you have permission to open inputfile;
if you do not, specify another directory or login with the required permission.

-33043 Out of memory.

The preprocessor was unable to allocate more memory. If possible, reduce
the number of processes that are running at the same time as the preprocessor,
or reduce the size of the program. Check that adequate swap-disk space
exists. On DOS systems, you will need to free some disk space.

-33044 Precision must be greater than 0 and less than the specified
number of digits.

You specified the precision and/or the scale for a DECIMAL value incorrectly.
See Chapter 3 in the Informix Guide to SQL: Reference and the appropriate
INFORMIX-ESQL manual for proper usage.

-33045 Overriding the previous definition of macro macro-name.

This message is a warning only. You have defined the macro macro-name
more than once. The preprocessor uses the latest occurrence of macro-name.

-33046 Indicator cannot be used with records.

This message is a warning only. You cannot specify an Indicator variable
for input to a host record or data structure. The indicator is ignored.
An indicator variable must be associated with a single data item. If you
need to use an indicator with a particular member of this record, you
must list all the record members.

-33047 Record record-name is not allowed in this clause.

In this statement, you use the specified record where only a simple variable
is allowed. Check the spelling of names and rewrite the statement using
a simple variable. See the embedded-language manual and the Informix Guide
to SQL: Syntax.

-33049 Field type field-name has been used out of context.

The specified field-name is used incorrectly in the GET/SET DESCRIPTOR
statement. See the GET DESCRIPTOR and SET DESCRIPTOR statements in the
Informix Guide to SQL: Syntax for the correct syntax.

-33050 The type or subtype type-name has already been used.

The statement redefines a user-defined type or subtype that has already
been defined. This action is not allowed. Review the declarations, and
use a unique name for this type.

-33051 Syntax error on identifier or symbol symbol-name.

An error in syntax was found at or near symbol-name. Check the Informix
Guide to SQL: Syntax for the proper use of identifiers and the appropriate
embedded-language manual for the proper use of other symbols.

-33052 Unmatched ELSE.

A matching IFDEF or IFNDEF statement does not precede this ELSE statement.
Review the source lines that precede this point; the preceding statement
was omitted or might not have been recognized due to an earlier error.

-33053 Unmatched ENDIF.

An IFDEF or IFNDEF statement does not precede this ENDIF statement. Review
the source lines that precede this point; the preceding statement was
omitted or might not have been recognized due to an earlier error.

-33054 Updates are not allowed on a scroll cursor.

This UPDATE statement refers to a cursor that was declared with the SCROLL
keyword. The UPDATE statement requires a cursor that has been declared
FOR UPDATE to ensure that the proper level of locking is applied to the
rows that will be updated. See the DECLARE statement in the Informix Guide
to SQL: Syntax for more information on the correct use of cursors.

-33055 The name id-name has already been used.

The SQL identifier id-name has already been declared. Check the spelling
of names and the declarations in the current name scope.

-33056 Error errno during output.

The error errno occurred during output. Check that sufficient disk space
is available for the output file and that you have the necessary file-system
permissions for the file location. Look up errno in the host operating-system
manual (or see the list that begins on page 3) for the specific cause
of the problem and the appropriate corrective action.

-33057 Cannot open error log file errorfile.

You specified the log preprocessor option to have error and warning messages
sent to errorfile rather than to standard output. However, the preprocessor
cannot open errorfile because not enough disk space is available, or you
do not have file-system permission to open the file. If insufficient disk
space is available, delete files to make space available in the file system,
or select another disk. If you do not have file-system permission to open
errorfile, specify another directory or login with the required permission.

-33058 Option-name is not a valid default option for the column definition.

See the Informix Guide to SQL: Syntax for the valid DEFAULT clause options
in a column definition.

-33060 Invalid expression.

The specified expression is incorrect. Refer to the Informix Guide to
SQL: Syntax for the correct syntax and usage for this expression.

-33061 Unable to expand recursive macro macro-name.

The preprocessor cannot fully expand the macro-name macro because a loop
exists in the defined macros. Correct the macro and try again.

-33062 Missing ENDIF.

An IFDEF or IFNDEF statement has no matching ENDIF statement prior to
the end of the source file. Work upward from the end of the file, and
check that each IFDEF and IFNDEF statement is paired with a matching ENDIF.
Possibly the ENDIF was not recognized due to another error.

-33063 Already within BEGIN DECLARE SECTION.

This message is a warning only. An EXEC SQL BEGIN DECLARE SECTION statement
is inside another BEGIN/END DECLARE block. This statement is ignored.
However, the warning might indicate a mix-up in the structure of your
program. Check that all the declaration sections are properly delimited.

-33064 variable-name has appeared before with a different case. ESQL/language-name
is case-insensitive.

This message is a warning only. The specified variable appears more than
once with different combinations of uppercase and lowercase letters. Because
this product is not case sensitive, all these names are treated as one.
If you intended these names to indicate different variables, change the
name (not merely the case) of one of the variable declarations and recompile.

-33065 Cursor/statement id » is too long when prefixed by
module name.

This message is only a warning. When you use the -local preprocessing
option, cursor names and statement names are prefixed with a unique tag
generated from the module name. (On UNIX, the inode number of the source
program is used as the unique tag.) The combined length of the cursor
or statement name and the unique tag should not exceed the maximum length
for identifiers, which depends on the database server. In Informix Dynamic
Server 2000, the maximum length is 128 characters. In other Informix database
servers, the maximum length is 18 characters.

In the case of , the combined length of the name and unique
tag exceeds the maximum length for identifiers. As a result, if the
same name is used in a different source module, the two names might
not be distinct, as the -local option requests.

-33066 Cursor/statement ids and are not unique in first
128 characters when prefixed by module name.

When you use the -local preprocessing option, cursor and statement names
are prefixed with a unique tag that is generated from the module name.
(On UNIX, the inode number of the source program is used as the unique
tag.) In this case, and are at least 124 characters long,
and their first 123 characters do not differ. As a result, they are the
same when the tag is added and the result is trimmed to 128 characters.

Change the two names to avoid name collision and try again.

This message applies to Informix Dynamic Server 2000.

-33066 Cursor/statement ids and are not unique in first
18 characters when prefixed by module name.

When you use the -local preprocessing option, cursor and statement names
are prefixed with a unique tag that is generated from the module name.
(On UNIX, the inode number of the source program is used as the unique
tag.) In this case, and are at least 14 characters long,
and their first 13 characters do not differ. As a result, they are the
same when the tag is added and the result is trimmed to 18 characters.

Change the two names to avoid name collision and try again.

This message applies to Informix Enterprise Decision Server, Informix
Dynamic Server with Advanced Decision Support and Extended Parallel
Options, INFORMIX-OnLine XPS, Informix Dynamic Server, INFORMIX-Universal
Server, INFORMIX-OnLine Dynamic Server, and INFORMIX-SE.

-33067 ELIF without IFDEF.

An IFDEF or IFNDEF statement does not precede this ELIF statement. Review
the source lines that precede this point. The preceding statement was
omitted, or it might not have been recognized due to an earlier error.

-33068 ELIF after ELSE.

The ESQL preprocessor ELSE statement indicates the last part of an IFDEF
or IFNDEF statement; another ELIF part might not follow. Review the contents
of this IFDEF or IFNDEF statement and put its parts in order.

-33070 Stack overflow occurred during statement parse.

This message, which indicates that the parser stack has overflowed, rarely
occurs. It might occur, for example, if your embedded-language statement
(SELECT, INSERT, UPDATE, DELETE, and so on) contains an extremely large
or complicated clause (WHERE, MATCHES, LIKE, and so on) that the parser
is trying to process. In that case, break up the clause and try again.

-33071 The statement id statement_ID has already been used.

This warning message indicates that you have used two PREPARE statement
identifiers with the same name. For example:

exec sql prepare stmt_id from «select * from tab»;

exec sql prepare stmt_id from «insert into tab values(1)»;

-33074 Explicit cast, either with CAST keyword or (::) operator,
is not allowed in client collections.

You cannot use explicit casts in client collections. For example, the
following example is not allowed:

$client collection list(row( a udt_1, b list(int))) mylist;
$insert into table (:mylist) values (CAST(1 AS udt_1), list{1,2,3});
$insert into table (:mylist) values (1::udt_1, list{1,2,3});

When you enter esql -e client.ec, you get the following errors:

esqlc: «client.ec», line 2: Error -33074: Cannot use CAST in client
collections.

esqlc: «client.ec», line 3: Error -33074: Cannot use CAST in client
collections.

-33075 Cannot use user-defined routines in client collection/row
constructors.

The user has tried to call a user-defined routine function in a ROW or
COLLECTION constructor for a client collection or row host variable. Check
the syntax of the statement and change the statement so that it does not
call a user-defined routine. User-defined routines can be executed only
on the server.

-33083 Cannot open file file_name because of too many open files.

The preprocessor cannot open the file because too many files are open.
Check your system resources to see if you can increase the number of file
handles (descriptors). Close unnecessary open files. Also check for mistakes
that might cause recursive file inclusion.

-33084 The lvarchar host variable(») should be an
array or a pointer.

This message is only a warning; compilation continues. ESQL/C does not
know the size of the lvarchar host variable. Although syntactically correct,
this might cause a problem in your application.

Specify the variable as an array or a pointer.

-33200 Invalid statement on symbol variable-name.

The specified type was not defined or a $ character was misplaced in a
statement. Check for misspellings, misplaced $ characters, or undefined
types.

-33201 Fixed character pointers are not allowed.

Fixchar character pointers are not allowed in this context. Replace the
fixchar pointer with a character pointer.

-33202 Incorrect dimension on array variable variable-name.

You referenced the array variable with an incorrect dimension. Correct
the dimension and retry.

-33203 Incorrect level(s) of indirection on variable variable-name.

A pointer variable is used with the wrong number of level indirection.
Check the indirection levels in this statement.

-33204 Right curly brace found with no matching left curly brace.

The code either includes a stray closing brace (}) or is missing an opening
brace ({). Check the code for unmatched curly braces or other incorrect
punctuation such as a missing end-quote or end-comment.

-33205 PARAMETER cannot be used inside of a C block.

The PARAMETER statement is allowed only in a function declaration block,
not within a namely block that is nested in a function.

-33206 Qualifier(s) for variable-name not initialized.

This message is a warning only. Due to the complexity of the specified
DATETIME or INTERVAL variable, the qualifiers of its elements cannot be
initialized properly. Compilation continues, but the variable might not
be initialized.

-33207 Type typedef-name too complex for ESQL/C.

The definition of the typedef variable is too complex. ESQL/C does not
support the use of multidimensional arrays or unions in a typdef. Simplify
the typedef.

-33208 Runtime error is possible because size of host-variable-name
is unknown.

This message is a warning only; compilation continues. ESQL/C does not
know the size of the host character variable. If the variable is used
in an INTO clause, memory might be overwritten. Specify the variable as
a character array with a numeric size. The numeric size can be a literal
value or an ESQL/C macro value.

-33209 Statement must terminate with ‘;’.

This message is a warning. This statement does not have the necessary
semicolon. Even though the preprocessor can proceed without any problems,
you should add a semicolon to the statement. Then you can avoid future
problems if code is added to this program.

-33500 filename: Bad environment variable on line number.

The entry on the specified line in the specified environment configuration
file is incorrect. Modify your entry in the file (the environment variable
name and/or setting) and try again.

-33501 Mapping file for DBAPICODE is not found.

The SQL API cannot find the character-mapping file for the specified DBAPICODE
environment variable setting and the standard code set. Check that the
mapped code set exists in the message directory for your platform. In
NLS-ready systems, the standard code set is defined in the LANG environment
variable. In systems that are not NLS ready, the standard code set is
the default 8-bit character set.

-33502 Mapping file does not have the correct format.

The mapping file for the specified DBAPICODE environment variable is formatted
incorrectly. The text file for the character mapping table can consist
of any number of lines. A line can be a comment, or a one-to-one character
map of a DBAPICODE character code to the equivalent character in the target
code set. The text file should be written in U.S. ASCII or the code set
that has the equivalent representation of U.S. ASCII for the significant
characters (#, parentheses, numeric characters).

-33988 External Space creation failed.

The server could not add the external space. Check the error returned
with this failure.

-33990 External Space drop fails.

An attempt to drop the external space failed. Check the error associated
with this failure.

-34380 Input stream contains an illegal multi-byte character.

The ESQL/C source has illegal multibyte characters. Review the source
file.

-34381 Input stream ends in the middle of a valid character.

The ESQL/C source file ends in the middle of a valid multibyte character.
The source file might be truncated. Review the source file.

-34382 A system error occurred while reading the input stream.

A system error num occurred while the ESQL/C preprocessor read the ESQL/C
source file. Look for operating-system messages to determine the cause
of the problem.

-34383 An unknown error num occurred while reading the input stream.

An unknown error num occurred while the ESQL/C preprocessor read the ESQL/C
source file. Check that the source file is a valid ESQL/C source file.

-34388 Invalid character has been found. Cannot continue the processing.

An internal function, while parsing the elements in an SPL routine, has
encountered an illegal character during multibyte processing. The following
options are passed:

  • database@dbserver;owner.procname
  • database;owner.procname
  • database;procname
  • database@dbserver;procname
  • owner.procname
  • procname

Review these options for possible illegal characters.

-34389 Illegal character has been found in the input string.

The SQL script has illegal characters. Review the script file.

-34390 Invalid delimiter; Don’t use ‘\’, SPACE, HEX or Multibyte
chars.

The delimiter specified for the FILE statement is illegal. You cannot
use a new- line character, backslash, space, tab, hexadecimal digit (0
to 9, A to F, a to f), or multibyte character as a delimiter. Check the
statement and change the delimiter symbol.

-34393 GLS codeset conversion initialization failed.

The code-set conversion initialization failed during the session initialization.
Not enough memory is available for the code-set conversion table.

-34394 Session Initialization failed on bad locale name: locale-name

The session initialization failed. An invalid locale name has been supplied
for the locale initialization in the session initialization. The environment
variable to specify the locale name has an incorrect value. Check the
value of the corresponding environment variable, CLIENT_LOCALE or DB_LOCALE.

-34395 Illegal multibyte character. Line# num

An illegal multibyte character has been detected on the line of the loadable
menu source file. Review the source file.

-34396 Illegal wide character. Line# num

This internal error indicates that the conversion of internal wide-character
formats to multibyte characters failed. Check the program logic.

-35036 This line uses an Informix extension to ISO/ANSI SQL, near
identifier or symbol name.

This error message appears only when you use the -ansi option. Revise
the statement to comply to ANSI standards.

-35038 This statement uses an Informix extension to the X/Open standard,
near identifier or symbol name

This error message appears only when you use the -xopen option. Revise
the statement to meet the X/Open standard.

-35200 Fatal parse error; string.

If you get this error, note all circumstances and contact Informix Technical
Support.

-35201 Cursor name must be an identifier.

The cursor is not an identifier in the DECLARE CURSOR statement. It is
probably given as a host variable and must be changed to a valid cursor
identifier.

-35202 Too many nested blocks.

If you get this error, note all circumstances and contact Informix Technical
Support.

-35203 Cursor cursor name already defined.

The cursor is defined more than once. You can use only one cursor for
each cursor id. Rename the cursor so that it is unique within the module.
Unique cursors enhance portability.

-35204 Procedure procedure name already defined.

The procedure name that you used has already been defined. Rename the
procedure so that it is unique within the module.

-35205 Parameter parameter name already defined.

You used a parameter name more than once. A parameter name must be unique
within each procedure. Rename the parameter so that it is unique within
the procedure call.

-35206 Language must be Ada, instead of language name.

You must use the name Ada in the LANGUAGE clause. Either remove the LANGUAGE
clause or change the language name to Ada. See Chapter 2 in the INFORMIX-Ada/SAME
Programmer’s Manual for more information about the LANGUAGE clause.

-35207 Module name, module name, does not match end module name,
module name.

The name that follows the MODULE END clause must match the module name
that is specified in the MODULE name clause.

-35208 INTERNAL ERROR module name, line line number: case error.

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

-35209 INTERNAL ERROR: module name, line line number: assertion error.

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

-35210 INTERNAL ERROR: feature name not yet implemented.

All supported features are implemented. If this internal error recurs,
please note all circumstances and contact Informix Technical Support.

-35211 Only a single filename expected after command switches.

Use the adasame command. Refer to the syntax for preprocessor commands
that is provided in Chapter 1 of the INFORMIX-Ada/SAME Programmer’s Manual.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-35212 Missing -b or -s option.

Use either the -b or the -s option. Refer to the syntax for preprocessor
commands provided in Chapter 1 of the INFORMIX-Ada/SAME Programmer’s Manual.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-35213 No cursor declaration for procedure name.

The SQL statement requires a cursor id that was not declared in a DECLARE
CURSOR statement. Check for misspellings, or add a DECLARE CURSOR statement
for this cursor.

-35214 Cursor cursor name used with OPEN in more than one procedure.

Cursors can only be referenced in one OPEN statement. Remove multiple
open cursor procedures.

-35215 Undefined host variable or parameter: name.

A reference has been made to a host variable or procedure parameter that
is not defined.

-35216 WHENEVER clause not allowed when SQLCODE appears in parameter
list.

Choose either ANSI error handling with SQLCODE or Informix Ada-style error
handling.

-35217 Language clause required by ANSI X3.135-1989.

ANSI requires that a LANGUAGE clause be given. Specify that the language
is Ada when you develop ANSI-compliant modules. See Chapter 2 of the INFORMIX-Ada/SAME
Programmer’s Manual for more information about the LANGUAGE clause.

-35218 Authorization clause required by ANSI X3.135-1989.

This error message appears only when you use the -ansi option. Include
an AUTHORIZATION clause to meet ANSI standards. See Chapter 2 of the INFORMIX-Ada/SAME
Programmer’s Manual for more information about using the AUTHORIZATION
clause.

-35219 At least one (SQLCODE) parameter required by ANSI X3.135-1989.

ANSI standards require that each procedure have at least one SQLCODE parameter.

-35220 No OPEN procedure for cursor name.

The statement refers to a cursor that has not been opened. Either remove
the cursor without an OPEN statement or add an OPEN statement for the
subject cursor.

-35221 Character string parameter cannot have an OUT mode: parameter
name.

CHAR(*) and VARCHAR(*) parameters cannot be used as OUT parameters. Change
the parameter to CHAR[n].

-35222 CHAR(*) parameter parameter name not supported; use VARCHAR(*)
and append ASCII.NUL.

-35223 Offending word is a language reserved word or type identifier.

Change the reserved word to a nonreserved word.

-35224 INTO phrase cannot appear within a DECLARE CURSOR statement.

Use of the INTO phrase in a DECLARE cursor can result in unpredictable
runtime errors. Informix recommends that you move the INTO phrase to the
OPEN and/or FETCH procedures.

-35225 Object reference, object name, cannot appear in a dynamic
cursor declaration.

Remove the referenced object from the dynamic cursor declaration.

-35226 This line uses an Informix extension to ISO/ANSI SQL, near
identifier or symbol name.

Use of an Informix extension to ANSI has been detected. Use ANSI-compliant
syntax to ensure maximum portability.

-35227 This statement uses an Informix extension to the X/Open standard,
near identifier or symbol name.

Use of an Informix extension to the X/Open SQL syntax has been detected.
Use an X/Open-compliant syntax to ensure maximum portability.

-35580 General Table Manager: No table allocated.

The table has not been created or was deleted.

-35583 General Table Manager: Duplicate keys not allowed.

Table entries with the same key are not allowed.

-35584 General Table Manager: Table is full.

Table is full and cannot be extended.

-35585 General Table Manager: Entry is locked.

Entry of a table is already locked.

-35586 General Table Manager: Table is locked.

Table is already locked.

-35587 General Table Manager: No entry.

The required entry does not exist.

-38514 Set transport buffers size and count FAILED.

The transport buffer size has changed since the last backup. Return code
120 displays.

Set the transport buffer size in the ONCONFIG file back to its value
at the time of the backup and try the restore again. You might have
to refer to file-system backups of the ONCONFIG file to get the previous
value.

-38515 Free transport buffer FAILED.

An error occurred when the database server tried to free the transport
buffers.

Note all circumstances, save a copy of the ON-Bar activity log and
database server message log, and contact Informix Technical Support.

-38516 Client process not registered.

The onbar-worker process is not registered with the Informix database
server.

Recommended corrective actions follow:

1. Use the onstat -g bus command to make sure that the onbar-worker
process is running. Start a new onbar-worker process, if needed.

2. If an onbar-worker process is running, try killing it
with the following command and starting a new onbar-worker process:

kill -2

If this problem persists, contact Informix Technical Support.

-41000 Error in reading the [INET_CONNECTION] section of the INFORMIX.INI
file.

Check the [INET_CONNECTION] section of the INFORMIX.INI file to make sure
this section has the following section heading:

[INET_CONNECTION]

-41001 The INFORMIX.INI file does not have a hostname or has a format
error.

Check the INFORMIX.INI file. If you did not define a host name variable
in the InetLogin structure, the [INET_CONNECTION] section must have a
host name. The host name must be defined in the [INET_CONNECTION] section
with the following format:

host=hostname

-41002 The INFORMIX.INI file does not have a username or has a format
error.

Check the INFORMIX.INI file. If you did not define a user name variable
in the InetLogin structure, the [INET_CONNECTION] section must have a
user name. You must define the user name in the [INET_CONNECTION] section
with the following format:

user=username

-41004 The INFORMIX.INI file does not have a protocolname or has
a format error.

Check the INFORMIX.INI file. If you did not define a protocol name variable
in the InetLogin structure, the [INET_CONNECTION] section must have a
protocol name. You must define the protocol name in the [INET_CONNECTION]
section with the following format:

protocol=protocolname

-41005 Error in reading the [INET_PROTOCOL] section of the INFORMIX.INI
file.

Check the [INET_PROTOCOL] section of the INFORMIX.INI file to make sure
this section has the following section heading:

[INET_PROTOCOL]

-41006 Protocolname is not in the [INET_PROTOCOL] section of the
INFORMIX.INI file.

Check the INFORMIX.INI file. The protocol name that is specified in the
[INET_CONNECTION] section should match the protocol name that is specified
in the [INET_PROTOCOL] section. The protocol name must define the correct
.DLL module for that protocol. If you are using an IPX/SPX protocol, then
ipx=INETIPX.DLL. If you are using a Windows Sockets 1.1-compliant TCP/IP
protocol, then tcpip=INETWSOK.DLL.

-41007 Error in loading INFORMIX-NET for Windows library.

Check your path. If you are using a Windows Sockets 1.1-compliant TCP/IP
protocol, the INETWSOK.DLL module must be in your path. If you are using
the IPX/SPX protocol, the INETIPX.DLL module must be in your path. These
modules must be in your path. In addition, you might not have enough memory
to load the correct DLL module.

-41008 Number of protocols exceeds the number of protocols that are
supported in this version.

You must use only one protocol at a time to communicate with your remote
database server.

-41009 Error in closing connection.

An error occurred when the connection was closed. No corrective action
is provided.

-41020 Connection error.

Too many applications are active under Windows. Close some of your applications
and try again.

-41021 Connection Busy.

You are currently making a database server request. You cannot make another
argument until the current request is finished.

-42306 Could not set lock mode to wait.

The utility that you were running could not access the contents of a table
because it could not wait for a table lock. Wait a while and retry running
dbschema or dbexport.

-43000 ON-Bar backup usage.

The backup command was entered incorrectly. For details, see the Backup
and Restore Guide.

Revise the command and try again.

-43001 ON-Bar restore usage.

The restore command was entered incorrectly. For details, see the Backup
and Restore Guide.

Revise the command and try again.

-43002 ON-Bar session usage.

The session command was entered incorrectly. For details, see the Backup
and Restore Guide.

Revise the command and try again.

-43003 onbar_w usage.

The onbar_w command was entered incorrectly. For details, see the Backup
and Restore Guide.

Revise the command and try again.

-43004 The connection-address is determined by the XCC package.

A command was entered incorrectly. This message might indicate an error
in ON-Bar, as this process should be started only by an onbar command-line
process and rarely by hand.

To start onbar_m by hand, use the ON-Bar activity log of the command-line
process (BAR_ACT_LOG or /tmp/bar_act.log) to determine the correct value
and try again. If this message was issued automatically, contact Informix
Technical Support.

-43005 The syntax will not be supported in future releases
— use .

The command-line syntax for ON-Bar backup has changed. The current action
will complete as requested.

In the future, use the new ON-Bar syntax. To use this new syntax,
you might have to change scripts you have written.

-43006 onsmsync usage.

The onsmsync command was entered incorrectly. For details, see the Backup
and Restore Guide.

Revise the command and try again.

-43010 Bad option usage: -f option requires a filename. ON-Bar is
backing up all storage spaces and logs instead.

The user entered ‘onbar -b -f’ and did not specify a filename. ON-Bar
is backing up all storage spaces and logical logs instead.

-43011 The -f command is ignored for whole system backup/restore
and fake backup.

The user entered the command options -w -f or -F -f .
Because whole-system backup, whole-system restore, and fake backup affect
all spaces, the backup and restore will continue and the -f
option will be ignored.

-43012 Setting backup level to 0 for this command.

Only level-0 backup is supported for a fake backup or external backup.
For Informix Dynamic Server 2000, this message also applies to backup
verification. The backup level is reset to 0.

No action is required.

-43013 Unable to read backup level, defaulting to level .

The backup level entered on the command line is not valid. A level-0 backup
is automatically performed instead.

-43014 Unable to read logical log ID.

The logical-log ID entered on the command line is not valid.

Verify that the logical-log ID is correct and retry the command.

-43015 Restore cannot be restarted. No unfinished restartable restore
found.

The restore cannot be restarted because no restore file exists in the
$INFORMIXDIR/etc or %INFORMIXDIR%etc directory. This means that no previous
restore exists or that the restore succeeded.

Use ‘onbar -r’ for a first-time restore.

-43016 Invalid Point In Time value specified: .

Contact Informix Technical Support.

-43017 A Point in Log restore is permitted only during a Full restore.

You cannot do a point-in-log restore when the database server is on-line.

Do a cold restore.

-43018 A point-in-time restore is permitted only during a full restore.

You cannot do a point-in-time restore unless all spaces are restored.

Do not specify any spaces on the command line.

-43019 Invalid serial number. Please consult your Installation Instructions.

An error occurred during the installation of ON-Bar.

Ask your database server administrator to reinstall ON-Bar.

-43020 Storage space names ignored for fake backup, whole system
backup/restore, log restore, or log salvage.

A fake backup or whole-system restore backs up and restores all storage
spaces. Storage spaces are not included in the log restore or log salvage.

-43021 Expiration specification is invalid for the
option.

The value given to the named command-line option is inappropriate for
that option. Either the format is incorrect or the option is missing.

Compare the value of the option to the usage statement, revise the
command, and try again.

-43022 Cannot expire all versions of all objects. Must give -g option
a value > 0.

The onsmsync command will not remove all backup objects, which is the
meaning of -g 0.

Try onsmsync again with a positive integer argument to -g.

-43035 You must be user root or informix to run ON-Bar.

Only users root and informix or members of the bargroup group are allowed
to execute ON-Bar.

Log in as user root or informix, or have your system administrator
add your login name to the bargroup group before you attempt the backup
or restore.

-43036 You must be a member of INFORMIX-Admin Group to run ON-Bar.

Only users listed in the INFORMIX-Admin Group are allowed to execute ON-Bar.

Ask your Database System Administrator to add your username to the
INFORMIX-Admin Group.

-43037 You must be user informix to run ON-Bar.

Only users informix are allowed to execute ON-Bar.

Log in as user informix before attempting the backup or restore.

-43040 Supplied point in time later than latest log — using latest
logfile 0x.

The point in time specified on the command line is later than the last
logged transaction. The time of the latest logged transaction will be
used instead.

-43041 There were partial logfiles — timestamp 0x pit
0x.

This is an ON-Bar progress message.

-43042 All logfiles complete — timestamp 0x pit 0x.

This is an ON-Bar progress message.

-43043 All logfiles complete — timestamp 0x rolling forward.

This is an ON-Bar progress message.

-43044 Consistent global timestamp not found — recovery is not possible.

ON-Bar was unable to find the correct log to restore in the emergency
boot file.

Verify that all log files have been either backed up or salvaged and
that each has an entry in the emergency boot file. If everything appears
to be correct, contact Informix Technical Support.

-43045 There are no storage space backups before the specified point
in time — recovery is not possible.

The specified point-in-time value is earlier than the earliest backup
entry in the emergency boot file.

Verify that the point-in-time value entered on the command line is
correct. If it is, the emergency boot file might have been corrupted
or is missing and needs to be restored.

-43046 boot_find_first_logs failed .

ON-Bar failed to find the correct log files to restore in the emergency
boot file. This could happen if your system has run out of memory or if
the emergency boot file is missing or corrupted.

Verify that there is sufficient memory in your system to complete
a restore. If there is, the emergency boot file might need to be restored.

-43047 Send bootfile….

This is an ON-Bar progress message.

-43048 Error received from node «».

On-Bar attempted to communicate with and failed.

Verify that all coservers on all nodes are running properly. Try the
restore again. If it still fails, contact Informix Technical Support.

-43049 Error writing to the ON-Bar emergency boot file. Before attempting
a restore, insert the following into : .

An error occurred when ON-Bar attempted to write information to the ON-Bar
emergency boot file. The backup of this object succeeded; however, the
object will not be included in a cold restore unless the specified information
is added to the emergency boot file.

To include the object in a cold restore, ask your database server
administrator to insert the specified data into the ON-Bar emergency
boot file or try running onsmsync -b. (The emergency boot file is $INFORMIXDIR/etc/Bixbar_.
for Informix Enterprise Decision Server, $INFORMIXDIR/etc/ixbar.
for Informix Dynamic Server 2000 on UNIX, or %INFORMIXDIR%etcixbar.
for Dynamic Server 2000 on Windows NT.)

-43050 Copy of old emergency bootfile saved in .

Before regenerating the emergency boot file, onsmsync makes a copy of
the previous version. In case of catastrophic failure, this message tells
you the name of this copy so you can put it back in place before running
onsmsync again or starting a cold restore.

You cannot take any corrective action unless onsmsync fails. If onsmsync
fails to finish writing the new boot file, copy the named file back
to the original location.

-43051 Copy of old emergency bootfile failed.

Before regenerating the emergency boot file, onsmsync makes a copy of
the previous version. If this copying process fails, then this message
is produced. An operating-system error should be written in the activity
log.

Try to correct the operating-system error. ON-Bar will continue to
regenerate the new emergency boot file.

-43060 exceeded maximum allowed limit. Changing buffer
size to .

Transport buffer size is limited by the X/Open Backup Services API specification.
ON-Bar is changing the buffer size to the maximum allowed value.

-43061 BAR_MAX_BACKUP has been reduced to to avoid allocating
more than SHMTOTAL KB.

The value of BAR_MAX_BACKUP multiplied by BAR_XFER_BUF_SIZE and BAR_NB_XPORT_COUNT
will exceed the amount of shared memory reserved by the SHMTOTAL parameter
in the ONCONFIG file. This ON-Bar process will use a lower BAR_MAX_BACKUP
value to avoid exceeding this boundary.

Either raise the amount of shared memory the database server is allowed
to use by increasing SHMTOTAL or lower the value of BAR_MAX_BACKUP,
BAR_XFER_BUF_SIZE, or BAR_NB_XPORT_COUNT.

-43062 Unable to read parameters from $INFORMIXDIR/etc/$ONCONFIG
(UNIX) or %INFORMIXDIR%etc%ONCONFIG% (NT).

The ONCONFIG file is inaccessible. It might be missing or have incorrect
permission values, or the file contents might be corrupted.

Verify that an ONCONFIG file exists and that the permissions for it
are correct. For details, see the Administrator’s Reference.

-43075 Unable to open file .

The file or its directory permissions prevent it from being created or
opened.

Verify the permissions on the file and its directory.

-43076 Error while reading data from the file .

An error occurred while data was read from the file. The file might be
corrupted.

-43077 Unable to create . There may not be enough space.

Not enough disk space is available for chunk creation.

Free some disk space or create a file for this chunk.

-43078 Open or close failed on file , errno = .

An operating-system error prevents the file from being created or opened.

Correct the error and retry your command.

-43080 Process received signal . Process
will exit after cleanup.

An ON-Bar process received a signal. Someone might have intentionally
terminated the ON-Bar process with signal 2 (SIGINT), 3 (SIGQUIT), 9 (SIGKILL),
or 15 (SIGTERM. ON-Bar is attempting to exit gracefully.

If the signal that terminated the ON-Bar process is not one of the
signals listed above, contact Informix Technical Support.

-43090 Out of memory.

ON-Bar was unable to allocate more memory.

Reduce the number of processes that are running at the same time as
ON-Bar, if possible, or ask your system administrator either to increase
your swap space or to install more memory in your system.

-43091 Unable to attach to shared memory.

Unable to initialize a shared-memory connection to the database server.

Either the database shared memory has not been initialized or the
maximum number of users are already using the system.

-43092 Unable to set process group id.

If you are doing a parallel backup or restore, ON-Bar tries to use setpgid()
to group together all the processes. This error occurs if setpgid() fails.

Retry the backup or restore. If it fails again, contact Informix Technical
Support.

-43100 No Storage Manager instances were defined in $ONCONFIG.

The list of available storage-manager instances has not been defined in
the ONCONFIG file. Backup and restore operations will be queued until
a storage manager is defined.

Define storage-manager instances in $ONCONFIG.

-43101 Unable to create a session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43102 Unable to destroy a session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43103 Session complete.

The specified backup and restore session has completed.

-43104 Session complete with error .

The specified backup and restore session has completed with an error.

-43105 Unable to register a new worker process: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43106 Unable to deregister a new worker process: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43107 Unable to get the next event: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43108 Received an invalid event from the database server: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43109 Unable to create the logstream backup session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43110 Unable to start the logical log backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43111 Unable to get logical log backup data from the database server:
.

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43112 Unable to close the logical log backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43113 Unable to commit the logical log backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43114 Unable to create the storage space backup session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43115 Unable to start the storage space backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43116 Unable to get storage space backup data from the database
server: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43117 Unable to close the storage space backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43118 Unable to commit the storage space backup: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43119 Unable to create the storage space restore session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43120 Unable to start the storage space restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43121 Unable to write storage space restore data to the database
server: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43122 Unable to close the storage space restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43123 Unable to commit the storage space restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43124 Unable to create the logical log restore session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43125 Unable to start the logical log restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43126 Unable to write logical log restore data to the database server:
.

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43127 Unable to close the logical log restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43128 Unable to commit the logical log restore: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43129 Unable to create the salvage logs session: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43130 Unable to start logical log salvage: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43131 Unable to get logical log salvage data from disk: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43132 Unable to commit the logical log salvage: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43133 Unable to open logical log placement: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43134 Unable to close logical log placement: .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43135 Error suspending session : .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43136 Error resuming session : .

An error occurred in the database server.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43137 The log backup may have made at least 1 blobspace unrestorable.

A log was backed up when a blobspace was down. The transactions in the
logs (transactions that involve TEXT or BYTE data) might not be restorable.

You might have to re-create the TEXT or BYTE data after the restore
is complete.

-43138 Unable to allocate the transport buffer: .

An error occurred when the database server tried to allocate the transport
buffers.

Note all circumstances, save a copy of the ON-Bar activity log and
database server message log, and contact Informix Technical Support.

-43139 Unable to free the transport buffer: .

An error occurred when the database server tried to free the transport
buffers. This error might occur in onbar workers if the database server
is brought down.

In all other cases, note the circumstances, save a copy of the ON-Bar
activity log and database server message log, and contact Informix Technical
Support.

-43150 Must restore logical logs from or later.

The user wants to stop the restore at too early a logical log. A storage-space
backup occurred after the log that the user specified.

Retry the restore up to the specified logical log or later.

-43151 Cannot warm restore critical media: . Skipped restore
of this space.

Critical media (root dbspace or any dbspace that contains a logical or
physical log) cannot be restored if the database server is on-line. This
space will be skipped.

-43152 Begin cold level restore (Storage
Manager copy ID: ).

This is an ON-Bar progress message.

-43153 Completed cold level restore .

This is an ON-Bar progress message.

-43154 Begin fake backup.

This is an ON-Bar progress message.

-43155 Completed fake backup.

This is an ON-Bar progress message.

-43156 Fake backup failed.

Contact Informix Technical Support.

-43157 Begin level backup .

This is an ON-Bar progress message.

-43158 Completed level backup (Storage Manager
copy ID: ).

This is an ON-Bar progress message.

-43159 Begin salvage for log .

This is an ON-Bar progress message.

-43160 Completed salvage of logical log .

This is an ON-Bar progress message.

-43161 offline blobspaces () were found
while salvaging logical logs.

The logical-log backup of changes to a blobspace requires the blobspace
to be on-line. Any blobspace that is off-line during a logical-log salvage
(which means the blobspace was off-line before the database server failed)
is no longer restorable using ON-Bar.

Re-create the blobspace and reload it as recommended in the Administrator’s
Guide.

-43162 Begin warm level restore (Storage
Manager copy ID: ).

This is an ON-Bar progress message.

-43163 Completed warm level restore .

This is an ON-Bar progress message.

-43164 Begin backup logical log .

This is an ON-Bar progress message.

-43165 Completed backup logical log (Storage Manager copy
ID: ).

This is an ON-Bar progress message.

-43166 Begin restore logical log (Storage Manager copy ID:
).

This is an ON-Bar progress message.

-43167 Completed restore logical log .

This is an ON-Bar progress message.

-43168 ON-Bar suspended the logical restore on log (expected
to restore to ).

ON-Bar was able to restore up through log file x.

To restore all data, however, you also need to restore log files x
+ 1 through y. Query your storage manager to find out if the backups
of these log files exist and if they are restorable. If the log files
are not restorable or you do not want to restore them, issue the following
commands to force the logical restore to end:

onmode -k; oninit

Otherwise, issue onbar -r -l to resume the logical restore.

-43169 You must restore all critical storage spaces for a cold restore.

A cold restore was attempted that did not include the critical storage
spaces.

Try the restore again, but include the root dbspaces and all other
critical dbspaces, if any.

-43170 ON-Bar could not find the proper log from which to begin the
logical restore.

Either no logical-log restore is needed or a logical-log backup is not
restorable.

If the database server is not in quiescent or on-line mode, contact
Informix Technical Support.

-43171 Cannot restart a warm logical restore.

ON-Bar cannot restart a logical restore with the database server in on-line
or quiescent mode.

Bring down the database server and restart the restore.

-43172 Completed external restore.

This message is an ON-Bar progress message.

-43173 External restore failed.

An error occurred in the database server.

Refer to the ON-Bar activity log or database server message log for
more information. If the cause of the error is still unclear, contact
Informix Technical Support.

-43174 percent of has been backed
up.

This message provides progress feedback for backup as a percentage of
dbspace size.

-43175 percent of has been restored.

This message provides progress feedback for restore as a percentage of
dbspace size.

-43176 buffers of have been restored.

This is an ON-Bar progress message that reports the number of buffers
restored.

-43177 Physical restore complete. Logical restore required before
work can continue.

This restore was a physical-only restore, or the logical restore failed.

Perform a logical restore.

-43178 The data returned from the Storage Manager for restore is
incomplete.

The amount of data in the buffer that the storage manager returned for
the restore is not a multiple of the database server page size (2 kilobytes,
4 kilobytes, or 8 kilobytes, depending on your system and configuration).
A restore requires complete pages of data.

Check your storage manager for possible errors. Verify that all the
storage media are complete and usable and that all the storage devices
are functional and on-line.

-43179 Continuous logical log backup sessions cannot be destroyed.
Use onbar off «Log backup «.

An attempt to destroy a continuous logical-log backup session (Log backup
) was made. This action is not allowed.

If you need to stop a logical-log backup session for some reason,
use ‘onbar off «Log backup «‘, in which is
the number of the coserver (1, 2, 3, and so on), to temporarily suspend
the session. You can use ‘onbar on «Log backup «‘ to resume
the session when the problem is resolved. Do not use ‘onbar -d «Log
backup «‘ to destroy the session.

-43180 One of the spaces externally restored on coserver
was backed up after .

ON-Bar has determined the most recent time to which all coservers can
be restored and has reported the internal global time stamp in the error
message. One of the storage spaces that was externally restored on the
named coserver was backed up after that time. Hence a logical restore
cannot return all storage spaces to a consistent state.

Use the ctime() function to convert the global time stamp to a clock
time. Then check that all the external backups used in the external
restore of data on the named coserver were made before that time. Any
space that was restored from too recent a backup needs to be re-restored
from an older backup. Then try the ON-Bar external restore command again.

-43181 Completed logical restore.

This message is an ON-Bar progress message.

No action is required.

-43182 Completed whole-system restore.

This message is an ON-Bar progress message.

No action is required.

-43183 Logical logs will not be backed up because LTAPEDEV value
is .

If the LTAPEDEV value in your ONCONFIG file is /dev/null on UNIX or NUL
on Windows NT, logical-log backups are not performed. You set these special
values to tell the database server and ON-Bar not to perform any logical-log
backups. Data in the logical logs cannot be restored.

Set the LTAPEDEV value to something other than /dev/null on UNIX or
NUL on Windows NT or to blank if you want to perform logical-log backups.
If you do not want any logical-log backups, you can restore only from
whole-system backups, performed with the following command:

onbar -b -w

Also, you must restore with the following command:

onbar -r -w -p

-43185 A change in physical configuration has occurred. A level-0
backup of is being performed.

The physical configuration of the database server has changed. For example,
a storage space, chunk, or logical-log file has been added or dropped,
or the physical log has been moved. To guarantee a successful restore,
a level-0 backup of the affected space and the root dbspace is being performed
now.

No action is required.

-43186 The logical log is full on one or more coservers. ON-Bar’s
attempt to back up these logs failed. A logical-log backup is needed.

The logical log is full on one or more coservers. Processing will be blocked
until these logical logs are backed up.

Perform a logical-log backup. Processing will continue after this
backup is complete.

-43187 ON-Bar received an error/signal. The onbar session will abort
after cleanup.

If any of the ON-Bar processes encounters a non-fatal error and if BAR_RETRY
is set to ABORT(0), the parent process will not create any new child processes.
If the parent process receives a signal, the process ignores the BAR_RETRY
value and then aborts. In both cases, the ON-Bar child processes that
are running will continue to completion.

Rerun the backup or restore command.

-43200 Shared memory not initialized.

The database server is not running.

Start the database server. For instructions, see the Administrator’s
Guide.

-43201 The database server has crashed or been shutdown. Exiting…

The database server has failed or has been shut down while one or more
ON-Bar worker processes are still running. The ON-Bar worker processes
will be automatically shut down.

-43202 Unable to determine mode of all coservers.

It was not possible to determine what mode each coserver is in (on-line,
quiescent, off-line, or microkernel).

Verify that all coservers are running and that the coservers are communicating
with each other properly.

-43203 Not all coservers are in a compatible mode.

Not all coservers are in the same mode. Each coserver must be in a mode
compatible to all the others. For example, all the coservers must be in
microkernel mode to perform a cold restore. On-line and quiescent modes
are compatible, so a backup or warm restore can be performed as long as
all coservers are in one of these two modes.

Change all coservers to the same mode or to compatible modes.

-43204 ON-Bar is waiting for the database server to exit fast recovery
mode.

After finishing the logical restore phase of a cold restore, the database
server enters fast recovery mode. ON-Bar waits for fast recovery to complete
before cataloging the activity of the cold restore.

-43205 Failed to connect to the sysmaster or sysutils database. Wait
until these databases are created and try again.

Either the sysmaster or sysutils database has not been created.

Monitor the database server message log until the following messages
appear:

«‘sysmaster’ database built successfully» «‘sysutils’ database
built successfully»

Then retry your command.

If one or both of these messages fail to appear, contact Informix
Technical Support.

-43206 An attempt to change the database server operating mode failed:
.

An error occurred during an attempt to change the database server operating
mode.

Check the database server message log for errors.

-43207 Unable to open connection to database server: .

The database server is in an incorrect operating mode.

Bring the database server to the correct mode. For a backup, the database
server should be in on-line or quiescent mode. For a warm restore, the
database server should be in on-line, quiescent, backup, or recovery
mode. For a cold restore, the database server should be off-line for
Informix Dynamic Server 2000 and in microkernel mode for Informix Enterprise
Decision Server. To change the database server mode, use the onmode
or oninit command.

-43208 Fatal error initializing ASF; asfcode =

An error occurred during initialization of the ASF layer.

To determine the cause of the error, refer to the ASF error codes
and then rerun the backup or restore command.

-43210 ON-Bar failed to initialize the XCC communications mechanism
().

An error occurred in an attempt to initialize communications between coservers.

Refer to the database server message log for more information. If
the cause of the error is still unclear, contact Informix Technical
Support.

-43211 The onbar process is waiting for onbar_m processes to connect
at ».

In a cold restore on Informix Enterprise Decision Server or Informix Dynamic
Server with Advanced Decision Support and Extended Parallel options, the
ON-Bar process that the user started launches onbar_m processes on various
nodes of the MPP to collect data required to perform the cold restore.
Each onbar_m process needs to connect to the ON-Bar process using a communications
address that the ON-Bar process devised. This message names the address.

If you are starting onbar_m by hand, type the address that the message
named on the onbar_m command line.

-43212 Waiting for onbar_m processes to connect…

Several onbar_m processes have just started, and ON-Bar is waiting for
all of them to come up.

-43213 All onbar_m processes have connected.

This is an ON-Bar progress message.

-43214 The onbar_m process started on node failed with
status : .

One of the onbar_m processes failed to connect to ON-Bar.

If this message occurs once, try to start an onbar_m process on the
named node by hand as user informix. If this message occurs repeatedly,
contact Informix Technical Support with the status information in the
error message and with the contents of your ONCONFIG file.

-43215 The onbar_m process on node sent an unexpected
message ( instead of ).

This message indicates either an error in the ON-Bar software or an onbar_m
process that did not start correctly.

Contact Informix Technical Support.

-43216 The ON-Bar process received a polling error from XCC (
: ).

An error occurred in inter-coserver communications.

If this message occurs once, try to start the cold restore again.
If this message occurs repeatedly, contact Informix Technical Support
with the status information in the error message and with the contents
of your ONCONFIG file.

-43217 The ON-Bar process failed to send an XCC message (
: ).

An error occurred in inter-coserver communications.

If this message occurs once, try to start the cold restore again.
If this message occurs repeatedly, contact Informix Technical Support
with the status information in the error message and with the contents
of your ONCONFIG file.

-43218 The ON-Bar process failed to receive an XCC message (
: value-2).

An error occurred in inter-coserver communications.

If this message occurs once, try to start the cold restore again.
If this message occurs repeatedly, contact Informix Technical Support
with the status information in the error message and with the contents
of your ONCONFIG file.

-43230 The problem just reported is not fatal; processing will continue.

ON-Bar just reported a warning or error in the activity log. However,
this problem is not fatal. ON-Bar will continue processing, either retrying
or using a different algorithm to complete the task. Other unrecoverable
errors might occur later.

Watch for further errors. Be aware that further processing may take
longer than expected.

-43231 An unexpected error occurred: .

Several possible causes exist for this error, including operating-system
failures, version incompatibilities, and software errors.

Verify that the versions of the database server, ON-Bar, and the storage
manager are compatible. For a list of compatible versions, refer to
the Informix Backup and Restore Guide, release notes, machine notes,
or storage manager documentation.

If the versions are compatible, try to stop the backup and restore
process or processes and restart them.

If the error persists, note all circumstances, save a copy of the
ON-Bar and database server message logs, and contact Informix Technical
Support.

-43232 The error just encountered may be transitory. ON-Bar is retrying
the last statement.

ON-Bar just reported a warning or error. This problem, however, might
be caused by another process and might clear up after the other process
continues. ON-Bar will automatically retry the failed statement.

Monitor for further errors. If the automatic retry fails, retry the
backup or restore command.

-43256 Version of the XBSA shared library is not compatible
with version of ON-Bar.

Either the XBSA shared library that the storage-manager vendor provided
has not been validated by Informix, or an error occurred during the installation
of ON-Bar or the storage-manager application.

Look at the contents of the sm_versions file in $INFORMIXDIR/etc or
%INFORMIXDIR%etc. Make sure that the data matches the version of your
storage manager and confirm that this version of the storage manager
has been certified with this version of ON-Bar. Consult your storage-manager
documentation for the correct storage manager version to put into sm_versions.

-43324 ERROR: Unable to open the physical check errtxt: .

This error occurs during backup verification. It indicates a problem running
the archecker process.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std or %INFORMIXDIR%etcac_config.std.
Before you call Informix Technical Support, examine the message log
files for the database server, ON-Bar, and archecker.

-43325 ERROR: Unable to write the physical check errtxt: .

This error occurs during backup verification. It indicates a problem running
the archecker process.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std or %INFORMIXDIR%etcac_config.std.
Before you call Informix Technical Support, examine the message log
files for the database server, ON-Bar, and archecker.

-43326 ERROR: Unable to close the physical check errtxt: .

This error occurs during backup verification. It indicates either a problem
running the archecker process or a corrupt archive.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std or %INFORMIXDIR%etcac_config.std.
Before you call Informix Technical Support, examine the message log
files for the database server, ON-Bar, and archecker.

-43240 Process successfully forked.

This is an ON-Bar progress message.

-43241 Process completed.

This is an ON-Bar progress message.

-43242 The ON-Bar process exited without returning an
exit code.

An ON-Bar child process was started and exited, but the parent process
could not find its exit code. This situation can occur if too many child
processes exit at the same time.

ON-Bar proceeds as if this child process were successful and cataloged
its activity properly. Check the activity log for any evidence that
this process encountered an error. Make sure the bar_action and bar_object
tables correctly reflect the success or failure of this process.

-43243 The process is participating in a backup/restore
session but is suspended.

The database administrator, computer operator, or Storage Manager sent
SIGSTOP or SIGTSTP, usually a ^Z or ^Y, to this process. Presumably this
action was taken to halt processing temporarily during resolution of a
problem.

Send SIGCONT to this process (kill -CONT ) to allow the
process to complete its backup or restore, SIGTERM to kill this particular
process, or SIGQUIT to kill the whole backup and restore session.

-43244 All onbar processes participating in the backup/restore session
are suspended.

The database administrator, computer operator, or Storage Manager sent
SIGSTOP or SIGTSTP, usually a ^Z or ^Y, to all of the processes involved
in this backup and restore session. Presumably this action was taken to
halt processing temporarily during resolution of a problem.

Use the ps command to find a list of all ON-Bar processes. Send SIGCONT
to each of them (kill -CONT ) to allow each process to complete
its backup or restore, SIGTERM to kill a particular process, or SIGQUIT
to one of the processes to kill the whole backup and restore session.

-43245 ON-Bar couldn’t start another child process.

ON-Bar encountered an error starting another process to back up or restore
data in parallel. A lack of sufficient memory or the user having too many
processes running at the same time usually causes this situation.

Increase the amount of real memory or swap space, kill any unnecessary
processes, or reduce BAR_MAX_BACKUP.

-43246 The ON-Bar process exited with a problem (exit
code (0x), signal ).

An ON-Bar child process encountered an error while performing its backup
or restore. The child process returned an error (the exit code) to its
parent. If the exit code has the value 141 (0x8d), then the child process
exited because it received an operating-system signal, which this message
reports.

If the exit code reported in the message is nonzero, then look at
the list of ON-Bar exit codes in the documentation or at the ON-Bar
activity log to find the cause of the problem. If the signal number
is nonzero, then look at the documentation for your operating system
to see what might have caused this problem.

-43247 complete, returning (0x).

An ON-Bar process has completed its processing and is exiting.

If the process returned 0, then no further action is required. If
the process returned a nonzero value, then check the activity log for
errors and take action appropriate for those errors.

-43255 Successfully connected to Storage Manager.

This is an ON-Bar progress message.

-43256 Version of the XBSA shared library is not compatible
with version of ON-Bar.

Either the XBSA shared library that the storage manager vendor provided
has not been validated by Informix, or an error occurred during installation
of ON-Bar or of the storage manager application.

Look at the contents of the sm_versions file in $INFORMIXDIR/etc.
Make sure that the data matches the version of your storage manager
and confirm that this version of the storage manager has been validated
with this version of ON-Bar. For the correct storage manager version
to put into sm_versions, consult your storage manager documentation.

-43257 Could not open XBSA library .

The shared library does not exist, it has a bad format, or you do not
have permission to read it.

Make sure that the shared library for the Storage Manager was installed
properly and that the ONCONFIG file has the correct value for BAR_BSALIB_PATH.

-43258 ON-Bar could not get logical log from the Storage
Manager.

The backup of this logical-log file3 is missing.

Query your storage manager to find out if the backup of this log file
exists and if it is restorable.

-43259 Could not open XBSA library , so trying default
path.

The shared library does not exist, it has a bad format, or you do not
have permission to read it.

Make sure that the shared library for the storage manager was installed
properly and that the ONCONFIG file has the correct value for BAR_BSALIB_PATH.

-43260 ON-Bar was unable to get backup record of from
storage manager.

The Storage Manager does not have a backup record for the dbspace or blobspace.

For more information, contact the storage manager vendor or Informix
Technical Support.

-43261 BAR_BSALIB_PATH is undefined; trying default path.

Either a line in the ONCONFIG file contains BAR_BSALIB_PATH with no value,
or a problem occurred reading the ONCONFIG file.

Verify that the format of the ONCONFIG file is correct. Also make
sure that either BAR_BSALIB_PATH is assigned a value or is not specified
in the file at all.

-43262 The wrong version of was returned from the Storage
Manager.

The storage space or log file returned by the storage manager for restore
is not the object requested by ON-Bar.

Query your storage manager to find out if the correct backup of this
storage space or log file exists and if it is restorable.

-43263 XBSA Error: () Active object does not exist.
Attempt to deactivate it failed.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43264 XBSA Error: () A system error occurred. Aborting
XBSA session.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43265 XBSA Error: () Attempt to authorize
failed.

Verify that the username is informix or root or is a member of the bargroup
group.

-43266 XBSA Error: () Invalid XBSA function call sequence.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43267 XBSA Error: () Invalid XBSA session handle .

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43268 XBSA Error: () XBSA buffer is too small for
the object.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43269 XBSA Error: () Description of the object exceeds
the maximum allowed value: .

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43270 XBSA Error: () The database server name exceeds
maximum allowed size .

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43271 XBSA Error: () The new security token name is
invalid.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43272 XBSA Error: () Invalid vote value: Must be BSAVoteCOMMIT
or BSAVote_ABORT.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43273 XBSA Error: () Invalid environment keyword.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43274 XBSA Error: () That object already exists.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43275 XBSA Error: () A new security token must be
created.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43276 XBSA Error: () Backup object does not exist
in Storage Manager.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43277 XBSA Error: () Exceeded available resources.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43278 XBSA Error: () A DataBlock pointer is required.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43279 XBSA Error: () An object name is required.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43280 XBSA Error: () Unable to access NULL pointer.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43281 XBSA Error: () Rule ID is required.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43282 XBSA Error: () The object is not empty.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43283 XBSA Error: () This object has not been backed
up.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43284 XBSA Error: () Object information data exceeds
maximum allowed size .

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43285 XBSA Error: () Object name exceeds maximum allowed
size .

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43286 XBSA Error: () Operation is not authorized for
.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43287 XBSA Error: () A value for the old security
token is required.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43288 XBSA Error: () The security token has expired.
Please create a new one.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43289 XBSA Error: () The transaction was aborted.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43290 XBSA Error: () A quote is missing from an environment
keyword.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43291 XBSA Error: () A username cannot be deleted
while it owns objects.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43292 XBSA Error (): An unspecified XBSA error has occurred:
.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43293 XBSA Error: () A query or object retrieval tried
to get more data than exists.

An error occurred in the storage manager application.

Refer to the storage manager message log (or equivalent) for more
information. If the cause of the error is still unclear, contact your
storage manager technical support. If you are using the Informix storage
manager, contact Informix Technical Support.

-43305 (copy ID ) not expired even though
it matches the expiration policy.

The named object matches the expiration policy named on the command line
with the -g, -i, or -t option. The object cannot be deleted, however,
because it is needed to allow the restore of another object that does
not match the expiration policy.

This message is informational.

-43306 Whole system backup from not expired even though
it matches the expiration policy.

The whole-system backup started at the described time matches the expiration
policy named on the command line. The backup cannot be deleted, however,
because it is needed to allow the restore of another whole-system backup
that does not match the expiration policy.

This message is informational.

-43307 Expired (copy ID ), backed up .

The named object has been expired as requested.

-43308 Expired (copy ID ), backed up ;
restore may not be possible.

The named object has been expired as requested. Normally onsmsync would
not have removed it, but the -O option was passed on the command line.
If the object is a storage space, ON-Bar cannot determine if it can restore
that space from remaining data in the sysutils database. If the object
is a logical log, ON-Bar cannot determine if any subsequent restore attempts
will fail.

If the object can be re-created in the storage manager and you think
you may need to restore this object with ON-Bar, then follow the procedures
for re-creating the object in the storage manager. Then contact Informix
Technical Support for assistance.

-43309 Expired whole system backup from timestamp; restore may not
be possible.

The whole-system backup started at the described time has been expired
as requested. Normally onsmsync would not have removed it, but the -O
option was passed on the command line. ON-Bar cannot determine if it can
restore from the remaining data in the sysutils database.

If the objects in this whole-system backup can be re-created in the
storage manager and you think you may need them to restore with ON-Bar,
then follow the procedures for re-creating them in the storage manager.
Then contact Informix Technical Support for assistance.

-43310 Could not update the sysutils database — run onsmsync -b when
the database server is quiescent or online.

Either a log salvage was run as a distinct step (onbar -b -l -s), ON-Bar
encountered an error cataloging an action but successfully updated the
emergency bootfile, or onsmsync was run when the database server was off-line
or otherwise unavailable. Therefore the sysutils database is inconsistent
with the storage manager and emergency bootfile.

Bring the database server on-line (possibly including a physical and
logical restore) and run onsmsync -b.

-43320 Begin backup verification of level for
(Storage Manager copy ID: ).

This message is an ON-Bar progress message.

-43321 percent of has been verified.

This message provides progress feedback for the backup verification as
a percentage of dbspace size.

-43322 Completed level backup verification successfully.

This message is an ON-Bar progress message.

-43323 ERROR: Unable to create the physical check session: .

This error occurs during backup verification.

Before you call Informix Technical Support, examine the message log
files for the database server, ON-Bar, and archecker.

-43324 ERROR: Unable to open the physical check errtxt: .

This error occurs during backup verification. It indicates a problem running
the archecker process.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std. Before
you call Informix Technical Support, examine the message log files for
the database server, ON-Bar, and archecker.

-43325 ERROR: Unable to write the physical check errtxt: .

This error occurs during backup verification. It indicates a problem running
the archecker process.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std. Before
you call Informix Technical Support, examine the message log files for
the database server, ON-Bar, and archecker.

-43326 ERROR: Unable to close the physical check errtxt: .

This error occurs during backup verification. It indicates either a problem
running the archecker process or a corrupt archive.

Check permissions and disk space for the archecker temporary files.
For these file locations, see $INFORMIXDIR/etc/ac_config.std. Before
you call Informix Technical Support, examine the message log files for
the database server, ON-Bar, and archecker.

-43400 ondblog usage.

ondblog [-f ] []

new mode:

buf — Change database to buffered mode. unbuf — Change database
to unbuffered mode. nolog — Change database to no logging. (not in AD/XP)
ansi — Change database to be ANSI-compliant cancel — Cancel logging
request.

-f File containing list of databases for logging
change.

List of databases for logging change.

This message displays after an incorrect entry of the ondblog command.

Revise the command and try again.

-43402 ERROR: Invalid serial number. Please consult your Installation
manual.

The serial number for ondblog is invalid.

Ask your System Administrator to re-install ondblog.

-43421 Logging mode is not available in this edition of
the database server.

The named logging mode is available in some but not all versions of Informix
database servers.

Find an appropriate logging mode that is available. Check the release
notes or your Administrator’s Guide for supported logging modes.

For Informix Enterprise Decision Server or Informix Dynamic Server
with Advanced Decision Support and Extended Parallel options, if you
are trying to turn off logging for a database, try to convert all the
tables in that database to one of the unlogged table types.

-47086 Cannot specify current as default value with non-datetime
column type.

You cannot assign a default value consisting of the current time from
the system clock when the column data type is not DATETIME. Modify the
column data type to DATETIME (if permitted), or specify a different default
value for the column.

-47087 Cannot specify null default value when column doesn’t accept
nulls.

Select a different (nonnull) default value for the column, or modify the
column to accept null values.

-47088 Cannot specify server or site as a default value with this
column type.

You cannot specify a default value that consists of the current database
server name or current site name for a column that is not a CHAR, NCHAR,
VARCHAR, or NVARCHAR data type. Change the column data type (if permitted),
or specify a different default value.

-47089 Cannot specify server or site as a default value with this
column length.

For specifying a default value that consists of the current database server
name or current site name for a CHAR, NCHAR, VARCHAR, or NVARCHAR column,
the minimum column length must be 18. Increase the column length, or specify
a different default value.

-47090 Cannot specify today as a default value with this column type.

You cannot specify a default value that consists of the current system
date for a column when the column data type is not DATE. Change the column
data type (if permitted), or specify a different default value.

-47091 Cannot specify user as a default value with this column type.

You cannot specify a default value that consists of the login name of
the current user for a column that is not a CHAR, NCHAR, VARCHAR, or NVARCHAR
data type. Change the column data type (if permitted), or specify a different
default value.

-47092 Cannot specify user as a default value with this column length.

In order to specify a default value that consists of the login name of
the current user for a CHAR, NCHAR, VARCHAR, or NVARCHAR column, the minimum
column length must be 8. Increase the column length, or specify a different
default value.

-47093 Cannot create unique or primary key constraint with column
type of BYTE or TEXT.

In order to create a primary or unique constraint on the column, change
the column data type from TEXT or BYTE, if permitted.

-47095 Column not found in referenced table.

You cannot create a foreign-key constraint on a column that does not exist
in the referenced table. Specify a different referencing or referenced
column for the constraint.

-47098 Number of columns in composite list exceeds maximum.

You cannot include more than 16 column names in a single primary or unique
constraint on Informix Dynamic Server 2000, Informix Dynamic Server, INFORMIX-Universal
Server, or INFORMIX-OnLine Dynamic Server, or 8 column names in one primary
or unique constraint on INFORMIX-SE. Reduce the number of columns that
are specified in the constraint definition.

-47099 You cannot modify an existing constraint.

You cannot use the ALTER TABLE menu options to modify an existing constraint.
An asterisk preceding the name identifies existing constraints.

-47100 Column not in this table.

You cannot create a constraint on a column that does not exist in the
table.

-47101 To drop an existing constraint, the current field must be
constraint name.

The cursor is in the wrong field on the screen. Move the cursor to highlight
an entry in the Constraint Name field to drop all columns that are associated
with a primary key, check, or unique constraint. Highlight the Constraint
field to drop all columns that are associated with a foreign-key constraint.

-47102 You have exceeded the temporary buffer size.

The buffer in the SQL editor, which holds the check-constraint value and
the literal default-constraint value, is full. If you are modifying the
check constraint, a different editor might have a larger buffer.

-47104 The fill factor percentage must be a positive integer not
exceeding 100.

You tried to specify a fill factor percentage that is a negative number
or is greater than 100 percent. Specify a different percentage, or press
RETURN to accept the default value of 90 percent.

-47105 Dbspace has already been selected as part of the strategy.

You cannot use the same dbspace more than once in a fragmentation strategy.
The dbspace you selected is already part of the strategy. Select another
dbspace from the current list.

-47106 Table has already been selected as part of the attaching strategy.

A table can be attached to a fragmentation strategy only once. The table
that you selected is already part of the fragmentation strategy. Select
another table from the current list.

-47107 An Alter Table option has already been altered.

You can execute only one menu option in an ALTER FRAGMENT menu session,
and it cannot be applied to the current strategy more than once. For example,
you can add only one dbspace to a round-robin strategy, and you cannot
delete a dbspace during the same ALTER TABLE session.

-47108 Dbspace is not part of the current strategy.

You have specified a dbspace that is not part of the current fragmentation
strategy. Select a dbspace from the list of available dbspaces that is
displayed on the screen.

-47109 A Dbspace is required if a position is defined.

You have specified a dbspace as part of your attaching table strategy.
This action indicates that you wish to position the attaching table before
or after a dbspace that is part of the fragmentation strategy being attached
to. You must define a before or after position.

-50000 The application object has already been created.

The ixApp constructor generates this message. The system creates the ixApp
object, and only one can exist. The program code must not attempt to create
an ixApp object.

-50001 Member of a closed window cannot be accessed.

Many member functions generate this message. The program can call ixWindow::close
to close a window. The user can cause a window to be closed by selecting
Close from the window system menu. Once a window has been closed, although
pointers that reference it might still exist, the program can no longer
call any of its member functions or refer to members of it.

-50002 Box cannot be instantiated with a NULL container or geometry.

An ixBox constructor generates this message. A box must have both an anchor
and a size set. They have no default sizes.

-50003 Line cannot be instantiated with a NULL or invalid geometry.

An ixLine constructor generates this message. A line must have both an
anchor and a size established. They have no default sizes.

-50004 Cannot set color attribute to a picture button.

This message is generated by ixPictureButton::setColor(). The bitmap file
sets the color attribute of a picture button. Do not attempt to set the
color directly.

-50005 The isEqualTo() member function is not supported in this class.

The isEqualTo() member function is not supported in the ixFile, ixRowArray,
and ixVisualObject classes, and any classes derived from them. Any attempt
to call it in these contexts reports this error.

-50006 The COPY operator is not supported in this class.

This message is generated when the program attempts any of the following:
ixFile::copy(), ixRowArray::copy(), or ixVisualObject::copy(). It is not
clear what copying should do. Use the operating system to copy files.
SuperTables use row arrays, so you should not need to copy them yourself.
VisualObject is a virtual class, and the program should not be able to
obtain an instance to copy.

-50007 The application object cannot be copied or compared.

This message is produced by ixApp::copy() or ixApp::isEqualTo(). Only
one instance of ixApp can exist, and it is created for you automatically.

-50008 A visual object cannot be added to a closed visual container.

The ixVisualObject constructor generates this message. Once a window has
been closed, each ixVisualObject within it acquires an availability of
closed. No member function of a closed visual object can be called, except
for getAvailability(). Therefore, you cannot add new visual objects to
a closed window. Rather than check the window, we just check the availability
of the passed container object.

-50009 A problem has been detected in the internal representation
of a visual object.

Many functions within classes derived from ixVisualObject generate this
message. Correct all other processing errors. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-50010 Cannot set size of a visual object to a negative value. Ignoring
operation.

The ixVisualObject constructor or ixVisualObject::setSize() generates
this message. All visual objects except ixBox and ixLine must have a size
greater than or equal to zero.

-50011 Cannot create a visual object with a NULL container.

The ixVisualObject constructor generates this message. All visual objects,
except top level ixWindow objects, must be attached to an ixVisualContainer.

-50012 Cannot specify a NULL containing window for a popup style
ixWindow. Using a normalTop style ixWindow instead.

The ixWindow constructor generates this message. It indicates that the
user has requested a popup ixWindow but has not indicated a containing
window. Rather than guess at a containing window, VCL creates the new
window as a normalTop window.

-50013 Cannot specify a containing window for a top level window.
Ignoring specified containingWindow parameter.

The ixWindow constructor generates this message. The user has requested
a mainTop or normalTop style of ixWindow but has also specified a containing
window. Only popup windows can have containing windows, so VCL ignores
the containingWindow parameter.

-50014 Invalid style parameter for ixWindow.

The ixWindow constructor generates this message. This message indicates
that a windowStyle parameter other than mainTop, normalTop, modalPopup,
or modlessPopup was requested. The windowStyle is then assumed to be normalTop.

-50015 An SQL error has occurred in ixSuperTable::applyRowLock()
(err) for the following SQL stmt: «stmt».

The ixSuperTable::applyRowLock() member function was called, but the engine
reported an error. This row might be locked by the engine. Verify that
the SQL string displayed is correct and try looking up the engine error
code, displayed in parentheses.

-50016 Cannot set anchor of a visual object to a negative value.
Ignoring operation.

The ixVisualObject constructor or ixVisualObject::setAnchor() generates
this message if an attempt is made to set the top or left point (anchor)
of an ixVisualObject to a negative value.

-50017 Popup windows do not have icons. Ignoring attempt to set icon
for a popup window.

This message is generated by ixWindow::setIcon(), possibly through being
invoked by the ixWindow constructor. Popup windows cannot be minimized
separately from their containing windows. If the popup window container
is minimized, the popup is simply hidden; no icon is shown. This situation
indicates that an icon was specified.

-50018 Cannot get the icon for a popup window. Returning NULL.

This message is generated by ixWindow::getIcon(). The program attempted
to find out what the icon was for the popup window. Popup windows cannot
have icons. The value NULL is returned.

-50019 Cannot use the setValueStr() member function on ixBlob objects.

This message is generated by ixBlob::setValueStr(). The setValueStr()
function takes a CHAR(*) parameter, and blobs can be larger than 32,766
characters, the maximum size of a CHAR(*).

-50020 No default editor available for this class; blob editor name
must be supplied.

The user entered «!» in an ixSuperField object of TEXT or BYTE data type,
but no blob editor has been specified for the data.

For ixText objects only, you can specify the blob editor in the informix.ini
file, by setting the DBEDIT variable to the name of the editor you prefer.
If this information isn’t in the informix.ini file, the DBXEDIT environment
variable is examined. If that environment variable is not set, the DBEDIT
environment variable is checked. Finally, if none of these is set, the
value notepad (for Windows) or vi (for UNIX) is used.

For a TEXT or BYTE SuperField, the user can set the SuperField blobEditor
member to the name of a blob editor.

-50021 An attempt to remove a blob storage file failed. This was
probably due to a file/directory permission problem.

This message can occur on ixBlob destruction or a call to free when the
blob storage file cannot be removed. Check for a named data file in a
directory for which the program does not have write permission.

-50022 An invalid parameter (or out of range) was passed to this
member function.

An invalid whence parameter was passed to _ _blob-seek(). Correct all
other processing errors. If the error recurs, please note all circumstances
and contact Informix Technical Support.

-50023 A NULL container was passed to the ixMenu constructor.

The ixWindow constructor generates this message. Memory corruption might
have occurred. Correct all other processing errors. If the error recurs,
please note all circumstances and contact Informix Technical Support.

-50024 Cannot specify a NULL parent menu for an instance of ixMenu.

The ixMenu constructor generates this message if a NULL parent parameter
was passed. Menus can be attached only to other menus The ixWindow constructor
automatically creates one menu (the member).

-50025 Internal error: attempted to transfer focus from non-focused
object.

A memory corruption may have occurred. Correct all other processing errors.
If the error recurs, please note all circumstances and contact Informix
Technical Support.

-50026 A file name is required for blob stored as ixBlob::locInFile.

The program attempted to set ixBlob::locInFile in a named file but did
not specify a filename.

-50027 An attempt to access data outside the range of a blob has
been detected.

The program attempted to seek outside of blob space. Perhaps ixText::getSubString()
was called with a starting point larger than the blob.

-50028 An illegal value was requested for the ixByte storage type.
Legal values are as follows: ixByte::locInMemory ixByte::locInFile ixByte::locInTempFile

The constructor for ixByte generates this message when the first parameter
is invalid.

-50029 A file name was not specified for an ixByte object stored
as ixByte::locInFile.

The constructor for ixByte generates this message when the first parameter
is ixByte::locInFile, and no named file is specified.

-50030 An illegal value was requested for the ixText storage type.
Legal values are: ixText::locInMemory ixText::locInFile ixText::locInTempFile

The constructor for ixText generates this message when the first parameter
is invalid.

-50031 A file name was not specified for an ixText object stored
as ixText::locInFile.

The constructor for ixText generates this message when the first parameter
is ixText::locInFile, and no named file is specified.

-50032 The blob editor exited with an invalid return status.

A system call to edit a blob failed. This situation could occur if the
name that is specified for the blob editor is invalid, or if no such file
is in the current path.

-50033 This member function is not supported for this object.

This message is generated by ixNumeric and by classes derived from it.
It indicates that an arithmetic function was requested that was not consistent
with the numeric type. The only valid objects for these functions are
ixFloat, ixSmallFloat, ixInteger, ixSmallInt, ixDecimal, and ixMoney.
In addition, the mod() function is valid only for ixInteger and ixSmallInt.
Check that your reference is to the proper type of object.

-50034 The specified base class or derived class name is NULL.

This message is generated by ixObject::isClassDerivedFromClass() if either
parameter is NULL. In this case, the function returns a value of NULL.
Check that both the subclass and base class names refer to existing, defined
classes.

-50035 The object specified for comparison is NULL.

This message is generated by ixObject::isEqualTo() if the parameter that
is passed is NULL. The function then returns a value of FALSE.

-50036 The filename specified for blob located in a temporary file
was ignored.

The ixBlob constructor generates this message. When you set the location
of a blob (either an ixText or ixByte object) with the ixBlob::setLocation()
member function, you can specify whether the data should be in memory,
in a file of your choosing or in a temporary file that is created locally.
NewEra names temporary files, and if you include a filename with this
option, it will be ignored.

-50037 The filename specified for blob located in memory was ignored.

The ixBlob constructor generates this message. When you set the location
of a blob (either an ixText or ixByte object) with the ixBlob::setLocation()
member function, you can specify whether the data should be in memory,
in a file of your choosing, or in a temporary file that is created locally.
If you chose to store the blob in memory, you do not need a filename.
If one is included, it will be ignored.

-50038 An SQL error has occurred in ixSuperTable::doPrepRowLock()
(err) for

the following SQL stmt: «stmt».

The ixSuperTable::prepRowLock() member function was called, but the
engine reported an error. Verify that the SQL string displayed is correct
and try looking up the engine error code, which is displayed in parentheses.

-50039 Cannot stat the blob storage file.

An error occurred when the program prepared to open a blob storage file.
This situation can occur if the file exists but cannot be read for some
reason (perhaps because of permission problems).

-50040 Cannot open the blob storage file.

An error occurred when the program tried to open a blob storage file.
The file has been created or read, but for some reason it cannot be written
to (perhaps because of permission problems).

-50041 Cannot read from the blob storage file.

An error occurred when the program tried to read a blob storage file.

-50042 Cannot write to the blob storage file.

An error occurred when the program tried to write to an open a blob storage
file. A space shortage might exist on the device.

-50043 Error found while trying to write to blob storage memory.

An error occurred when the program tried to write to a blob storage file
because storage memory grew during the write. If the error recurs, please
note all circumstances and contact Informix Technical Support.

-50044 Cannot create the blob storage file.

An error occurred when the program tried to create a blob storage file
(perhaps because of permission problems).

-50050 The file could not be opened.

The ixFile constructor generates this message if it cannot open the specified
file.

-50051 Not enough memory for return string.

This message is generated by ixMsgFile::readMsg(). The system cannot allocate
enough memory to make a string to store the value that is read from the
message file. Reduce either the size of the program or the length of the
message.

-50052 An error occurred while accessing the message file.

The ixMsgFile constructor or ixMsgFile::readMsg() generates this message.
The file that is specified is corrupt or is not an Informix compile message
file.

-50054 In ixSuperTable::retrieve(), cannot insert fetched row into
dataset. Check to make sure the SQL types of the SuperFields match database
types.

This message is generated by ixSuperTable. The insert failed. Check that
the SuperField data types match the appropriate database column types.

-50055 Invalid column number in ixSuperField constructor.

The ixSuperField constructor generates this message. The colNum parameter
has a value less than 1 or greater than the number of columns in the SuperTable.

-50056 The following includeTable entry, «entry», is an illegal value
for this SuperField. Check to make sure this entry is convertible to
the type and encLength specified in the colInfo for this SuperField.

The ixSuperField::dataValidate() member function generates this message.
This warning can be issued while validating the value of the field against
a list of values in includeTable for the field. A value in the include
list is the wrong type (for example, it might be a character string when
the field has a datetime value). Review the values in the include list
for this SuperField and check that they are all the same, correct type.

-50057 No help number has been specified for the current object.

Help has been requested for an item that has no help number assigned to
it, meaning that no help text is available for the object. No workaround
is available for this situation at runtime, but you can address it in
the application code by ensuring that the object has a help number associated
with it and that a corresponding message is in the appropriate help file.

-50060 Invalid internal SuperTable representation in ixSuperField.

Various ixSuperField and ixSuperTable member functions generate this message.
Correct all other processing errors. If the error recurs, please note
all circumstances and contact Informix Technical Support.

-50061 In ixSuperTable constructor, invalid layout specified — defaulting
layout to freeForm.

The ixSuperTable constructor generates this message. The only valid layouts
are gridForm and freeForm (which are ixSuperTable constants).

-50062 In ixSuperTable constructor, invalid displayMode specified
— defaulting display mode to displayData.

The ixSuperTable constructor generates this message. The only valid values
for displayMode are displayQuery and displayData (which are ixSuperTable
constants).

-50063 In ixSuperTable constructor, invalid lockMode specified —
defaulting lock mode to noLock.

The ixSuperTable constructor generates this message. The only valid lock
modes are pessimisticLock, optimisticLock, and noLock (which are ixSuperTable
constants).

-50064 In ixSuperTable::setScrollRange(), totalRows input parameter
< 0 — defaulting to 0.

The ixSuperTable::setScrollRange() member function generates this message.
The value of totalRows must be greater than zero.

-50065 In ixSuperTable::highlightRow(), invalid rowNum input parameter
— aborting call.

The ixSuperTable::highlightRow() member function generates this message.
The value of the rowNum parameter must be between 1 and the number of
stored rows (that is, ixSuperTable::getNumStoredRows()), inclusive.

-50066 In ixSuperTable::unhighlightRow(), invalid rowNum input parameter
— aborting call.

The ixSuperTable::highlightRow() member function generates this message.
The value of the rowNum parameter must be between 1 and the number of
stored rows (that is, ixSuperTable::getNumStoredRows()), inclusive.

-50067 In ixSuperTable::getNextHighlightedRow(), invalid startRowNum
input parameter — aborting call and returning NULL.

The ixSuperTable::highlightRow() member function generates this message.
The value of the startRownum parameter must be between 1 and the number
of stored rows (that is, ixSuperTable::getNumStoredRows()), inclusive.

-50068 In ixSuperTable::getChangeFlag(), invalid rowNum input parameter
— returning NULL.

The rowNum parameter to the ixSuperTable::getChangeFlag function is out
of range. The valid range for this parameter is between 1 and the number
of stored rows (that is, ixSuperTable::getNumStoredRows()), inclusive.

-50069 In ixSuperTable::getChangeFlag(), invalid colNum input parameter
— returning NULL.

The colNum parameter to the ixSuperTable::getChangeFlag function is out
of range. The valid range for this parameter is between 1 and the number
of displayed columns (that is, ixSuperTable::getNumCols()), inclusive.

-50070 In ixSuperTable::setChangeFlag(), cannot directly set to isDeleted
— aborting and returning NULL.

The ixSuperTable::getChangeFlag() function does not support setting the
changeFlag to isDeleted because rows must be deleted from SuperTables
by using ixSuperTable::delete().

-50071 In ixSuperTable::setChangeFlag(), invalid rowNum input parameter
— returning NULL.

The rowNum parameter to the ixSuperTable::getChangeFlag() function is
out of range. The valid range for this parameter is between 1 and the
number of stored rows (that is, ixSuperTable::getNumStoredRows()).

-50072 In ixSuperTable::setChangeFlag(), invalid colNum input parameter
— returning NULL.

The colNum parameter to the ixSuperTable::getChangeFlag function is out
of range. The valid range for this parameter is between 1 and the number
of displayed columns (that is, ixSuperTable::getNumCols()).

-50073 An SQL error has occurred in ixSuperTable::doSQLPrepSelect()
(err) for the following SQL stmt: «stmt».

The SQLPrepSelect() event has been called with the default handler doSQLPrepSelect()
but the engine reported an error. Verify that the SQL string displayed
is correct and try looking up the engine error code, which is displayed
in parentheses.

-50074 An SQL error has occurred in ixSuperTable::doSQLFetch() (err)
for the following SQL stmt: «stmt».

The SQLFetch() event has been called with the default handler doSQLFetch()
but the engine reported an error. Try looking up the engine error code,
which is displayed in parentheses.

-50075 In ixSuperTable::setCellValue(), fatal error — cannot call
ixSuperTable::getSuperField() for the cell.

The ixSuperTable::setCellValue() function tried to call getSuperField()
on the colNum parameter that was specified, but NULL was returned. Some
serious internal error has occurred.

-50076 In ixSuperTable::initCellValue(), invalid rowNum input parameter
— returning NULL.

The rowNum parameter to the ixSuperTable::initCellValue function is out
of range. The valid range for this parameter is between 1 and the number
of stored rows (that is, ixSuperTable::etNumStoredRows()).

-50077 In ixSuperTable::initCellValue(), invalid colNum input parameter
— returning NULL.

The colNum parameter to the ixSuperTable::initCellValue function is out
of range. The valid range for this parameter is between 1 and the number
of displayed columns (that is, ixSuperTable::getNumCols()).

-50078 In ixSuperTable::prepRowLock(), ixSuperTable::getConnection()
returned NULL — instantiating lockStmt with a NULL connection.

The ixSQLConnect object specified in the ixSuperTable constructor is probably
invalid, because ixSuperTable::getConnection() returns NULL. The ixSuperTable::prepRowLock()
function creates the lockStmt using the implicit connection.

-50079 In ixSuperTable::doSQLPrepSelect(), ixSuperTable::getConnection()
returned NULL — instantiating selectStmt with a NULL connection.

The ixSQLConnect object that is specified in the ixSuperTable constructor
is probably invalid, because ixSuperTable::getConnection() returns NULL.
The doSQLPrepSelect function creates the selectStmt using the implicit
connection.

-50080 In ixSuperTable::doSQLInsert(), ixSuperTable::getConnection()
returned NULL — instantiating insertStmt with a NULL connection.

The ixSQLConnect object that is specified in the ixSuperTable constructor
is probably invalid because ixSuperTable::getConnection() returns NULL.
The doSQLInsert function creates the insertStmt using the implicit connection.

-50081 In ixSuperTable::doSQLUpdate(), ixSuperTable::getConnection()
returned NULL — instantiating updateStmt with a NULL connection.

The ixSQLConnect object that is specified in the ixSuperTable constructor
is probably invalid because ixSuperTable::getConnection() returns NULL.
The doSQLUpdate function creates the updateStmt using the implicit connection.

-50082 In ixSuperTable::doSQLDelete(), ixSuperTable::getConnection()
returned NULL — instantiating deleteStmt with a NULL connection.

The ixSQLConnect object that is specified in the ixSuperTable constructor
is probably invalid, because ixSuperTable::getConnection() returns NULL.
The doSQLDelete function creates the deleteStmt using the implicit connection.

-50083 In ixSuperTable::buildLockStr(), no updateTable specified
— returning NULL.

Could not determine the updateTable for this SuperTable. The function
getUpdateTable() returned NULL. Check the updateTable and selectFromPart
constructor parameters to ixSuperTable.

-50084 In ixSuperTable::buildUpdateStr(), no updateTable specified
— returning NULL.

Could not determine the updateTable for this SuperTable. Calling getUpdateTable()
returned NULL. Check the updateTable and selectFromPart constructor parameters
to ixSuperTable.

-50085 In ixSuperTable::buildInsertStr(), no updateTable specified
— returning NULL.

Could not determine the updateTable for this SuperTable. Calling getUpdateTable()
returned NULL. Check the updateTable and selectFromPart constructor parameters
to ixSuperTable.

-50086 In ixSuperTable::buildDeleteStr(), no updateTable specified
— returning NULL.

Could not determine the updateTable for this SuperTable. Calling getUpdateTable()
returned NULL. Check the updateTable and selectFromPart constructor parameters
to ixSuperTable.

-50087 In ixSuperTable::retrieve(), invalid ixValue from fetch.

The ixSuperTable::SQLFetch() function returned a row with a NULL as one
of its elements. If you have bound this event to one of your own handler’s,
make sure that every element of the returned row is an allocated ixValue.

-50088 In ixSuperTable::buildLockStr(), ixSuperTable::getDynKeyStr()
returned NULL — check to make sure a primary key was specified for
some SuperField.

The ixSuperTable::buildLockStr() function is calling ixSuperTable::getDynKeyStr()
in order to qualify which row to lock. However, getDynKeyStr() is returning
NULL. Check that a primary key was properly specified for the SuperFields
in this SuperTable.

-50089 In ixSuperTable::buildUpdateStr(), ixSuperTable::getDynKeyStr()
returned NULL — check to make sure a primary key was specified for
some SuperField.

The ixSuperTable::buildUpdateStr() function is calling ixSuperTable::getDynKeyStr()
in order to qualify which row to update. However, getDynKeyStr() is returning
NULL. Check that a primary key was properly specified for the SuperFields
in this SuperTable.

-50090 In ixSuperTable::buildDeleteStr(), ixSuperTable::getDynKeyStr()
returned NULL — check to make sure a primary key was specified for
some SuperField.

The ixSuperTable::buildUpdateStr() function is calling ixSuperTable::getDynKeyStr()
in order to qualify which row to delete. However, getDynKeyStr() is returning
NULL. Check that a primary key was properly specified for the SuperFields
in this SuperTable.

-50091 In ixSuperField::setDataState(), invalid state specified in
constructor — setting to ixSuperField::enabledState.

In the ixSuperField constructor, an invalid value was specified for the
dataState. The only valid values are ixSuperField::enabledState, ixSuperField::readOnlyState,
and ixSuperField::disabledState.

-50092 In ixSuperField::setDataState(), invalid state specified —
ignoring new state and keeping old state.

An invalid value was specified for the dataState. The only valid values
are ixSuperField::enabledState, ixSuperField::readOnlyState, and ixSuperField::disabledState.
If you have given an invalid state and the state has previously been set
to a valid value, the operation is ignored and the existing value is kept.
Check your program to make sure that you are using the class constants
to specify the data state.

-50093 In ixSuperField::setQueryState(), invalid state specified
in constructor — setting to ixSuperField::enabledState.

In the ixSuperField constructor, an invalid value was specified for the
queryState. The only valid values are ixSuperField::enabledState, ixSuperField::readOnlyState,
and ixSuperField::disabledState.

-50094 In ixSuperField::setQueryState(), invalid state specified
— ignoring new state and keeping old state.

An invalid value was specified for the queryState. The only valid values
are ixSuperField::enabledState, ixSuperField::readOnlyState, and ixSuperField::disabledState.
If you have given an invalid state and the state has previously been set
to a valid value, the operation is ignored and the existing value is kept.
Check your program to make sure that you are using the class constants
to specify the query state.

-50095 In ixSuperTable::setScrollRange(), totalRows larger than number
of rows in row array — defaulting to number of rows in row array.

The totalRows parameter specified in the call to ixSuperTable::setScrollRange()
was larger than the number of stored rows (that is, getNumStoredRows()).
The ixSuperTable::setScrollRange() function sets the new scrollRange to
be the total number of stored rows in the current displayMode.

-50096 In ixSuperTable::getKeyCols(), passed in NULL row — returning
NULL.

The ixSuperTable::getKeyCols() function expects an input ixRow and returns
a new ixRow containing the elements of that row that corresponds to the
superfields that are part of the primaryKey. For some reason, this function
was called with a NULL ixRow.

-50097 In ixSuperTable::getKeyColStr(), ixSuperTable::getSuperField()
returned NULL — the number of SuperFields is inconsistent with the
value returned by ixSuperTable::getNumCols().

This is a serious internal error. In the process of going through each
of the SuperFields, ixSuperTable::getSuperField() returned NULL for one
of the SuperFields.

-50098 In ixSuperTable::getUpdateCols(), passed in NULL row — returning
NULL.

The ixSuperTable::getUpdateCols() function expects an input ixRow and
returns a new ixRow containing the elements of that row that corresponds
to the SuperFields that have an SQLRole of updateRole. For some reason,
this function was called with a NULL ixRow.

-50099 An SQL error has occurred in ixSuperTable::doSQLInsert() (err)
for the following SQL stmt: «stmt».

The SQLInsert() event has been called with the default handler doSQLInsert(),
but the engine reported an error. A problem might exist with the sqlRole
specifications of the SuperField columns. Try looking up the engine error
code, which is displayed in parentheses.

-50100 An SQL error has occurred in ixSuperTable::doSQLUpdate() (err)
for the following SQL stmt: «stmt».

The SQLUpdate() event has been called with the default handler doSQLUpdate(),
but the engine reported an error. A problem might exist with the primary-key
specification, or a SERIAL column might have been incorrectly specified
with an SQL role of updateRole. Try looking up the engine error code,
which is displayed in parentheses.

-50101 Value of object is a zero or a negative number. This operation
is invalid.

In one of the ixNumeric mathematical functions (ixNumeric::power(), ixNumeric::sqrt(),
ixNumeric::asin(), ixNumeric::acos(), ixNumeric::log10(), ixNumeric::root()),
the operation resulted in an error condition.

-50102 Attempt to divide by zero.

This message is generated by ixNumeric. The ixNumeric::root() and ixNumeric::div()
member functions are undefined for zero. You should check for zero roots
and divisors before calling these functions.

-50103 Invalid column number specified in ixSuperField constructor.

The column number given was less than one or more than the number of columns
in the SuperTable. Check the value that you are using for the colNum argument
to the ixSuperField constructor to make sure that it is in range.

-50104 Attempt to open a popup ixWindow while its containing ixWindow
is still unopened.

This message is generated by ixWindows::open(). A popup cannot be opened
before its container is opened.

-50105 Attempt to set a non-positive fontSize. Font sizes must be
greater than zero.

This message is generated by ixApp::setFont() or by ixVisualObject::setFont().
You cannot set a font size to a negative value. This request is ignored.

-50106 Attempt to set default button in a top level style ixWindow.
Only a modalPopup style ixWindow can have a default button. No default
button will be set.

The ixButton constructor generates this message. Default buttons are supported
only in modal popup windows. This request is ignored.

-50107 An SQL error has occurred in ixSuperTable::doSQLDelete() (err)
for the following SQL stmt: «stmt».

The SQLDelete() event has been called with the default handler ixSuperTable::doSQLDelete(),
but the engine reported an error. A problem might exist with the primary-key
specification, or a referential integrity constraint might prevent the
deletion. Try looking up the engine error code, which is displayed in
parenthesis.

-50108 Attempt to set a negative tabIndex in ixControl::setTabIndex().
The tabIndex will not be changed (tabIndex must be positive or noTab).

If the program attempts to set a negative tab index for the control, ixControl::setTabIndex()
generates this message. Negative tab indexes are not supported. The request
is ignored.

-50109 Attempt to set a negative tabIndex in ixControl constructor.
Using defaultTabOrder instead (tabIndex must be positive, noTab, or
defaultTabOrder).

The ixControl constructor generates this message if the program attempts
to set a negative tab index for the control. Negative tab indexes are
not supported. The defaultTabOrder is used.

-50110 Attempt to create a modelessPopup style ixWindow with a modalPopup
style ixWindow as its container. A modalPopup cannot contain a modelessPopup.
Use modalPopup as the windowStyle of the new ixWindow instead.

The ixWindow constructor generates this message. The only style of window
that a modal window can contain is another modal window. The new window
is assumed to be modalPopup style.

-50111 Cannot use ixRow::insert(), ixRow::concat(), or ixRow::delete()
on an ixRow when ixRow::isCountLocked is TRUE.

This is a reminder that this row is locked and cannot have elements added
(with ixRow::insert() or ixRow::concat()) or deleted (with ixRow::delete()).
This is to prevent changing the count of a row copied from a database,
which would make the row no longer match. (You can still reset the values
in the row, however.) Make sure that your setting of isCountLocked matches
your program logic for updating the row.

-50112 The rowSchema cannot be NULL or empty.

When you create an ixRowArray, you need to include a valid ixRow object
that can be used as a schema for the rows in the array. This ixRow object
is used to specify the number of columns in the ixRowArray, as well as
the type, length, and initial value for each column. Check your program
to ensure that you are calling ixRowArray::ixRowArray() with a valid ixRow
object.

-50113 Invalid value for titleHeight in ixSuperTable constructor
— using default value of 350 PGUs.

The ixSuperTable constructor generates this message if the SuperTable
is grid form and a negative title height was specified. The default height
is used.

-50114 Invalid value for numDisplayedCols in ixSuperTable constructor
— using default value of 5.

The column number given was NULL or less than one. Check the value that
you are using for the numDisplayedCols argument to the ixSuperTable constructor
to make sure that it is valid.

-50115 Invalid value for numDisplayedRows in ixSuperTable constructor
— using default value of 10.

The row number given was NULL or less than one. Check the value that you
are using for the numDisplayedRows argument to the ixSuperTable constructor
to make sure that it is valid.

-50116 Length of ixString object exceeds the maximum length allowed.

This message is generated by the ixString constructor, and by ixString
member functions setValueStr(), concat(), concatRep(), insert(), replace(),
and concatChar(), when the length of the ixString object exceeds the maximum
size allowed: 32,766 characters.

-50117 Invalid position specified for the ixString::insert() member
function.

The value specified for position was NULL, negative, or greater than 32,766.

-50118 Invalid position specified for the ixString::delete() member
function.

The value specified for position was NULL, negative, or greater than 32,766,
or the length to be deleted was NULL or negative.

-50119 Invalid position specified for the ixString::replace() member
function.

The value specified for position was NULL, zero, negative, or greater
than 32,766.

-50120 Invalid position specified for the ixString::setChar() member
function.

The value specified for position was greater than 32,766. Check the width
value (using ixString::getWidth()) before calling ixString::setChar().

-50121 Invalid position specified for the ixString::getChar() member
function.

The value specified for position was NULL, negative, or greater than 32,766,
or the position was greater than the length of the existing object. Check
the width value (using ixString::getWidth()) before calling ixString::getChar().

-50122 Invalid length specified for the ixString::truncate() member
function.

You have asked to truncate the string to more than its maximum possible
length (32,766), or to a NULL or negative length. Check the width value
(using ixString::getWidth()) before calling ixString::truncate().

-50123 Invalid length specified for the ixString::pad() member function.

You have asked to pad the string either to more than its maximum possible
length (32,766) or to a negative value. Check the width value (using ixString::getWidth())
before calling ixString::pad().

-50124 An item on the menu bar cannot have a check mark. The check
will be ignored.

This message is generated by ixMenu. Check marks can appear only next
to menu items on a dropdown (pulldown) menu, not on items in the menu
bar. Redo your menu to eliminate check marks on the menu bar.

-50125 Menu separators are not allowed on the menu bar. A dash will
be drawn.

This message is generated by ixMenu. Menu separators can appear only on
a dropdown (pulldown) menu, not on the menu bar. Instead of a separator,
a single ‘-‘ will be shown as the title of the menu item. Redo your menu
to eliminate separators on the menu bar.

-50126 Accelerators are not allowed on the menu bar. The accelerator
will be ignored.

This message is generated by ixMenu. Items on the menu bar can have mnemonics
but not accelerators. You should rewrite your menu to eliminate accelerators
on menu bar items.

-50127 Resources to allocate an object were unavailable.

This message is generated by any of the following: ixApp, ixBox, ixButton,
ixCheckBox, ixFrame, ixLabel, ixLine, ixListBox, ixMenu, ixPictureButton,
ixRadioButton, ixSuperField, ixSuprTable, ixTextBox, ixWindow. This is
usually caused by running out of memory to contain a newly created object,
though in rare circumstances other system errors, such as I/O problems,
can cause this condition. The best solution is to try to reduce the resource
requirements of your program, especially its memory needs.

-50128 Cannot disable the current SuperField.

You have called the ixSuperTable::disable() member function of the current
SuperField, which cannot be disabled. Check your program logic. Usually
you want to disable SuperFields that are not current and without focus
too.

-50129 Cannot specify format for SuperFields of any of the following
types: ixTypeInfo::SQLChar ixTypeInfo::SQLByte ixTypeInfo::SQLText ixTypeInfo::SQLVarChar
ixTypeInfo::SQLInterval

These types do not support formatting, and so calling the ixSuperField::setFormat()
member function for fields with these values should not be done. Check
the type of the field (with getColumn().getTypeCode()) before calling
ixSuperField::setFormat(), and make sure that the type supports formatting.

-50130 An attempt was made to close a window while a modal popup
window contained by it was still being shown. This is not allowed; please
close the modal popup window first.

This message is generated by ixApp or ixWindow. To ensure the modality
of the dialog, you cannot exit the application or close a window by any
means while a modal window (such as a dialog box) is being shown. (It
is also illegal because you would be trying to delete the modal window
while it was trying to handle the event. That will crash some graphical
user interfaces.)

-50131 Display buffer is full — clear it?

This message from ixApp occurs when enough DISPLAY statements have been
executed to fill the display viewer. If you answer OK, the viewer is cleared,
and the text from the current DISPLAY statement is written to it. If you
answer Cancel, the viewer is unchanged and the text of the current DISPLAY
is discarded.

-50132 Cannot hide the current SuperField.

You have called the ixVisualObject::hide() member function of the current
field, which cannot be hidden. Check your program logic. Usually you want
to hide fields that are not current.

-50133 Cannot create a menu whose parent menu title is «-«.

This message is generated by ixMenu. You cannot create a pulldown menu
whose title is ‘-‘ because this conflicts with the use of ‘-‘ as a menu
separator, and separators cannot contain other menu items. This rule is
true even in the case of a ‘-‘ item on the menu bar.

-50134 Cannot retrieve more than 16382 rows into an ixSuperTable
on Windows.

This message is generated by ixSuperTable. The container used for retrieving
rows can hold only 16K items on MS Windows, due to memory segment limitations.
If you encounter this limit, try redoing your query so that you retrieve
fewer rows at one time.

-50135 Cannot insert more than 16382 elements into an ixVector on
Windows.

This message is generated by ixVector. Vectors on the MS Windows can hold
only 16K items, due to memory segment limitations. If you encounter this
limit, try modifying your application so that it uses smaller vectors.

-50136 In ixSuperTable constructor, neither updateTable nor selectFromPart
has been set for this SuperTable, so requested lock mode is invalid
— defaulting lock mode to noLock.

You cannot specify a lock mode without also specifying something to lock.
If neither an update table nor a table to select from is given, then there
is no place to retrieve from, and locking is unnecessary. This error usually
results from an omission in the constructor call (you do want to specify
locking, but you forgot to name the table) or inadvertently including
an unnecessary locking value. Check your code for both of these cases.

-50137 In ixSuperField constructor, updating maxDataChars to equal
the length of the picture string.

A picture string value controls what characters can be typed in, and its
length specifies how many characters a field can hold. You cannot enter
more characters than the picture string allows, so in the case where maxDataChars
is unequal to the picture length, it is adjusted to match. Check your
constructor call, and change maxDataChars.

-50200 A request for a synchronous advise transaction has timed out.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_ADVACKTIMEOUT (0x4000). Either the client or the server
was not available, or contention for some resource occurred.

-50201 The response to the transaction caused the DDE_FBUSY bit to
be set.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_BUSY (0x4001). Some contention for resources kept the
transaction from being completed.

-50202 A request for a synchronous data transaction attempt has timed
out.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_DATAACKTIMEOUT (0x4002). The transaction was not completed
within the specified time.

-50203 A DDEML function was called without first calling the DdeInitialize()
function, or an invalid instance identifier was passed to DDEML.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_DML_NOT_INITIALIZED (0x4003). Before calling any other
DDEML function, an application must call the DdeInitialize() function.
This function obtains an instance identifier for the application, registers
the application’s DDE callback function with the DDML, and specifies the
transaction filter flags for the callback function.

-50204 An application initialized as a MONITOR has attempted DDE
transactions, or an application initialized as CLIENTONLY has attempted
SERVER transactions.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_DLL_USAGE (0x4004).

-50205 A request for a synchronous execute transaction attempt has
timed out.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_EXECACKTIMEOUT (0x4005). The transaction was not completed
within the specified time.

-50206 A parameter failed validation.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_INVALIDPARAMETER (0x4006). Possible causes include:

  • The application used a data handle initialized with a different
    item-name handle than the transaction required.
  • The application used a data handle that was initialized with a
    different clipboard data format than the transaction required.
  • The application used a client-side conversation handle with a server-side
    function or a server-side conversation handle with a client-side function.
  • The application used a freed data handle or string handle.
  • More than one instance of the application used the same object.

-50207 A race condition has consumed excessive memory.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_LOW_MEMORY (0x4007). A DDEML application has created
a prolonged race condition (where the server application outruns the client)
that consumes huge amounts of memory.

-50208 A memory allocation failed.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_MEMORY_ERROR (0x4008).

-50209 A DDE client transaction failed.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_NOTPROCESSED (0x4009).

-50210 A client’s attempt to establish a conversation has failed.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_NO_CONV_ESTABLISHED (0x400A).

-50211 A request for a synchronous poke transaction has timed out.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_POKEACKTIMEOUT (0x400B).

-50212 An internal PostMessage call failed.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_POSTMSG_FAILED (0x400C).

-50213 A reentrancy error has occurred.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_REENTRANCY (0x400D). A synchronous transaction was initiated
while the application instance has another synchronous transaction in
progress, or the DdeEnableCallback() function was called from within a
callback function.

-50214 Conversation has been broken.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_SERVER_DIED (0x400E). A server-side transaction has
been attempted on a conversation that the client terminated, or the server
terminated before completing a transaction.

-50215 An internal error has occurred in the DDEML.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_SYS_ERROR (0x400F).

-50216 A request to end an advise transaction has timed out.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_UNADVACKTIMEOUT (0x4010).

-50217 An invalid transaction ID was passed to a DDEML function.

A Dynamic Data Exchange Management Library (DDEML) function has returned
a value of DMLERR_UNFOUND_QUEUE_ID (0x4011). When the application has
returned from an XTYPE_XACT_COMPLETE callback, the transaction identifier
for that callback is no longer valid.

-50230 DDE Error: No data available in SuperTable cell.

The cell of the SuperTable that is being requested contained no data.

-50231 DDE Error: Requested range of cells was invalid.

The requestor asked for a range of cells that exceeded the boundaries
of the SuperTable.

-50232 DDE Error: Server returned an irregular range of data.

A mismatch existed between the data type that the requestor sought and
the server found.

-50233 DDE Error: Invalid item specified.

An initialization error occurred when the server attempted to recognize
the item. Verify that the string that specifies the item is one of the
established set of items.

-50234 DDE Error: Data transfer into SuperTable was not completed.

The server was unable to complete the delivery of items from the SuperTable
to the requestor.

-50401 Insert of an ixCollection into ixList, ixMultiset, and ixSet
can only occur if the ixCollection is fully typed, i.e., the value to
be contained in the ixCollection is fully specified.

An attempt was made to construct, concatenate, or insert a NULL or not
fully typed ixCollection object. A fully typed and non-NULL ixCollection
must be used during these function calls. For information about how to
use ixCollection::ixCollection( ) to construct a valid value type, refer
to the Standard Class Library Reference.

-50402 INSERT and SET in ixList, ixMultiset, and ixSet are only allowed
if the ixValue object is non-NULL.

Failed to provide a non-NULL element to INSERT or SET for an ixList, ixMultiSet,
or ixSet object. A non-NULL element is required. Inserting or setting
(replacing) a NULL element does not cause a change to ixList, ixMultiSet,
or ixSet objects.

-50403 INSERT and SET in ixList, ixMultiset, and ixSet are only allowed
if the ixValue object is of the same class or derived from the ixValue
object that was specified in the constructor.

An attempt was made to provide an incompatible element to an ixList, ixMultiSet,
or ixSet object during concatenation, insertion, or replacement. An element
of an object of the same class (or derived from ixValue) is necessary
to ensure compatibility with the ixList, ixMultiSet, or ixSet object.
To prevent this error, you might need a compatibility check during element
construction.

-50404 INSERT and SET in ixSet only allowed if ixValue object is
unique to the ixSet.

An attempt was made to insert or set a duplicate element to the ixSet
object. Use a unique element that is not already contained in the ixSet
object. To check for the uniqueness of an element, use the contains( )
function call (as described in the Standard Class Library Reference).

-50405 Item number for SET must be within the existing size of the
ixList, ixMultiSet, or ixSet.

An attempt was made to provide an invalid element position to set an ixList,
ixMultiSet, or ixSet object. The position must fall within the correct
range of ixList, ixMultiSet, or ixSet for the setting to work properly.
To check whether the specified position is within the size limit, use
the getCount( ) function call (as described in the Standard Class Library
Reference).

-50406 setValueStr( ) for an ixCollection can only be called if the
ixCollection is fully typed, i.e., the value to be contained in the
ixCollection is fully specified.

The program called setValueStr( ) was called for a NULL or not fully typed
ixCollection object. A fully typed and non-NULL ixCollection object is
required here. For information on using ixCollection::ixCollection( )
to construct a valid value type, refer to the Standard Class Library Reference.

-50407 An ixValueDesc object may only be constructed with an ixTypeInfo
object specifying an opaque, user-defined type.

An attempt was made to construct a value descriptor with non-user-defined
data types. A value descriptor must be constructed with ixTypeInfo object
of SQLOpaqueVar or SQLOpaque objects (user-defined objects).

-50408 setValueStr( ) has been passed an invalid string.

A valid string was not provided during setValueStr( ) for an ixCollection
object or ixRow object. A non-empty string value and a valid string must
be used during this function call. For details of how setValueStr( ) is
used with ixCollection or ixRow objects, see the Standard Class Library
Reference.

-50409 The number of items does not match the number of items in
the ixRow object.

An attempt was made to call setValueStr( ) with an input string whose
item number does not match that of the ixRow object. The item number of
the input string must be equal to the item number of the specified ixRow
object in order for setValueStr( ) to work properly.

-50410 Objects of this class are for use with Informix Dynamic Server
2000 or INFORMIX-Universal Server only.

An attempt was made to construct or use a function call of one of the
following classes: ixCollection, ixList, ixMultiSet, ixSet, ixBoolean,
ixValueDesc, and ixRawValue.

Only Dynamic Server 2000 and Universal Server support these classes,
so they are currently disabled. Use of objects of these classes will
result in a fatal error.

-50700

This text is not an error message but is displayed in an ixOleField when
the displayType is displayText. This text is placed in the .msg file for
ease of maintenance.

-50701 Invalid data for an ixOleField.

An attempt was made to store non-SQLByte data, or data that was not created
by an OLE document server, in an ixOleField. An OLE document server must
create valid data for an ixOleField. If the ixOleField is associated with
a column in a database, the column must be the SQLByte type.

-50702 Invalid displayType for an ixOleField.

The displayType value specified for the data in the ixOleField is invalid.
For ixOleFields in a grid-form SuperTable, the valid display types are
display- Default and displayText. For valid display types for ixOleField,
consult the NewEra documentation

-50704 Bad initialDataValue. Displaying empty data in the ixOleField.

The initialDataValue parameter of this ixOleSite object is an ixOleByte
object that cannot be displayed in the ixOleField by its OLE document
server. Examine the code that specifies this value. For information about
what kind of data it can display, consult your OLE document server documentation.

-50705 Cannot set location to locInResourceFile at runtime.

The valid location values are ixByte::locInTempFile, ixByte::locInFile,
and ixByte::locInMemory.

-50707 A resource of the given name cannot be found for ixOleByte.

A resource for ixOleByte cannot be found on the system. Check the spelling
of the resource name and make sure the resource file has been created.

-50708 Illegal value for ixOleByte storage type.

Legal values are ixByte::locInFile and ixByte::locInResourceFile.

For an ixOleByte, the blob storage must be located either in a file
or in a resource file. An attempt was made to locate the blob in memory
or in a temporary file.

-50711 Invalid value for OCXClassID.

During the construction of the OCX, the class ID that was passed in was
invalid or NULL.

-50712 Invalid value for InPlace. The default value will be set.

Default values are TRUE for free-form SuperTables and FALSE for grid-form
SuperTables.

A NULL value has been passed in for the BOOLEAN parameter inPlace
during the construction of the OCX. A value of TRUE uses in-place activation
for the OCX, whereas FALSE indicates that the OCX, when activated, will
be displayed in a separate window (out-of-place activation). For an
OCX created inside a grid-form SuperTable, the default is set to FALSE.
For an OCX created in a free-form SuperTable or in a window, the parameter
will default to TRUE.

-50713 Invalid value for VerbID.

A NULL value was passed in for the value of the verbID to the doVerb(
) function. For supported verbs, consult the OCX documentation.

-50714 Invalid value for property name.

An invalid or NULL value was passed as a property name for the methods
get/setPropertyType or get/setProperty of ixOCXField. For valid property
names, consult the OCX documentation.

-50715 Invalid value for the setData parameter.

An invalid or NULL value was passed into the setData( ) method. The value
must be a valid ixValue object.

-50716 OCXError: Memory cannot be allocated to complete this function.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50717 OCXError: Main IDispatch interface is not found.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50718 OCXError: Number of arguments passed is different from the
number of arguments expected by the method.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50719 OCXError: Invalid parameter type passed to method or property.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50720 OCXError: Exception.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50721 OCXError: The requested member is not supported for this particular
OCX.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50722 OCXError: IDispatch does not support named arguments.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50723 OCXError: One of arguments cannot be coerced to specified
type due to memory overflow in destination placeholder.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50724 OCXError: A parameter to a method or property is not supported
by this OCX.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50725 OCXError: One or more arguments could not be coerced to the
specified type.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50726 OCXError: Unknown interface.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50727 OCXError: Unknown locale ID.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50728 OCXError: A required parameter for the method or property
of the OCX was omitted.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50729 OCXError: The property or method name is not known to the
OCX.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50730 OCXError: Internal error, should not occur.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50731 OCXError: Invalid type library format for this OCX.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50732 OCXError: Type library could not be opened for this OCX.

An internal error occurred while accessing a method or property of the
OCX. For information on supported methods and properties, consult the
OCX documentation.

-50733 GetProperty( ) failed. Cannot convert OCX value to the given
property type-returning NULL.

The function returns NULL if the value of the OCX property cannot be converted
to the data type that was specified in setPropertyType( ), or if the data
type of the OCX property is not supported.

-50734 Invalid value for method name.

An invalid or NULL method name has been passed to the callMethod( ) function.
For supported methods, check the OCX documentation.

-50735 SetProperty( ) failed. Cannot convert property value to OCX
value. Value is not set.

The propValue formal argument of a call to setProperty( ) cannot be converted
to the required data type of the specified OCX property.

-50736 SetProperty( ) failed. Invalid value for property.

The propValue formal argument of a call to setProperty( ) is NULL. It
should be a valid ixValue object.

-50740 Invalid parameter type for event.

The type of the parameter passed for the current event is invalid.

-50741 Invalid value (NULL) for event parameter.

The value of one or more parameters passed in for the current event is
NULL.

-50742 Invalid value (NULL) for event parameter typecode.

The value for the type of the parameter passed in for the current event
is NULL.

-50743 Invalid value (NULL) for parameter array.

The value for the parameter array to be passed to the processCustomEvent
method is NULL. This could have been an internal VCL error.

-50744 Cannot build safearray. Verify the dimension(s) of safearray.

The safearray value cannot be created. Verify the dimensions of the safearray.

-50745 Invalid value for safearray member of ixVariant object.

The value stored in the ixVariant object is not a valid safearray (ixVector)
value.

-50746 Cannot update safearray with new value(s). Verify the safearray.

The value of one or more elements of safearray cannot be updated. Verify
the safearray.

-50747 Incorrect multidimensional safearray. Verify the safearray.

The multidimensional safearray is not a valid safearray. Verify the array
and the dimension of the array.

-50748 Invalid value for number of dimensions.

The value for the number of dimensions is incorrect.

-50749 Invalid parameter(s) for the ixVariant constructor. Cannot
construct ixVariant object.

The constructor of the ixVariant class takes either a valid ixValue object
as its first parameter and NULL as its second parameter, or NULL as its
first parameter and a valid ixVector object as its second parameter. Otherwise,
the ixVariant object is not created. Check the parameters.

-50750 Invalid value for the value member of ixVariant object.

The value passed in for the data member of type ixValue for the ixVariant
class is not a valid ixValue object.

-50910 [Informix][CCL Library] addMapping: cannot map standard class.

An error occurred in the member function addMapping because the name passed
in argument className is the name of a NewEra Standard Class. Only user-defined
classes that are derived from the NewEra Standard Class ixValue (either
directly or indirectly) and are not NewEra Standard Classes can be mapped
to user-defined types (UDTs) defined in the database server. Ensure that
the name of the class passed in argument className is the name of a class
that is correctly derived and spelled.

-50911 [Informix][CCL Library] addMapping: invalid user-defined type.

An error occurred in the member function addMapping because the name passed
in argument serverDataType is not the name of a valid user-defined type
(UDT) known to Informix Dynamic Server 2000 or INFORMIX-Universal Server.

Ensure that the name passed in the argument serverDataType is the
name of a valid UDT defined in Dynamic Server 2000 or Universal Server
and that the name is spelled correctly.

-50912 [Informix][CCL Library] addMapping: class not derived from
ixValue.

An error occurred in the member function addMapping because the name passed
in argument className is not the name of a user-defined class derived
from the NewEra Standard Class ixValue. Only classes that are derived
from ixValue (either directly or indirectly) and that are not NewEra Standard
Classes can be mapped to user-defined types (UDTs). Ensure that the name
passed in argument className is the name of a class that is correctly
derived and spelled.

-50913 [Informix][CCL Library] invalid mode passed to function __ixSQLStmtINFX(
).

An error occurred in function __ixSQLStmtINFX due to an invalid value
passed in argument mode. This error is internal to INFORMIX-NewEra CCL.
Contact your technical support representative.

-50914 [Informix][CCL Library] Error converting an ODBC data type
to an Informix data type.

In function mapODBCTypeToSQLI, a call to SQLColAttributes failed. This
error is internal to INFORMIX-NewEra CCL. Contact your technical support
representative.

-50915 [Informix][CCL Library] Error retrieving blob data.

In function getBlobData, a call to function SQLGetData to get binary data
failed. This error is internal to INFORMIX-NewEra CCL. Contact your technical
support representative.

-50916 [Informix][CCL Library] attempting to remove value(s) from
a row failed.

A call to function ifRow::deleteAllElements failed. This error is internal
to INFORMIX-NewEra CCL. Contact your technical support representative.

-50917 [Informix][CCL Library] attempting to add a value to a row
failed.

In function initializeParams, a call to function ifRow::add failed. This
error is internal to INFORMIX-NewEra CCL. Contact your technical support
representative.

-50918 [Informix][Connectivity Class Library] No connection established.

An error occurred in an ixSQLStmt member function because no database
connection exists. A database connection must be made prior to calling
any ixSQLStmt member functions. Verify that a successful connection has
been made.

-50919 [Informix][Connectivity Class Library] The option passed to
getConnectOption() or setConnectOption() is invalid.

An error occurred in the member function ixSQLConnect::getConnectOption()
because the value of the option argument is invalid. Verify that the correct
value is being used for option.

-50920 [Informix][Connectivity Class Library] The parameter passed
to setConnectOption() is the wrong type.

An error occurred in the member function ixSQLConnect::setConnectOption()
because the value of argument param is not of the correct type or class.
Check the type or class of argument param to ensure that it is the correct
type according to the value of the argument option.

-50921 [Informix][Connectivity Class Library] A null parameter is
not valid for this setConnectOption() option.

An error occurred in the member function ixSQLConnect::setConnectOption()
because the value of argument param is null, which is invalid. Check that
the argument param is not a null value.

-50922 [Informix][Connectivity Class Library] Runtime Warning: Error
freeing the statement handle in the ixSQLStmt destructor.

An error occurred in the ixSQLStmt destructor when an attempt was made
to free the statement handle. A corrupt statement caused this internal
error.

-50923 [Informix][Connectivity Class Library] Runtime Warning: Error
freeing the cursor handle in the ixSQLStmt destructor.

An error occurred in the ixSQLStmt destructor when an attempt was made
to free the cursor. A corrupt cursor caused this internal error.

-50924 [Informix][Connectivity Class Library] Runtime Warning: Error
occurred in freeing the statement handle in the ixSQLStmt destructor.

An error occurred in the ixSQLStmt destructor when freeing the ODBC statement
handle. A corrupt handle caused this internal error.

-50925 [Informix][Connectivity Class Library] Option not supported.

The Connectivity Class Library does not support the CCL option that was
passed to ixSQLStmt::getInfo().

-50926 [Informix][Connectivity Class Library] The statement was not
prepared yet.

Before a call to ixSQLStmt::fetch() or ixSQLStmt::fetchInto() can be made,
the SQL statement must have been prepared and executed. Either call ixSQLStmt::prepare()
and then ixSQLStmt::execute(), or call ixSQLStmt::execDirect().

-50927 [Informix][Connectivity Class Library] The number of items
in the ixRow is not the same as in the prepared statement.

Call the function ixSQLStmt::allocateRow() again to create a new ixRow.

-50928 [Informix][Connectivity Class Library] Connection must be
established before statement can be constructed.

The ixSQLConnect object passed to the ixSQLStmt constructor must already
be connected to a data source for the constructor to succeed. Call the
ixSQLConnect::connect() function before passing the ixSQLConnect object
to the ixSQLStmt constructor.

-50929 [Informix][Connectivity Class Library] Cannot describe a column
of a non SELECT statement.

The ixSQLStmt::describeCol() member function can be called only after
a SELECT statement is prepared.

-50930 [Informix][Connectivity Class Library] Warning: Transaction
mode not set. Now in AUTOCOMMIT mode.

An attempt to set the AUTOCOMMIT mode to OFF failed. The ODBC driver might
not support manual commit mode. The ixSQLConnect object is in AUTOCOMMIT
mode. The Informix Connectivity Class Library does not support this mode.

-50931 [Informix][Connectivity Class Library] Function sequence error:
ixSQLStmt::getNativeTypeName() called before the ixSQLStmt was prepared.

The ixSQLStmt object must be prepared before the ixSQLStmt::getNativeTypeName()
member function can be called. Call either ixSQLStmt::prepare() or ixSQLStmt::execDirect()
before calling ixSQLStmt::getNativeTypeName().

-50932 [Informix][Connectivity Class Library] Column out of range
in ixSQLStmt::getNativeTypeName().

The column number passed to ixSQLStmt::getNativeTypeName() is either less
than zero or greater than the number of columns in the result set.

-50933 [Informix][Connectivity Class Library] Function not implemented.

This function performs no action on the ixSQLConnect or ixSQLStmt object.

-50934 [Informix][Connectivity Class Library] Invalid option passed
to ixSQLStmt::setStmtOption().

The ixSQLStmt::setStmtOption() parameter did not have a valid value.

-50935 [Informix][Connectivity Class Library] Error occurred converting
from ODBC timestamp data type to Informix date time data type (ixDateTime).

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50936 [Informix][Connectivity Class Library] Error occurred converting
from ODBC decimal data type to Informix money data type (ixMoney).

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50937 [Informix][Connectivity Class Library]Error occurred converting
from ODBC decimal data type to Informix decimal data type (ixDecimal).

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50938 [Informix][Connectivity Class Library]Error occurred in freeing
environment. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50943 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::getNativeTypeName().
The column number may be out of range or the statement may not be prepared.

The statement might not be prepared yet. Try calling ixSQLStmt::prepare()
before ixSQLStmt::getNativeTypeName(). Verify that the column number is
in the range from 1 to the value returned by ixSQLStmt::numResultCols().

-50944 [Informix][Connectivity Class Library]Data type not supported
by NewEra.

You may be attempting to insert or fetch an item of data type ixInterval
into an ODBC-compliant data source. This action is not supported. Another
possible problem is that the data source contains one of the ODBC data
types SQL_BITINT, SQL_TINYINT, SQL_BIT, SQL_BINARY, or SQL_VARBINARY,
then no equivalent NewEra class is derived for ixValue that corresponds
to these types.

Call ixSQLConnect::getTypeInfo() to determine the supported data types.

-50945 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::setStmtOption().
Call ixSQLConnect::SQLError() for ODBC error information.

An invalid option was passed to the isSQLStmt::setStmtOption() member
function.

-50946 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::getStmtOption().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50947 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::rowCount().
Call ixSQLConnect::SQLError() for ODBC error information.

An error occurred in the ixSQLStmt::rowCount() member function. The isSQLStmt
object might not have been prepared. Call ixSQLStmt::prepare() or ixSQLStmt::execDirect()
before calling ixSQLStmt::rowCount().

-50948 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::prepare().
Call ixSQLConnect::SQLError() for ODBC error information.

Check the SQL syntax to ensure that it is correct. Call ixSQLConnect::SQLError()
for ODBC error information.

-50949 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::numResultCols().

The statement might not be prepared yet. Try calling ixSQLStmt::prepare()
before ixSQLStmt::numResultCols(). Call ixSQLConnect::SQLError() for ODBC
error information.

-50950 [Informix][Connectivity Class Library]Function sequence error:
ixSQLStmt::allocateRow() called before the ixSQLStmt was prepared.

Call ixSQLStmt::prepare() before ixSQLStmt::allocateRow().

-50951 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::describeCol().

Call ixSQLStmt::prepare() before ixSQLStmt::describeCol() or call ixSQLConnect::SQLError()
for ODBC error information.

-50952 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::getCursorName().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50953 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::setCursorName().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50954 [Informix][Connectivity Class Library]Error occurred in freeing.
The ixSQLStmt::free() member function returned an error. Call ixSQLConnect::SQLError()
for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50955 [Informix][Connectivity Class Library]The ixRow passed to
ixSQLStmt::fetchInto() does not match the result schema.

An ixValue in the ixRow does not contain a matching type for the result
schema. Call ixSQLStmt::allocateRow() to get a new ixRow, and pass this
ixRow into ixSQLStmt fetchInto().

-50956 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::colAttributes().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50957 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::fetch().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50958 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::execute().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50959 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::execDirect().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50960 [Informix][Connectivity Class Library]Error occurred in ixSQLStmt::cancel().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50961 [Informix][Connectivity Class Library]Error occurred in freeing
statement. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50962 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::transact().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50963 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::tables().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50964 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::setConnectOption().
Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50965 [Informix][Connectivity Class Library]Error occurred in allocating
statement. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50966 [Informix][Connectivity Class Library]Error occurred in allocating
connection. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50967 [Informix][Connectivity Class Library]Error occurred in allocating
environment. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50968 [Informix][Connectivity Class Library]Error occurred in binding
to the result set.

The statement might not be prepared yet. Call ixSQLStmt::prepare() before
calling this function.

-50969 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::getTypeInfo().

Ensure that the filters passed to the ixSQLConnect::getTypeInfo() are
correct. Ensure that the ixSQLConnect::getTypeInfo() member function is
supported by the ODBC driver by calling ixSQLConnect::getFunctions().
Call ixSQLConnect::SQLError() for ODBC error information.

-50970 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::getInfo().

Ensure that the filters passed to the ixSQLConnect::getInfo() are correct.
Ensure that the ixSQLConnect::getInfo() member function is supported by
the ODBC driver by calling ixSQLConnect::getFunctions(). Call ixSQLConnect::SQLError()
for ODBC error information.

-50971 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::getFunctions().

Call ixSQLConnect::SQLError() for ODBC error information.

-50972 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::getConnectOption().

Ensure that the filters passed to the ixSQLConnect::getConnectOption()
are correct. Ensure that the ixSQLConnect::getConnectOption() member function
is supported by the ODBC driver by calling ixSQLConnect::getFunctions().
Call ixSQLConnect::SQLError() for ODBC error information.

-50973 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::driverConnect().

Ensure that the filters passed to the ixSQLConnect::driverConnect() are
correct. Ensure that the ixSQLConnect::driverConnect() member function
is supported by the ODBC driver by calling ixSQLConnect::getFunctions().
Call ixSQLConnect::SQLError() for ODBC error information.

-50974 [Informix][Connectivity Class Library]Error occurred in disconnecting
from DBMS. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50975 [Informix][Connectivity Class Library]Error occurred in connecting
to DBMS. Call ixSQLConnect::SQLError() for ODBC error information.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50976 [Informix][Connectivity Class Library]Error occurred in creating
ixSQLConnect::columns() result.

Ensure that the filters passed to the ixSQLConnect::columns() are correct.
Ensure that the ixSQLConnect::columns() member function is supported by
the ODBC driver by calling ixSQLConnect::getFunctions(). Call ixSQLConnect::SQLError()
for ODBC error information.

-50977 [Informix][Connectivity Class Library]Error occurred in ixSQLConnect::browseConnect().

Ensure that the ixSQLConnect::browseConnect() member function is supported
by the ODBC driver by calling ixSQLConnect::getFunctions(). Call ixSQLConnect::SQLError()
for ODBC error information.

-50978 [Informix][Connectivity Class Library]Error occurred in freeing
connection.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50979 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::getResultSchema() member function was called before the
ixSQLStmt was prepared.

Call ixSQLStmt::prepare() before ixSQLStmt::getResultSchema().

-50980 [Informix][Connectivity Class Library]Invalid Parameter in
ixSQLStmt::setParam().

The position number passed to ixSQLStmt::setParam() is not valid, or the
ixRow passed to ixSQLStmt::setParams() is NULL.

-50981 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::setParam() member function was called before the ixSQLStmt
was prepared.

Call ixSQLStmt::prepare() before ixSQLStmt::setParam().

-50982 [Informix][Connectivity Class Library]Invalid parameter passed
into ixSQLStmt::fetchInto().

The ixRow passed into ixSQLStmt::fetchInto() may be NULL or the length
of the ixRow is not the same as the result schema or the data types of
the ixValues in the ixRow do not match the result schema. Call ixSQLStmt::allocateRow()
and pass the ixRow returned to ixSQLStmt::fetchInto().

-50983 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::fetchInto() member function was called before the ixSQLStmt
was prepared.

Call ixSQLStmt::prepare() before ixSQLStmt::fetchInto().

-50984 [Informix][Connectivity Class Library]Type returned from database
not recognized.

Check the database schema and ensure that all of the results selected
map to a NewEra ixValue data type. If a data type does not map, remove
it from the SELECT clause.

-50985 [Informix][Connectivity Class Library]Error occurred in memory
allocation. Free memory and try again.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50986 [Informix][Connectivity Class Library]Error occurred in ODBC
driver. Call ixSQLConnect::SQLError() to get more info.

Correct all other processing errors. Try a different ODBC driver. If the
error recurs, please note all circumstances and contact Informix Technical
Support.

-50987 [Informix][Connectivity Class Library]Some placeholder parameters
in the SQL statement were not set.

For each «?» in the SQL string, call ixSQLStmt::setParam() after the statement
has been prepared.

-50988 [Informix][Connectivity Class Library]Option not supported
in ixSQLStmt::free().

The option parameter passed to ixSQLStmt::free() was not a valid option.

-50989 [Informix][Connectivity Class Library]Cursor name truncated
in ixSQLStmt::setCursorName().

A cursor name was longer than the maximum length. The maximum length for
cursor names depends on the database server. In Informix Dynamic Server
2000, the maximum length is 128 characters. In other Informix database
servers, the maximum length is 18 characters.

To avoid truncation, use a cursor name that does not exceed the maximum
length.

-50990 [Informix][Connectivity Class Library]Invalid cursor name
passed to ixSQLStmt::setCursorName().

The value of «name» passed to ixSQLStmt::setCursorName() is NULL.

-50991 [Informix][Connectivity Class Library]Parameter number out
of range in ixSQLStmt::setParam().

The parameter number is either less than zero or greater than the number
of «?» place holders.

-50992 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::numResultCols() member function was called before the
ixSQLStmt was prepared.

Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::numResultCols().

-50993 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::rowCount() member function was called before the ixSQLStmt
was executed.

Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::rowCount().

-50994 [Informix][Connectivity Class Library]Operation not supported
on member function for the ixSQLStmt returned from ixSQLConnect::columns().

The ixSQLStmt returned from ixSQLConnect::columns() provides limited functionality
for fetching the column information. To accomplish this, perform a NEW
operation on an ixSQLStmt and use it.

-50995 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt describeCol() member function was called before the ixSQLStmt
was prepared.

Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::describeCol().

-50996 [Informix][Connectivity Class Library]Column out of range
in call to ixSQLStmt::describeCol().

The column requested is either negative or greater than the number of
columns in the result set.

-50997 [Informix][Connectivity Class Library]Function sequence error:
The ixSQLStmt::describe() member function was called before the ixSQLStmt
was prepared.

Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before calling ixSQLStmt::describe().

-50998 [Informix][Connectivity Class Library]Operation not supported
on the member function for the ixSQLStmt returned from the ixSQLConnect::tables()
member function.

The ixSQLStmt returned from ixSQLConnect::tables() provides limited functionality
for fetching the table information. To accomplish this action, perform
a NEW operation on an ixSQLStmt and use it.

-50999 [Informix][Connectivity Class Library]Option not supported
in ixSQLConnect::transact().

The option passed to ixSQLConnect::transact() is not supported.

-51000 Please select another directory.

You can have only one project per directory. Place each NewEra 3.0 project
in a directory that does not contain another NewEra 3.0 project. Also,
the directory in which you place a new project cannot be a subdirectory
of another project, and it cannot contain the project of another directory.

For example, if proj1 is under c:all projectsproj1, and you create
proj2, you cannot place proj2 in the following directories:

  • c:all projectsproj1, which is the same directory as another project,
    proj1
  • c:all projectsproj1proj2, because the proj2 directory is a subdirectory
    of proj1
  • c:all projects, the proj2 directory that contains the proj1 directory

Following are two valid choices:

  • c:all projectsproj2
  • d:some directoryproj2

-51001 Please select a different name.

A component with the same name already exists. Each component in a NewEra
3.0 project must have a unique component name. If the component is a library,
it is a good idea to keep the name unique across projects so that a component
does not use two different libraries with the same name.

-51003 Please select a different name.

A project with the same name already exists. In each private workspace,
a NewEra 3.0 project must have a unique name. A project is uniquely identified
by its name.

-51004 The name you entered is not a valid filename.

The filename entered does not follow the Windows NT and Windows 95 rules
for valid filenames. For more information regarding valid Windows filenames,
read the Windows NT or Windows 95 user guide.

-51005 The component you selected has the same name as an existing
component in the current project.

Use a name that has not already been used in this project. Each component
in a NewEra 3.0 project must have a unique component name. To copy a component
from another project to your currently open project successfully, you
must provide a unique name for the current project component. Enter the
unique name for the component in the Name text box.

-51006 The directory you specified is invalid. It may contain invalid
characters, drives, or paths, or be too long. Please enter a valid directory
name.

The directory name entered does not follow the Windows NT and Windows
95 rules for valid directory names. For more information regarding valid
Windows filenames and directory names, read the Windows NT or Windows
95 user guide.

-51008 The directory path you entered does not exist, and it cannot
be created.

Enter a valid name for the directory. The directory you specified could
not be created. Possibly you specified a nonexistent drive or invalid
directory name, you ran out of disk space, or an operating-system failure
occurred.

-51009 An error has occurred while trying to access the specified
directory.

Try again or enter a different directory name. The directory that you
specified could not be accessed. Possibly the directory is on a network
drive that is not currently connected, the default directory was removed
from outside the Application Builder (a known Windows 95 problem), or
an operating-system failure occurred.

-51011 You must provide a filename to be able to complete the operation.

In order to create a new project, you must give it a name.

-51012 The component name you entered is invalid.

Verify that the name does not contain invalid characters or exceed the
length limit, as specified in your Windows NT or Windows 95 user guide,
and enter the component name again. A component name must be a valid filename.

-51013 You cannot add files to a component if the files reside in
a directory which is not under the project directory that the component
belongs to.

All project files must be located in a subdirectory of the project directory
or the project directory itself. You cannot add a file to a component
or to the project if it is not contained within the project directory.
You can include files that do not belong to your project, but you cannot
add them to your component.

-51014 The directory you specified is under project name. Please
enter a directory that neither contains nor is contained by another
project.

You can have only one project per directory. Each NewEra 3.0 project should
be placed in a directory that does not contain another NewEra 3.0 project.
Also, the directory in which you place a new project cannot be a subdirectory
of another project, and it cannot contain the project of another directory.

For example, if proj1 is under c:all projectsproj1, and you then
create proj2, you cannot place proj2 in the following directories:

  • c:all projectsproj1, which is the same directory as another project,
    proj1
  • c:all projectsproj1proj2, because the proj2 directory is a subdirectory
    of proj1
  • c:all projects, the proj2 directory that contains the proj1 directory

Following are two valid choices:

  • c:all projectsproj2
  • d:some directoryproj2

-51015 Repository error. Either retrieval of information stored in
the repository failed or performing an action in the repository failed.

An error occurred in one of the dynamic libraries that the Application
Builder uses to access the private workspace.

-51016 You cannot remove the currently open project. Please close
the open project and then remove it.

A project cannot be removed while it is open and accessed by a user and
other processes. To detach any connections to the current project, it
must first be closed.

-51018 The project directory you specified is a subdirectory of a
directory that does not exist.

Either create the base directory or select a different directory for the
project. Application Builder creates a project directory only if the base
directory exists.

-51019 The selected item cannot be checked out because it is currently
checked out by another user.

Only one user can have a file or project locked at one time. If the file
or project does not show a padlock icon, you might have an out-of-date
version. Try reloading the file or project to see an updated view of it,
or open the File Versioning or Project Versioning dialog box and look
in the shared workspace tree view to see the latest version information.
Using the tree view lets you avoid downloading the latest version of the
file or project unnecessarily.

-51020 A file with the name filename already exists in the component
and cannot be added. Please rename the file if you wish to add it. To
continue, press OK. To terminate the operation, press Cancel.

Each component can contain only uniquely named files. Otherwise, the binaries
generated from the same-named source files would overwrite each other.

-51021 The library name is already used by the component and cannot
be added again. To continue, press OK. To terminate the operation, press
Cancel.

You can include a library for reuse in a component only once. You receive
link-time errors or warnings if you try to link in more than one copy
of the same library.

-51022 Project name is currently open!

The project is already open, and it cannot be opened a second time.

-51023 File filename could not be downloaded.

To continue downloading the rest of the files, click Yes. To terminate
the copy operation, click No. The file could not be fetched from the shared
workspace, and the file is not present on the disk. The loading possibly
failed because of network errors or other archive errors.

-51024 The file filename already exists in directory name and cannot
be copied over.

A file with the same name exists in the directory where you want to copy
the files that belong to the copied component.

-51025 A disk error occurred while copying file filename. To continue
with the other files, select Yes. To terminate the copy operation, select
No.

The disk copy of the file failed. Possible causes include insufficient
disk space, an inaccessible drive, a network failure, a read-only file
with the same name already existing in that directory, no write permissions
to that disk area, or an unknown disk system error.

-51026 The creation of the component failed!

Application Builder could not create the component because an error occurred
in one of the dynamic libraries that Application Builder is using to access
the private workspace.

-51027 Failed to add the new component to the current project.

Application Builder could not add the component to the project because
an error occurred in one of the dynamic libraries that Application Builder
is using to access the private workspace.

-51028 The component directory must be a subdirectory of the project
directory.

All components and files that belong to a project must be placed in a
directory that is under the project directory or the project directory
itself.

-51029 An error occurred while parsing a filename. Terminating operation.

An internal error occurred while parsing the full filename of the file
into the project directory and offset file path. Either the application
has become unstable or a corruption exists in the private workspace. Close
Application Builder and attempt the operation again.

-51032 The file filename could not be removed. Continue with removing
the rest of the files?

Application Builder could not remove the file from the component because
an error occurred in one of the dynamic libraries that Application Builder
is using to access the private workspace.

-51033 Version information corrupted. Operation cancelled.

The version information stored in the archive system is not correct. Application
Builder cannot continue the operation because it depends on the version
information to be consistent.

Some possible causes for the corruption include the following:

  • The version control system was changed after the archive was created.
  • Archive files were modified without using RSAT or Application Builder.
  • A disk crash or other disk corruption occurred on the disk system
    that stores the archive.
  • The network connection is unreliable.

-51034 You removed a header file that is declared as a distribution
header.

Either remove the file from the distribution headers list or add the file
in the sources list. The list of exported header files contains headers
that you removed from the source files list.

A header can be exported only if it is part of the component. If you
need the header, add it again to the list of sources. If you do not
need the header, remove it from the list of distributed headers.

-51035 Repository error during checkout or refresh.

Application Builder failed to check out or load the project or file because
an error occurred in one of the dynamic libraries that Application Builder
is using to access the private workspace.

-51036 Failed to create directories required to copy file filename.
To continue copying the rest of the files, select Yes. To discontinue
file copying, select No. The directories could not be created.

Possibly you specified a nonexistent drive or an invalid directory name,
you ran out of disk space, or an operating-system failure occurred.

-51037 Failed to create the directories associated with project name.

Possibly you specified a nonexistent drive or an invalid directory name,
you ran out of disk space, or an operating-system failure occurred.

-51038 Report failed.

Verify that the file you specified is valid and that it is in a writable
directory. PVCS failed to create a report file. Possible reasons for the
failure might be an invalid directory name or filename, a read-only file
system, or an internal PVCS failure.

-51039 No repository configuration information in the registry.

Exiting Application Builder requires certain entries in the registry to
be able to access private and shared workspaces. The NewEra 3.0 installation
program and RSAT create these entries. Informix recommends that you use
RSAT to access the registry entries rather than try to modify them. Entries
that Application Builder requires are a private workspace name, an archive
system type, and a shared workspace name and location.

-51040 The project directory could not be set in the project object.
Cannot create project.

An internal error prevents Application Builder from setting the directory
property of the project in the private workspace. A project cannot be
created unless all its properties are set correctly.

This error occurred in one of the dynamic libraries that Application
Builder uses to access the private workspace.

-51043 The directory name is not in a subdirectory of any of the
local projects. Please select directories that belong to local projects.

All files and components of a project must reside in directories that
are under the project directory.

-51045 The project is invalid.

An internal private workspace error occurred. Possible causes are a corrupted
repository database, an unstable computer condition, or an unstable network
connection if the private workspace resides on another computer. Close
and restart the Application builder, or reboot the computer and attempt
the operation again.

-51046 Undo check out failed.

The failure occurred in one of the dynamic libraries that Application
Builder uses to access the private and shared workspaces.

-51047 You cannot snapshot a project with locked files. File filename
is locked.

To snapshot a project, all its files must be checked in so that file versions
saved with the project are not modified.

-51051 Illegal character in directory name.

An invalid character was used for a UNIX directory name.

-51052 Could not access directory name. Program could not be run.

The directory where the program is located could not be accessed. Possibly
the directory is on a network drive that is not currently connected, the
default directory was removed from outside Application Builder (a known
Windows 95 problem), or a disk system failure occurred.

-51053 Executable could not be found.

The program could not be found because it has not been built, the build
did not complete successfully, or the executable was removed. Rebuild
the program to run it.

-51056 Failed to create process and run program. Internal error while
trying to create new process to run the program.

Rebuild the program or close and restart Application Builder. Probably
an operating-system error occurred.

-51057 Failed to unlock one of the locked files-cannot remove project.

You can remove a project only if none of its files are locked. If an attempt
to release a lock fails, the project is not removed. The failure occurred
in one of the dynamic libraries that Application Builder uses to access
the private and shared workspaces.

-51058 There were errors while removing the project files. Do you
want to continue removing the project?

Disk errors occurred while removing the project files. Source files might
still be left on your hard disk after the project removal is complete,
which is not serious.

-51060 You are about to use static library name in p-code. This will
result in runtime errors. Do you want to use name?

You can only link a dynamic link library (DLL) to p-code. If you link
a static library, you receive runtime errors. Change the library to a
DLL (if possible) and link again if you need this library.

-51061 Attempt to retrieve values from the registry failed.

Your registry might be corrupted. Exit the application and re-install
NewEra.

-51062 Could not retrieve registry entries.

Possibly the registry was corrupted, it was edited incorrectly, or the
installation program did not complete the installation of NewEra 3.0 successfully.

Reboot the computer and try again.

-51063 Repository corruption. Object IDs do not return valid pointers.
Exiting the application.

An internal error occurred in one of the dynamic libraries that Application
Builder uses to access the private workspace.

-51064 System ran out of memory. Exiting.

Insufficient memory exists in the system to allocate a buffer for build
results. To free some memory, close the applications that you do not need.

-51065 Attempt to convert directory path pathname to UNC failed.

Ensure that each local drive that contains a project defined in your private
workspace (the INFORMIX project included) is shared. Application Builder
requires conversion of pathnames to the same format to ensure that no
two projects reside in the same directory or in directories contained
by directories of other projects. To convert a directory that is on a
local drive to a UNC path, that drive or directory must be a shared directory.
Use the Windows Explorer to share the drive or the directory or make it
shared to only yourself if you do not want others to have access to it.

-51066 The directory of project name could not be retrieved, or it
is empty.

This internal error is probably due to private workspace corruption. Reboot
the computer. If rebooting does not eliminate the problem, re-create your
private workspace.

-51067 The directory you entered contains project name. Please enter
a directory that neither contains nor is contained by another project.

You can have only one project per directory. Place each NewEra 3.0 project
in a directory that does not contain another NewEra 3.0 project. Also,
the directory in which you place a new project cannot be a subdirectory
of another project, and it cannot contain the project of another directory.

For example, if proj1 is under c:all projectsproj1, and you then
you create proj2, you cannot place proj2 in the following directories:

  • c:all projectsproj1, which is the same directory as another project,
    proj1
  • c:all projectsproj1proj2, the proj2 directory that is a subdirectory
    of proj1
  • c:all projects, that the proj2 directory contains proj1 directory

Following are two valid choices:

  • c:all projectsproj2
  • d:some directoryproj2

-51068 The specified drive does not exist.

A path that you entered or a path retrieved from the private workspace
does not exist. If you used any network drives, confirm that they are
connected and mapped to the same drive name.

-51069 Operating system error. Default directory invalid and root
of drive of default directory cannot be accessed.

A possible cause of this error is the removal of the default directory
and drive while the processes were running. This error is a Windows 95
defect.

To clean the internal Windows cache that stored the deleted directory
as the default directory, close the application and reopen it.

-51070 A project in private workspace has corrupted directory attribute.
Validation of directory location cannot continue.

This internal error is probably due to private workspace corruption. Reboot
the computer. If rebooting does not eliminate the problem, re-create your
private workspace.

-51072 File was not found on disk and it could not be downloaded
because it is either new or locked by you. Continue without the file?

To continue downloading the rest of the files, select Yes. To terminate
the copy operation, select No. The file could not be fetched from the
shared workspace, and the file is not present on the disk. Possibly the
loading failed because of network errors or other archive errors.

-51073 Could not find launch.exe. Make sure that INFORMIXDIR is in
your path.

The NewEra 3.0 executable file launch.exe was not located in any directory
listed in your PATH environment variable. Make sure that the program exists
in the INFORMIXbin directory and that the directory is included in your
PATH environment variable.

-51074 Could not find nmake.exe. Make sure your path includes the
directory that contains the Microsoft VC++ binaries.

The VC++ executable file nmake.exe was not located in any directory listed
in your PATH environment variable. Make sure that the program exists in
the MSVC++bin directory and that the directory is included in your PATH
environment variable

-51075 Saved project state cannot be restored. The project state
registry entries are invalid.

The project that was open the last time you closed Application Builder
cannot be found in the private workspace. Either the private workspace
was modified outside of Application Builder, or you removed the project
and Application Builder terminated abnormally after the removal, or the
registry entries where Application Builder stores the state of the project
were inadvertently modified. Click OK to continue. Application Builder
will start without opening any project.

-51076 Main window dimensions and/or position values retrieved from
the registry are not usable in this resolution. If you did not change
resolution, then your registry entries may be corrupted and we recommend
that you re-install NewEra.

If you changed your monitor resolution between Application Builder sessions,
the stored dimensions of your main Application Builder window might not
be usable. If you did not change your monitor resolution, your registry
might be modified or corrupted. If you did not modify the registry, and
you get other registry-related errors, Informix recommends that you reboot
and re-install NewEra 3.0 to restore the registry entries.

-51077 The name you entered is the name of an existing directory.
Please enter a different name for the project makefile.

A file cannot have the same name as a directory when the file and the
directory have the same parent directory. Give your makefile a name that
is not the name of another file or directory.

-51078 A file with this name already exists. Overwrite?

The file that you specified or the file that is being copied is already
present in this directory. If you do not need the existing file, overwrite
it. Otherwise, rename the file or specify a different directory in which
to copy the files.

-51079 The Informix directory has not been correctly initialized.

Information required from the Informix project cannot be retrieved. Make
sure that you used RSAT to create your private workspace. If you did use
RSAT and you have used the private workspace without problems, reboot
your computer to clear any corrupted DLLs that are running. If the problem
still exists, probably your private workspace is corrupted.

-51080 Project name name exists in both the shared and private workspaces.
ou must either rename the project in the private workspace or cancel
the current operation.

A new project in your private workspace conflicts with a project name
that is checked in the shared workspace. Project names must be unique,
so give your local project a different name.

-51083 Cannot retrieve directory string for component name from repository.

An internal private workspace error occurred. Possible causes include
a corrupted repository database, an unstable computer condition, or an
unstable network connection if the private workspace resides on another
computer. Close and restart the Application Builder or reboot the computer
and attempt the operation again.

-51084 Could not remove makefile filename. Application Builder needs
to remove the makefile to create an updated one.

Make sure the file is not set to read-only. If it is not, then an unknown
disk system error has occurred. Close the Application Builder or reboot
the computer.

-51085 Makefile string for project name was retrieved empty.

This internal error is probably due to private workspace corruption. Reboot
the computer. If the problem still exists, re-create your private workspace.

-51086 Unable to retrieve session data from registry. Run RSAT and
make sure that you have created private and shared workspaces. Terminating
application.

Application Builder requires certain entries in the registry to access
private and shared workspaces. Both the NewEra 3.0 installation program
and RSAT create these entries. Informix recommends that you use RSAT to
access the registry entries rather than try to modify them.

Required entries in the Application Builder include the private space
name, archive system type, and shared workspace name and location.

-51087 Failed to initialize repository session. To create functional
private and shared workspaces, you must run RSAT. Terminating application.

Application Builder requires certain entries in the registry to access
private and shared workspaces. Both the NewEra 3.0 installation program
and RSAT create these entries. Informix recommends that you use RSAT to
access the registry entries rather than try to modify them.

Required entries in the Application Builder include the private space
name, archive system type, and shared workspace name and location.

-51088 The file filename is a binary file (.lib, .dll, .o, etc.)
that is already part of the project, and it cannot be added to the sources
list. To continue, select OK, to terminate the operation, press Cancel.

You attempted to add a binary file that is already part of the project
as a source file. This action is not allowed.

-51089 An internal error prevented the local copy(ies) of your unlocked
file(s) from being refreshed.

Possible causes might be network failure, disk problems, or repository
malfunction.

-51090 Check in of file filename failed.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private or shared workspaces.

-51091 Label name already exists. Labels must be unique for each
version.

You cannot use the same label twice. Labels are used to tag different
versions.

-51092 Check in of project name failed.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private or shared workspaces.

-51093 An attempt to add file filename1 failed because file filename2
is already part of the component, and an overwrite will occur during
a build. To continue adding any remaining files, press OK. To exit,
press Cancel.

Two files with the same stem name, such as filename.wif and filename.4gl,
both generate filename.ec, filename.c, and filename.obj when compiled.The
last one compiled overwrites the generated file of the other, so do not
use the same name for these files.

-51096 Object name has been checked out by another user.

Only one user can have a file or project locked at one time. If the file
or project does not show a padlock icon, your version might be out-of-date.
Reload the file or project to see an updated view, or open the File Versioning
or Project Versioning dialog box and look in the shared workspace tree
view to see the latest version information. Use the tree view to avoid
downloading the latest version of the file or project unnecessarily.

-51097 The file filename could not be retrieved from the repository.
To continue and remove any remaining files, press OK. Press Cancel to
exit.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private workspace.

-51098 Failed to remove filename from the component. To continue
and remove any remaining files, press OK. Press Cancel to exit.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private workspace.

-51099 Failed to remove component name.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private workspace.

-51100 Project name has been checked out by another user. To check
out this project’s files, press Yes. To terminate the operation, press
No.

Only one user can lock a project at a time. The project that you want
to check out is already checked out by another user. However, you can
lock any files that belong to the project and that are not locked by another
user.

-51101 You are about to add library name, which has been built for
a different version of Windows. This can result in link and/or run time
errors. Do you want to use name?

You can only link libraries built for the same operating system. You are
attempting to link a 16-bit library to a 32-bit component, or vv.

-51102 The project is invalid. It is checked out by you but it cannot
be found in the private workspace. Operation failed.

A project that you locked cannot be found in your private workspace. Verify
that you are connected to the correct pair of private and shared workspaces,
or, if you rebuilt your private workspace, that you provided clean-up
information in the archive that was tied to the removed private workspace.

-51103 The project name could not be registered in the shared workspace.
Check in cannot proceed.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private workspace.

-51104 This program requires library(ies) which are invalid. This
may be because the library(ies) have not been loaded to the private
workspace yet. The program cannot be launched under such conditions.

The program you are attempting to run has linked-in libraries that cannot
be found in the location specified by the link information. Probably the
libraries that you selected to link have been removed (or renamed) from
the project in which they were defined. Modify your component to contain
the correct libraries.

-51105 The shared workspace name could not be retrieved from the
registry. Make sure you have used RSAT to create a shared workspace(s).
To continue in disconnected mode, press OK. To exit the application,
press Cancel.

You did not specify a shared workspace. If this is unintentional, use
RSAT to create one.

-51108 The full path pathname exceeds the Win95 full path limit of
number characters. Please reenter either the directory or the name or
both.

Verify that what you specified was a single pathname. If the full pathname
exceeded the Windows 95 limit, specify a relative pathname whose total
number of characters is within the limit, or else reorganize your file
system so that the length of the full pathname does not exceed the limit.

-51109 Label exceeds the n character limit. Please reenter the label
text.

Verify that what you specified was a single label. If the text of the
label is too long, specify shorter text.

-51110 Option name exceeds the n character limit. Please modify option
and try again.

Verify that what you specified was a single option. If the number of characters
in the option is too large, specify a shorter option.

-51111 Comment string is longer than n characters long.

Verify that what you specified was a single comment string. If the number
of characters in the comment exceeds the limit, specify a shorter comment.

-51112 Undo Check Out of file filename failed. Continue with remaining
files?

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private and shared workspaces.

-51113 Failed to remove the project.

An error occurred in one of the dynamic libraries that Application Builder
uses to access the private and shared workspaces.

-51201 No rules mentioned under the key: name. Please check the installation.

Registry values are not correct. Either installation did not complete
success- fully or possibly you modified these values. If this problem
occurs repeatedly, reinstall the product. If the error still occurs, you
might need to contact Informix Technical Support.

-51202 Error encountered in making a backup file.

Whenever you modify the definition of the component or try to generate
the makefile, Application Builder tries to back up the currently existing
makefile to compname.mkb and creates a new makefile with the name compname.mak.
If you encounter an error while you attempt to create a backup file, it
might occur for any of the following reasons:

  • The disk might be full.
  • The backup makefile is opened by some other process.
  • The disk has become read-only.

-51203 Error in opening the makefile: filename.

An error occurred while opening a makefile to insert the make rules. This
error might occur for any of the following reasons:

  • The disk might be full.
  • The backup makefile is opened by some other process.
  • The disk has become read-only.

-51206 Unable to get the Include files list for the component name.
Please check the -H path.

Possibly you specified an invalid include directory in the NewEra Options
field of the Component Attributes dialog box. Otherwise, a possible corruption
in the repository needs to be verified.

-51208 Filename is a generated file from other component. Please
add the file to the current component.

No further information is available.

-51209 Filename dependent header file for source file filename missing
from the source list. Please add the file to the source list and regenerate
the makefile!

No further information is available.

-51213 Error from Dependency Generation while checking dependencies
for the file filename. Please check the component configuration.

This error is a warning. An error occurred while parsing the .4gl or .wif
file for dependent include header files. The compiler catches this error
when you compile this file. Application Builder emits a warning and continues
with the make/build process.

-51214 Project object is not valid. Please check the project information.

A repository error occurred. For more details from the repository/database
level, click Help.

-51215 Null component list for the current project.

This error occurs if you try to build a makefile for a project in which
there are no components.

-51216 Directory change is not successful.

Whenever you issue a build request, Application Builder changes its current
working directory to the component working directory and invokes the build
process from that directory. The error occurs when Application Builder
is unable to change the current directory to the component working directory.

This error can occur for the following reasons:

  • The directory is on a mounted drive, and the remote computer went
    down at the time of the build.
  • Directory read/search permissions are not set correctly on the
    referenced directory.
  • The current component directory does not exist. This situation
    should not occur unless you explicitly remove the directory outside
    Application Builder.

-51217 Removing include files for a given file.

A repository error occurred. For more details, click Help.

-51219 New ABfile creation failed for the file filename.

Creation of new repository object failed. For more details, click Help.

-51222 Error downloading binary file filename of use component filename
from project filename. Please build the missing library and rebuild
the current component.

You have a component that depends on libraries from other projects. Either
.lib or .dll of the libraries does not exist in the shared workspace.
Check these binaries before others can reuse these libraries and build
their components.

-51223 Project name is not loaded in the local workspace.

This error is handled by Application Builder to take further action. The
error can occur if you try to build a component that depends on other
components from different projects, but the other projects do not exist
in the private workspace. Application Builder prompts you to download
the required projects.

-51225 A directory with the name name exists. Please rename the makefile
name in Project Attributes dialog.

No further information is available.

-51226 Project name has a component with same name and same working
directory. Please change the project makefile name using Project Attributes
dialog.

Because component makefile names cannot be changed, rename the project
makefile using the Project Attributes dialog box.

-51227 Disk file filename does not exist. This file is new and was
never checked in.

This error probably occurred because you added a file to a component and
then removed the same file from the disk, and you are now trying to build
the component.

-51229 Loading file filename from CM system failed.

While trying to build a component, Application Builder detected a file
to be downloaded from the shared workspace. An error occurred while downloading
that file. For more details from the repository/database level, click
Help.

-51231 Component name is using library/imported library which does
not exist in project.

This error probably occurred because you tried to build a component from
another project, but the used component no longer exists in the external
project.

-51232 Use component name is no longer a library. Please modify the
use component list and rebuild.

This error probably occurred because you tried to build a component that
uses a component from another project, but the used component is no longer
a library in the external project.

-53002 Dynamic close of shared library failed: name.

No further explanation is available.

-53003 The global variable name has been initialized multiple times.

Global variables can be defined several times, but only one declaration
can contain an initializing expression.

-53004 A reference had been added to an object during its destruction.

This error could leave the partially destroyed object in an inconsistent
state. Examine all !destroy( ) methods for object assignments that might
reference the self object.

-53501 Either the fglapps file is not found or it does not have read
permission.

Verify that the environment variable INFORMIXFGLAPPS on the server specifies
the fully qualified name of the fglapps file or that the fglapps file
resides in the default location ($INFORMIXDIR/etc/newera). If the fglapps
file is in place, verify that it has the correct file permission.

-53502 Either the application server executable is not found or it
does not have read permission.

Verify that the CommandLine entry in the fglapps file points to a valid
application server executable. If the executable is in place, verify that
it has the correct file permission.

-53503 Interprocess communication resources are not available.

A problem occurred in obtaining enough resources to allocate shared memory.
Check the shared-memory resources of the system.

-53504 Application server was aborted at start up.

The executable that is specified in the CommandLine entry of the fglapps
file is not a partitioned application server.

-53505 There is no section in the fglapps file for the specified
application server.

The client application has requested a service name that the server does
not recognize. Verify that the client application is specifying the correct
server application name, and that the server configuration section is
specified correctly in the fglapps file.

-53506 There is no CommandLine entry in the fglapps file.

Verify that the configuration section for the specified application server
in the fglapps file contains the CommandLine entry.

-53509 Syntax error in the fglapps file.

When the client application attempted to instantiate a request manager,
the fglexec on the server host was unable to complete the processing of
the fglapps file. Examine the configuration section for the specified
application in the fglapps file for incorrect keywords or punctuation.

-53510 Data pool has overflowed.

The data that was sent to the server has exceeded its allocated pool storage
space. Try defining a larger value for the SMEMPoolKBytes entry of the
fglapps file, or try reducing the total size of the parameters in the
call or post to avoid exceeding the size that is specified for the SMEMPoolKBytes
entry.

-53511 Data queue has overflowed.

The number of events sent to the server has exceeded its allocated queue
storage space. Try defining a larger value for the SMEMQueueSize entry
of the fglapps file or reducing the number of events that are pending
at any one time.

-53512 Connection between application client and server has been
lost.

The network is down, or fglexecd has been terminated.

-53513 Network error — Could not start the fglexec executable.

A failure occurred in the network. Look for operating-system error messages
that might give more information. Verify that your fglexecd command has
the correct value in the -s option. Try restarting the application. If
the problem recurs, contact your system administrator, and ask for network
diagnostics to be run.

-53601 Handshake strings between application client and server are
mismatched.

Check the handshake strings for the application client and the application
server.

-53602 The corresponding responder object does not exist.

The requestor attempted to communicate with an unknown responder object.
Verify that the correct responder object is being created.

-53604 Application server terminated by executing the EXIT PROGRAM
statement.

The server executed the EXIT PROGRAM statement.

-53606 The specified event is not defined in the server application.

The requestor posted or called an event that is not defined in the corresponding
server class. Verify that the sequence of events that is defined in the
requestor class corresponds by name and sequence with the initial events
in the sequence that is defined in the responder class.

-53607 Application server process was killed either from the command
line or by some external process.

An external cause, not a NewEra runtime error, terminated the application
server process.

-53701 Syntax error in the connection string.

Check the connection string that is used in the ixASRequestMgr() constructor
parameter list.

-53702 Invalid (NULL) request manager.

The application server created an instance of a requestor object but provided
a NULL request manager. Verify that the specified requestor object is
associated with a valid request manager.

-53703 Incorrect service name.

The name that is specified for the service corresponds to the name of
an available service, but it is not the ASCL service. Examine your informix.ini
file for the SERVICE entry and verify that the name that is specified
is correct.

-53704 No connection established.

An error has occurred in a request to the server partition because no
server connection exists. A server connection must be made prior to any
requests to the server partition. Verify that a successful connection
has been made.

-54001 Cannot open object file filename.

The specified file cannot be opened. Check permissions on the file and
directory.

-54002 Cannot open archive file filename.

The specified file cannot be opened. Check permissions on the file and
directory.

-54003 Cannot open interpretable file filename.

The specified file cannot be opened. Check permissions on the file and
directory.

-54004 Cannot create object file filename.

The specified file cannot be created. Check permissions on the directory.
Check that disk space is available within the file system.

-54005 Cannot create archive file filename.

The specified file cannot be created. Check permissions on the directory.
Check that disk space is available within the file system.

-54006 Cannot create interpretable file filename.

The specified file cannot be created. Check permissions on the directory.
Check that disk space is available within the file system.

-54007 Invalid extension on file filename.

The specified file has an extension that is recognized but is not valid.
This error typically means a source file was specified on the command
line, or a C code system object file (library, …) was specified. FGLLIB
and FGLLINK deal only in .4ga, .4gi, and .4go files.

-54008 Cannot locate library file filename.

A library was specified using -lname, but the code could not locate the
library. If it exists, specify the directory where it is with the -L option.

-54009 Cannot remove interpretable filename.

The file is corrupted and should not be used. The interpretable file was
corrupted and could not be removed. This condition requires the directory
to be read-only and signals to arrive at inopportune moments. Try to reset
the directory permissions and rerun the command without sending any signals.

-54010 Cannot remove library name.

The file is corrupted and should not be used. The library was corrupted
and could not be removed. This condition requires the directory to be
read-only and signals to arrive at inopportune moments. Try to reset the
directory permissions and rerun the command without sending any signals.

-54011 Type mismatch on symbol name.

The specified symbol was referenced with one type and defined with a different
type.

-54012 Corrupt object file filename.

The specified file is not a valid object file.

-54013 Corrupt library file filename.

The specified file is not a valid library file.

-54014 Corrupt interpretable file filename.

The specified file is not a valid p-code file.

-54015 Could not seek on file filename.

The program was unable to seek on the specified file. This situation could
occur if the specified file was actually a FIFO or something equally obscure.

-54016 Signal name caught-exiting.

The specified signal arrived, and the program is exiting. Rerun the program.

-54017 Name: You must use one of the options -d, -r, -t, -u, or -x.

FGLLIB requires one of the specified options on the command line. Rerun
the program with one of these options specified. Specifying -l -r specifies
a library lib-r.4ga.

-54018 Name has run out of memory.

The program tried to allocate memory but failed. Release some system memory
(perhaps by exiting some programs or by removing some files from /tmp).

-54019 Internal error. This should not have occurred.

Report this error to Informix Technical Support.

-54020 I/O error while reading file filename.

An error occurred while reading the file. The system error information
(if any) might help diagnose the problem. Rerun the program. Use cat filename
> /dev/NULL on UNIX to see if the problem occurs outside the program.
If it does, suspect a faulty disk.

-54021 I/O error while writing file filename.

An error occurred while reading the file. The system error information
(if any) might help diagnose the problem. Rerun the program. A possible
cause is lack of disk space or a faulty disk.

-54022 Name: no object files were specified on the command line,
but at least one must be specified.

FGLLIB and FGLLINK sometimes require object files to be specified on the
command line, but in this case, none were specified. Either change the
options to the command, or add the missing object filenames. Also, check
the spelling of shell or make variables.

-54023 You already specified a partial or incremental link. You cannot
re-specify this with -i name.

FGLLINK accepts the -o and -i options, but only one of them can be specified
(once) for a given run. Change the command line and rerun the program.

-54024 You already specified a full or initial link with the -o option.
You cannot also specify a partial or incremental link with -i name.

FGLLINK accepts the -o and -i options, but only one of them can be specified
(once) for a given run. Change the command line and rerun the program.

-54025 Invalid p-code opcode detected in file filename.

The p-code file seemed to be valid but contained unexpected data. The
file is corrupt. Recompile it.

-54026 The p-code versions name1 and name2 are not compatible.

Two different files contain two different p-code versions, and the versions
are known to be incompatible. Recompile one or the other of the files.

-54027 Unknown p-code version name.

The p-code version detected in the file was not recognized by FGLLIB and
FGLLINK. Either you need to upgrade FGLLIB and FGLLINK, or you have some
file that looks like a p-code file but is not one.

-54028 Cannot locate object file filename.

The program searched for the specified file but could not find it.

-54029 Cannot locate interpretable file filename.

The program searched for the specified file but could not find it.

-54030 Cannot locate object file, library file, or interpretable
file corresponding to the name filename.

The program searched for the specified file but could not find it.

-54031 Cannot apply stat(2) system call to previously opened file
filename.

This problem is almost an internal error, but the system declined to allow
the program to do something to a file that it should do. Another program
might have removed the file or changed the permissions while this program
was working on it. You will probably not be able to repeat this problem.

-54032 Failed to close file filename correctly.

When the program tried to close the named file, it received an error.
If the file was being written, you might have run out of disk space (the
system error information, if any, might help). If a file was being read,
the cause of the error is not clear.

-54033 Filename is not a library file.

The specified file should be a library file, but is not. Change the command
line to specify a valid filename.

-54034 Filename is not an object file.

The specified file should be a library file, but is not. Change the command
line to specify a valid filename.

-54035 Filename is not an interpretable file.

The specified file should be a library file, but is not. Change the command
line to specify a valid filename.

-54036 Use only one of the options name.

FGLLINK accepts the -o and -i options, but only one of them can be specified
for a given run. Change the command line and rerun the program.

-54037 Unknown p-code library version name.

A library structure version field is in the libraries as well as the p-code
version information. The library structure version found in this library
is not recognized. Rebuild the library using the librarian from this computer.

-54038 File filename was not found in the library.

A file specified on the command line should be in the library but was
not. Check the contents of the library (-t option) and change the command
appropriately.

-54039 Cannot stat file filename. Check permissions on it.

A named file exists but could not be accessed. Either the directory or
the file permissions are too restrictive.

-54040 File filename was named more than once on command line.

A specific file was named twice on the command line. This situation is
never valid. Rerun the command after you delete one occurrence of the
name.

-54041 Library name is not writable.

The specified library cannot be modified.

-54043 The module name name has already been scanned but is needed
again.

To work with the debugger, the module names linked into the program must
all be unique.

Somewhere in scanning the object files and libraries, the same object
file name (excluding path information) needs to be read twice. Rereading
the same object file name twice confuses the debugger. It might lead
to confusion if an error is reported in this module.

-54044 Cannot create temporary file filename.

The program tried to perform the specified operation on a temporary file
but failed. A permissions problem or an unusual umask value (000) might
exist.

-54045 Cannot open temporary file filename.

The program tried to perform the specified operation on a temporary file
but failed. A permissions problem or an unusual umask value (000) might
exist.

-54046 Cannot remove temporary file filename.

The program tried to perform the specified operation on a temporary file
but failed. A permissions problem or an unusual umask value (000) might
exist.

-54047 Cannot close temporary file filename.

The program tried to perform the specified operation on a temporary file
but failed. A permissions problem or an unusual umask value (000) might
exist.

-54048 An object with name name has already been defined.

A second object is defined with the specified name. Find out where the
objects are defined the same way and remove one of the definitions.

-54049 Two libraries were named on the command line, but only one
is permitted. The second library was designated by name.

Two libraries were specified, but FGLLIB can work only on one in any given
run. Revise the command line.

-54050 Name: no input files were specified.

FGLLINK requires at least one object file or library file on the command
line.

-54051 Function name is also used as a report.

One piece of code calls the named function as a function; another piece
of code treats it as a report. One of them is wrong.

-54052 An I/O error occurred on fflush( ) on file filename.

An I/O error occurred, possibly because you ran out of disk space. The
system error information, if any, might help. Rerun the program if all
else fails.

-54053 Interpretable file filename is not writable.

This user cannot write the named file. Change the permissions, either
on the file or on the directory that contains the file.

-54054 You already specified a partial or incremental link with the
-i option. You cannot also specify a full or initial link with -o name.

You attempted to specify -o (or -i) twice on the FGLLINK command line,
which is not allowed. Change the command line and rerun the command.

-54055 You already specified a full or initial link. You cannot re-specify
this with -o name.

You attempted to specify -o (or -i) twice on the FGLLINK command line,
which is not allowed. Change the command line and rerun the command.

-54056 Interpretable file filename is not readable.

This user cannot read the specified file. Change the permissions, either
on the file or on the directory that contains the file.

-54057 Object file filename is not readable.

This user cannot read the specified file. Change the permissions, either
on the file or on the directory that contains the file.

-54058 Unexpected EOF reading file filename.

The program expected to read more of the file than exists on disk. The
named file is corrupt and should be re-created.

-54096 Name: unrecognized option -name.

The specified option is not a valid option for the command. Change the
command line and rerun the command.

-54097 Name: unrecognized option, character code name.

The specified option is not a valid option for the command, but the option
character is not a printable character. Change the command line and rerun
the command.

-54098 Name: no argument supplied for -name option.

The specified option requires an argument, but none was given. Add the
necessary argument to the command line and rerun the command.

-54099 Name: no argument supplied for option, character code name.

The specified option uses a nonprintable character and requires an argument,
but no argument was given. Add the necessary argument to the command line
and rerun the command. This message should not appear because all option
letters are printable.

-54100 The colNum property is out of range. It must be greater than
zero and less than or equal to numDisplayedCols.

No further information is available.

-54101 Negative values not allowed for this property.

Provide a positive value for this property. Check that the object is entered
in the system registry.

-54102 OLE initialization failed. Make sure that the OLE libraries
are the correct version.

An error occurred while Window Painter was initializing OLE Dynamically
Linked Libraries (DLLs), possibly because incorrect versions of the OLE
system DLLs are installed.

-54103 Failed to create object. Make sure the object is entered in
the system registry.

This error might be caused by unsuccessful memory allocation, or the object
might not be entered in the system registry.

-54104 Cut to clipboard failed.

An error occurred while Window Painter was cutting an object to the clipboard,
possibly because of unsuccessful memory allocation.

-54105 Copy to clipboard failed.

An error occurred while Window Painter was copying an object to the clipboard,
possibly because of unsuccessful memory allocation.

-54106 Failed to paste object from clipboard.

An error occurred while Window Painter was pasting an object to the clipboard,
possibly because the OLE compound file was not successfully created.

-54107 Could not initialize IPC.

Window Painter failed to be registered with the Dynamic Data Exchange
Management Library (DDEML). Incorrect use of DDE, unsuccessful validation
of a parameter by DDEML, or any internal error within DDEML could cause
this error.

-54108 The file named filename is not a valid WIF file.

The file is not a valid WIF file. Make sure that the file has correct
version information and is spelled correctly.

-54109 This ROF file is already imported on this window.

Would you like to refresh this ROF instead?

You already imported the ROF file. To reread the same ROF file, select
Refresh ROD from the File menu.

-54110 The ROF which is about to be exported is currently imported
on this WIF. If you proceed, the ROF file on disk will be updated. Do
you want to continue?

If you proceed, the ROF file on disk will be overwritten. Click Yes if
you want to overwrite changes; otherwise, click No.

-54111 Duplicate object name.

The ROF object name will be replaced by a unique name. Any handlers that
used the old name will need to be updated.

ROF OldName = filename1

NewName = filename2

Another object has the same name as the ROF object. This situation
is not allowed in Window Painter. The ROF object name will be replaced
by a unique name. Update any handlers that used the old name.

-54112 Object name is linked to a ROF. Continuing will statically
unlink the object from the ROF. The object remains unlinked as long
as the WIF is not reopened or refreshed. Do you wish to continue?

You imported a ROF file in the current window that contains more than
one object. You selected one of the objects and clicked Delete or Cut
or selected Delete or Cut from the Edit menu. If you continue the action,
the objects will be unlinked from the ROF.

-54113 Object name is linked to a ROF. Continuing will break this
link from the ROF, and the ROF will be unlinked from the WIF. Do you
wish to continue?

You imported a ROF file in the current window that contains only one object,
or you unlinked all the other objects except the current one. If you unlink
this object from the ROF, the ROF file will be unlinked. When you refresh
the ROF file, it will be unavailable.

-54114 Error opening bitmap in filename.

Window Painter could not open the bitmap file. Either it does not exist,
or it does not have read permissions.

-54115 Error reading bitmap in filename.

Window Painter could not read the bitmap file. It might be corrupted,
or it might not be in the proper format.

-54116 Unable to load: filename1 but was able to load: filename2.
The properties of this picture button should be updated if this is the
correct picture.

Window Painter was unable to load the bitmap as saved in the previous
WIF file but was able to load the bitmap when it searched in the current
WIF directory. If the picture appears incorrect, reassign the values to
the picture button properties.

-54117 Cannot perform Save As operation in this directory.

You created master-detail SuperTables in different WIF files and saved
them in the current directory. If you try to save one of the WIF files
with a different name in the same directory, you will break the consistency
of the master- detail relationship.

-54119 Detail SuperTable error.

An error in detail SuperTable operation occurred. For details, check the
message in the message box.

-54120 Error opening database name.

While adding or removing the detail SuperTable to or from the master SuperTable,
Window Painter could not open the database. Error -54119 is the title
for this message box, and this error (-54120) provides the explanation
of the error.

-54121 The are default handlers left in name may cause errors.

You unlinked the master-detail SuperTables. Window Painter generates default
handlers for a master SuperTable. Window Painter retains the handlers
because it does not know if they were edited. Remove them if necessary.
Errors could occur at runtime if the handlers refer to any object that
does not exist.

-54122 This ixMDSuperTable cannot be used for a detail table. Please
check on the following: The updateTable property is not set for this
ixMDSuperTable detail.

You selected this SuperTable to be the detail of the master SuperTable.
But Window Painter determines the relation by checking the updateTable
property, and you have not set the updateTable property for this SuperTable.
Set it and try again.

-54123 This ixMDSuperTable cannot be used for a master. Please check
on the following: The updateTable property is not set for this ixMDSuperTable.

The master SuperTable must have primary-key SuperFields. The updateTable
property must be set for the SuperTable that has primary keys. You selected
this SuperTable to be the master of the detail SuperTables. But Window
Painter determines the relation by checking the updateTable property,
and you have not set updateTable property for this SuperTable. Set it
and try again.

-54124 The following ixMDSuperTable(s) are not detail SuperViews:
name.

Those SuperTables must be defined as detail tables in relationships from
SuperView Editor.

-54125 Unknown command line option: name.

The command format is: ixwpconv [-n] [-s] filename

-54126 No WIF file name passed.

The command format is: ixwpconv [-n] [-s] filename

-54127 ROF files cannot be converted.

The Format Converter is used only to convert WIF files, not ROF files,
to NewEra files.

-54128 Insufficient memory to perform conversion.

The operating system ran out of memory. Either reboot the computer or
increase computer memory.

-54129 The SuperTable name is linked and deletion is disabled.

The linked SuperTables must be deleted together. Deleting one of a group
of linked SuperTables is not allowed.

-54130 The linked SuperTables of SuperTable name are not selected
and Export is disabled.

The linked SuperTables must be exported together in ROF files. Exporting
one of a group of linked SuperTables is not allowed.

-54131 The object has been deleted.

The matched object for this line was deleted in the WIF file, and you
cannot access it in Window Painter.

-54132 The handler has been deleted.

The matched handler for this line was deleted in the WIF file, and you
cannot access it in the corresponding handler in Language Editor.

-54133 The line number is beyond the end of the generated code.

The line number is beyond the end of generated NewEra code. The WIF file
contains no matched objects.

-54134 You can only jump to a line in a WIF file.

This error occurs when another NewEra component in the IDE requests a
jump to a line in a file type that does not support such actions. This
error occurs when the file associated with an object is not a WIF file;
for example, it is a ROF file or a WIX file.

-54135 Because the file has changed since the open, the line numbers
may not match the last build and the wrong line number may be selected.

This warning occurs when you try to jump to a line in the WIF file based
on line number information generated prior to changes that you applied.
For this warning to go away, do a build in Application Builder.

-54136 The clipboard is empty or there is insufficient memory for
this operation.

This error occurs when you perform a paste operation without a corresponding
cut/copy operation.

-54137 There has been an error parsing the data.

If Window Painter cannot correctly restore the contents of a WIF file
when that file is opened, quite possibly the file is corrupt. Restore
from a backup if a backup is available.

-54138 Cannot parse the data.

If Window Painter cannot correctly restore the contents of a WIF file
when that file is opened, quite possibly the file is corrupt. Restore
from a backup if a backup is available.

-54139 Property name: unable to read the value.

If Window Painter cannot correctly restore the value of an object property
from a WIF or a ROF file when that file is opened, quite possibly the
file is corrupt. Restore from a backup if a backup is available.

-54140 Illegal property attribute: name.

If Window Painter cannot correctly restore the value of an object property
from a WIF or a ROF file when that file is opened, quite possibly the
file is corrupt. Restore from a backup if a backup is available

-54141 Unable to create class: name.

If Window Painter cannot correctly restore the value of an object property
from a WIF or a ROF file when that file is opened, quite possibly the
file is corrupt. Restore from a backup if a backup is available

-54142 Cannot create temporary handler file: filename.

Window Painter creates a temporary file on disk for handlers. This error
occurs when that operation fails. Find out if enough space exists on the
hard disk that contains the directory to which the TEMP environment variable
points.

-54143 Cannot read temporary handler file: filename.

Window Painter creates a temporary file on disk for handlers. This error
occurs when a read operation fails on that file. Find out if enough space
exists on the hard disk that contains the directory to which the TEMP
environment variable points and if the file is visible and has read permissions
set.

-54144 Cannot delete temporary handler file: filename.

Window Painter creates a temporary file on disk for handlers. This error
occurs when it cannot delete this temporary file. Find out if enough space
exists on the hard disk that contains the directory pointed to the TEMP
environment variable. Make sure the file is visible and has read permissions
set. Find out whether any other application (such as an editor) has opened
the same file.

-54145 Object name is being used. Please use a unique name.

This error occurs when the Name property of an object has the same name
as that of another object in the WIF file.

-54146 The visual container for a SuperField must be a SuperTable.

You attempted to paste a SuperField into an object that is not a valid
container for a SuperField. A SuperField can only be contained in a SuperTable.
Make sure the target object to which you are pasting the Super- Field
is an ixSuperTable.

-54149 Delete primary keys?

You attempted to delete a primary key column from a SuperTable. Deleting
a primary key can break a master-detail relationship if one is present
or can prevent the SuperTable from getting updated properly at runtime.
Make sure that you want to take this action.

-54150 Resetting UpdateTable to NULL because SuperTable name has
no SuperFields which are primary keys.

No primary key column exists in the SuperTable. The update table is the
table from which the data that fills the SuperFields is obtained. The
UpdateTable property is valid only if you have the primary key of the
associated update table available as a SuperField in the SuperTable.

-54151 Invalid name property.

The value you entered for the Name property is not valid. The name property
value must not be empty.

-54154 No SuperFields pasted in the SuperTable. This may result in
errors in the program.

You created a SuperTable with no SuperFields/columns, which can result
in compilation or runtime errors in the program.

-54155 Error opening data source name.

The data source could not be opened. Make sure that the appropriate drivers
were properly installed or that the data source name was entered correctly.

-54157 Cannot copy/drop an ixSuperField to an ixSuperTable which
is from different SuperView.

The ixSuperField can only be copied/dropped to an ixSuperTable created
from the same SuperView.

-54158 Cannot copy/drop an ixSuperField from a SuperView to an ixSuperTable
from tables or vice versa.

The source of the ixSuperField being copied/dropped must be from the same
SuperView if the target location is an ixSuperTable created from a SuperView,
or the source must be from a table if the target location is an ixSuperTable
created from a table.

-54159 Cannot copy/drop an ixMDSuperField to an ixSuperTable or an
ixSuperField to an ixMDSuperTable.

The SuperField type must match the target SuperTable type.

-54160 ROF file missing from the directory of the WIF file.

The current WIF file includes ROF objects, but its linked ROF files are
not located in the same directory with the WIF file. A refresh cannot
be performed.

-54161 Cannot export the display grid. Select the SuperTable.

In order to export a grid SuperTable to a ROF file, you must select the
SuperTable, not the internal grid.

-54162 Cannot export the SuperFields.

You cannot export SuperFields alone without exporting their containing
SuperTable.

-54169 Mnemonic object name is not a current object.

The mnemonic object name must represent a valid current object in Window
Painter.

-54170 The SuperTable name is linked and moving is disabled.

You tried to move master and/or detail SuperTables that are linked. Move
is not allowed to a new window in this situation.

-54171 The SuperTable name has linked information and pasting is
not allowed.

You tried to paste master and/or detail SuperTables that are linked. Paste
is not allowed in this situation. Drag and drop is not allowed either.

-54172 The SuperTable name is linked and Copy is not allowed.

You tried to copy master and/or detail SuperTables that are linked. Copy
is not allowed in this situation.

-54173 Exceeding maximum grid size.

The maximum grid size is 100 rows. You exceeded this limit.

-54174 A top-level menu cannot have an accelerator.

You cannot assign an accelerator to top-level menu item.

-54175 A top-level menu cannot be a separator.

You are changing the menu title to a separator. A top-level menu item
should not be a separator.

-54176 A top-level menu must have notACheck menu state.

The file that you are trying to open or import is not a valid ROF file.
The syntax of the file is improper. Check the location, syntax, and name
of the ROF file.

-54177 The file named filename is not a valid ROF file.

This menu was a second-level menu, and now you want to make it a top-level
menu. Top-level menus must have the menuState property set to notAcheck.
Window Painter will set the menuState for you with this message box.

-54178 Unable to add SuperFields to detail table. The master table
name is missing required column name, needed to maintain.

You pasted master and detail SuperTables separately and are now trying
to link them. Although the updateTable properties match, the master SuperTable
does not contain the primary-key column through which the tables are linked
in the SuperView. To correct the problem, paste the primary key for the
table in the SuperTable and make the link again.

-54500 File, command, or drive is not valid.

The filenames entered in the command-line option are invalid, the command
entered is invalid, or the drive letter entered with the filename (for
PCs) is invalid. Make sure that no spelling errors or syntax errors appear
in the command. For the correct syntax, refer to Appendix E of the Development
Tools Reference.

-54501 Problem encountered with the input, output, or backup file.

The specified file cannot be read, opened, or created for some reason.
Check permissions on the directory. Confirm that disk space is available
within the file system.

-54502 Invalid mode entered.

Use «esql20» or «odbc20» if you are converting from NewEra 2.x to NewEra
3.0. Use «esql30» or «odbc30» if you are converting from NewEra 3.0 to
NewEra 2.x. The -m symbols must be followed by one of the following specifications,
depending on what you are trying to do:

  • If the symbol is esql20, convert source to CCL/INFORMIX 3.0.
  • If the symbol is esql30, convert source to CCL/INFORMIX 2.0.
  • If the symbol is odbc20, convert source to CCL/ODBC 3.0.
  • If the symbol is odbc30, convert source to CCL/ODBC 2.0.

-54503 Backup file could not be created. Check if the file already
exists or if the file permissions are incorrect.

The specified file cannot be created for some reason. Check the permissions
of the directory and the backup file. Also, verify that no file with the
same name already exists in the current directory.

-54505 Invalid argument given in the command line.

You used the wrong command-line syntax for CCLMIG. For the correct syntax,
refer to Appendix E of the Development Tools Reference.

-54506 One or more tokens on the following line could not be converted.

The cclmig utility did not convert the whole line or a part of the line
because of language restrictions. Check the line number and examine the
code.

-54507 getODBCErrorCode is called in this line. Please examine your
source code to determine if further modifications are required.

The cclmig utility did not convert the whole line because the code in
the line needs to be examined carefully before a modification is made.

-54508 Program died due to an internal processing error. This was
probably caused by a source code line exceeding 1024 characters.

The program was unable to handle the required processing. Check the input
filename for any discrepancies. Revise the source code so that no single
line exceeds 1024 characters.

-54509 Usage: name {-m esql|odbc} [-o ] inputfile

You used the wrong command-line syntax for cclmig. The -m option specifies
the mode, and the -o option specifies the output file. For the complete
syntax, refer to Appendix E of the Development Tools Reference.

-54620 INFORMIX-NewEra VCL/Character is not installed on this machine.

The command tried to use NewEra VCL/Character, which is not installed.
Install the separately purchasable product before you try to use it.

-54621 INFORMIX-NewEra VCL/Character is not supported on this computer.

The command tried to use NewEra VCL/Character, but it is not available
on this computer.

-54622 INFORMIX-NewEra VCL/Character does not support termcap on
this machine.

The command tried to use NewEra VCL/Character with termcap, but it is
not supported on this computer.

-54623 Option name requires an argument.

The specified option was not given the required argument.

-54624 Illegal suffix for shared library (name).

A shared library name was specified, but the suffix is not correct for
this system.

-54625 The name option is not supported on this machine.

The specified option is not supported on this computer.

-54626 Illegal suffix for executable file (filename).

The extension of the executable file is not valid. You accidentally specified
an object file instead of the .4ge file.

-54627 The name1 option cannot be used with the name2 option.

The two specified options are mutually exclusive, but you tried to specify
both. Change the command line and rerun the command.

-54628 File filename not found.

The specified file was not found. Check the command line to see if it
was correctly specified or if the file exists.

-54629 Unknown option name.

The specified option is not recognized.

-55227 Value of DBSERVERNAME configuration parameter retrieved from
reserved pages (‘server-name’) differs from value returned by SQL DBSERVERNAME
function (‘server-name’), INFORMIXSERVER ‘server-name’.

Using information about the specified INFORMIXSERVER in the $INFORMIXDIR/etc/.infos.DBSERVERNAME
file, onprobe attaches directly to the database server shared memory.
After onprobe attaches, it reads reserved pages from the initial chunk
of the root dbspace, based on the information in shared memory. Then onprobe,
as a regular SQL client, uses information in the $INFORMIXDIR/etc/sqlhosts
file to connect to the specified INFORMIXSERVER.

This message indicates that information in $INFORMIXDIR/etc/.infos.DBSERVERNAME
and $INFORMIXDIR/etc/sqlhosts regarding the specified INFORMIXSERVER
does not match.

One possible cause is that the definition of the specified INFORMIXSERVER
in $INFORMIXDIR/etc/sqlhosts has been changed after initialization to
values that refer to another database server instance.

-55235 Unknown shared memory mode ‘number’, or onprobe version does
not match database server version (INFORMIXSERVER ‘server-name’).

Verify that the database server is initialized and that its shared-memory
segment exists. Use the ‘oninit -V’ and ‘onprobe -V’ commands to check
versions of oninit and onprobe. The versions should be identical.

-55236 Shared memory is being initialized or aborted, or onprobe
version does not match the database server version (INFORMIXSERVER ‘server-name’).

Verify that the database server is initialized and that its shared memory
exists. Use the ‘oninit -V’ and ‘onprobe -V’ commands to check versions
of oninit and onprobe. The versions should be identical.

-55250 socket() failed.

The possible causes of this error include:

  • The TCP/IP networking subsystem is not up.
  • The table of open files for the system is temporarily full.
  • System buffer space is unavailable.

-55251 Could not translate service name ‘shost-name’, getservbyname(
) failed.

A service that was intended for use by DB/Cockpit must be defined with
the ‘tcp’ protocol name.

Service-name resolution follows this precedence:

1. NIS services map when NIS (Network Information Service)
is running. If you added a new service to the /etc/services file on
the NIS server, run the ‘ypmake’ command to update the services map.
Check whether the ‘ypcat services’ command returns the specified service.

2. File /etc/services on the local computer.

-55252 bind( ) using service ‘service-name’ failed.

Service-name resolution follows this precedence:

1. NIS services map when NIS (Network Information Service)
is running.

2. File /etc/services on the local computer.

The possible causes of this error are as follows:

  • The specified TCP address is already in use.

The port number intended for use by the onprobe server must
be unique. Use the ‘netstat -a’ command to verify that other applications
(including an already running onprobe) are not using the specified service
(port number).

Or, if you terminated the onprobe server while an oncockpit
client was connected, you might have to wait several minutes before
the TCP address is released.

  • The port number that is defined for this service is in the system
    reserved range (0 to 1023).
  • System buffer space is unavailable.

-55274 Could not translate host name ‘host-name’, gethostbyname(
) failed.

Host-name resolution follows this precedence:

1. The /etc/hosts file on the local computer

2. NIS hosts map when NIS (Network Information Service) is
running

Check whether the ‘ypcat hosts’ command returns the specified
host.

3. DNS data when DNS (Domain Name Server) is running

Check whether the ‘ping’ and ‘rlogin’ commands can access
the specified host.

-55276 connect( ) to host ‘host-name’ using service ‘service-name’
failed.

The possible causes of this error are as follows:

  • The onprobe server is not running on the specified host.
  • The onprobe server on the specified host uses a service other than
    specified.

Service-name resolution follows this precedence:

1. NIS services map when NIS (Network Information Service)
is running.

2. File /etc/services on the local computer. If onprobe and
oncockpit run on different computers, check whether the port number
assigned to the specified service in /etc/services files on these computers
matches.

  • The specified TCP/IP address is not available on this computer.
    Check whether ‘ping’ and ‘rlogin’ commands can access the specified
    host. The ‘ping’ command checks the ICMP network layer. The ‘rlogin’
    command checks the TCP network layer and specified host (but not specified
    service) availability.
  • Connection establishment timed out without establishing a connection.
    The connection requests queue of the onprobe server might be full.
    The maximum queue length is 5.
  • Unavailable system buffer space.

-55352 Unable to open display ».

If the DISPLAY environment variable is undefined (for instance, after
executing the rlogin or su command), define it.

If the X server access control facility is activated for this DISPLAY,
you might need to run the xhost command to allow connection
to the X server. You have to run the xhost command from the
local computer (as the DISPLAY environment variable specifies).

-55500 Usage: name [-u sharedlib] [-anyerr] program [program arguments]

The command-line syntax is incorrect. Specify the name of the runner (or
of the debugger) and the name of the program. If the program accepts arguments,
they must follow the name of the program. If the program requires a shared
library, you must precede the program name with -u and the name of the
library.

You can immediately precede the name of the program with -anyerr if
you want the global status variable reset when certain non-SQL operations
fail. The -anyerr option is equivalent to specifying WHENEVER ANY ERROR
in place of WHENEVER ERROR; see the description of the WHENEVER compiler
directive in the Language Reference.

-55501 The -V option must be used on its own with no other arguments.

To find out the version number of your software, enter the command, with
-V as the only command-line option. If you want to run the program with
or without any other command-line options, do not specify -V.

-55502 No program was specified.

If you want to run a NewEra program, specify its name.

-55503 Invalid option name.

You specified a command-line option that is unsupported. For the valid
options, consult the Development Tools Reference.

-55504 Option name requires an argument.

You specified a command-line option that requires an additional argument.
For the syntax, consult the Development Tools Reference.

-55900 Missing option list.

You specified a processor command-line option of -cc, -l, or -r and terminated
the option incorrectly. For information on how command-line graphics terminate
these options, see «Command-Line Conventions» on page 6 of the Introduction
or on-line help.

-55901 Unrecognized sub-option (option_name).

Text (option_name) following a colon (:) was not a valid suboption. For
information on which suboptions are valid with the option, see the on-line
help.

-55902 Incompatible file extension (file_extension) in option list.

For ESQL/C: You specified a processor command-line option of -cc -l, or
-r and terminated the option with an incorrect file extension. For information
on how command-line graphics terminate these options, see the INFORMIX-
ESQL/C Programmer’s Supplement for Microsoft Windows Environments or on-line
help.

For ESQL/COBOL: You specified a processor command-line option of -cb,
-l, or -r and terminated the option with an incorrect file extension.
For information on how command-line graphics terminate these options,
see the INFORMIX-ESQL/COBOL Programmer’s Supplement for Microsoft Windows
Environments or on-line help.

-55903 Processor type option conflict.

You specified more than one CPU-type command-line option (for example,
-cpu:i386 and -pm) that identifies the CPU type. Enter the esql command
again without the conflicting options.

-55904 Error in spawned program.

For ESQL/C: The esql command processor created a program (compiler, linker,
or resource compiler) that returned an error and caused esql to terminate.
Check the generated output to determine the error, resolve the error,
and run the esql command processor again.

For ESQL/COBOL: The esqlcobo command processor created a program (compiler,
linker, or resource compiler) that returned an error and caused esqlcobo
to terminate. Check the generated output to determine the error, resolve
the error, and run the esqlcobo command processor again.

-55905 Illegal character in filename, `file_name’.

The file file_name contains one or more invalid characters.

-55906 Run-time option conflict.

For ESQL/C: You specified more than one runtime option (for example, -runtime:libc
and -rt:d). Enter the esql command again without the conflicting options.

For ESQL/COBOL: You specified more than one runtime option (for example,
-runtime:mfrts32 and -rt:s). Enter the esqlcobo command again without
the conflicting options.

-55907 Subsystem option conflict.

For ESQL/C: You specified more than one subsystem option (for example,
-ss:c and -S:w). Enter the esql command again without the conflicting
options.

For ESQL/COBOL: You specified more than one subsystem option (for
example, -ss:c and -Sw). Enter the esqlcobo command again without the
conflicting options.

-55909 I/O error in file (file_name).

An I/O error occurred in the file file_name. Probably no space is available.
Increase available space and enter the command again.

-55910 Option (option_name) is no longer supported.

For ESQL/C: This release does not support the specified command-line option.
For valid options, check the INFORMIX-ESQL/C Programmer’s Supplement for
Microsoft Windows Environments.

For ESQL/COBOL: This release does not support the specified command-line
option. For valid options, check the INFORMIX-ESQL/COBOL Programmer’s
Supplement for Microsoft Windows Environments.

-55911 Unable to open the log file.

For ESQL/C: Unable to open the ESQL/C preprocessor log file. Probably
no space is available. Increase available space and enter the command
again.

For ESQL/COBOL: Unable to open the ESQL/COBOL preprocessor log file.
Probably no space is available. Increase available space and enter the
command again.

-55912 Incompatible file extension for -e option.

For ESQL/C: You specified the -e command-line option but did not specify
an ESQL/C source file (.ec file extension). Enter the command again, specifying
the name of the .ec file.

For ESQL/COBOL: You specified the -e command-line option but did not
specify an ESQL/COBOL source file (.eco file extension). Enter the command
again, specifying the name of the .eco file.

-55913 Missing target filename for `-o’ option.

You specified the -o command-line option but did not specify an output
file. Enter the command again, specifying the filename of the output file.

-55914 Incompatible file extension for `-c’ option.

You specified the -c command-line option but specified an incompatible
file extension. Enter the command again, specifying the name of the file
with a compatible file extension.

-55915 Missing name of log file for `-log’ option.

You specified the -log command-line option but omitted a filename for
the log file. Enter the command again, specifying the name of the log
file.

-55917 Compiler option conflict.

You specified more than one command-line option that identifies the compiler
type (for example, -mc and -bc). Enter the esql command again without
the conflicting option.

-55918 Missing name of source file list file for ‘-f’ option.

For ESQL/C: You specified the -f command-line option but omitted a filename
for the list of ESQL/C source files. Enter the command again, specifying
the name of the list file.

For ESQL/COBOL: You specified the -f command-line option but omitted
a filename for the list of ESQL/COBOL source files. Enter the esqlcobo
command again, specifying the name of the list file.

-55919 Application type option conflict.

For ESQL/C: You specified more than one application type option (for example,
-wd and -target:exe). Enter the esql command again without the conflicting
options.

For ESQL/COBOL: You specified more than one application type option
(for example, -wd and -target:exe). Enter the esqlcobo command again
without the conflicting options.

-55920 Cannot open ESQL response file ‘file_name’.

For ESQL/C: The esql command processor cannot open the specified ESQL
command-line response file. Verify that the name of the file after the
‘@’ option exists.

For ESQL/COBOL: The esqlcobo command processor cannot open the specified
ESQLCOBO command-line response file. Verify that the name of the file
after the `@’ option exists.

-55921 Unable to allocate memory.

For ESQL/C: ESQL cannot allocate memory. Terminate one or more applications
and enter the command again.

For ESQL/COBOL: ESQL/COBOL cannot allocate memory. Terminate one or
more applications and enter the command again.

-55922 Preprocessor detected error(s).

For ESQL/C: The ESQL/C preprocessor detected one or more errors, causing
the processor to stop. Correct the errors and rerun.

For ESQL/COBOL: The ESQL/COBOL preprocessor detected one or more errors,
causing the esqlcobo command processor to stop. Correct the errors and
rerun.

-55923 No source or object file.

You did not specify the name of a source or the program object file. No
files could be passed to the linker. Enter the command again, specifying
the name of the file(s) to pass to the linker.

-55925 Cannot open file ‘file_name’.

For ESQL/C: The esql command processor could not open the specified file.
If you specified the -f option, check that the source list file exists.
If -f was omitted, this error indicates that the processor cannot find
the necessary space to create some file.

For ESQL/COBOL: The esqlcobo command processor could not open the
specified file. If you specified the -f option, check that the source
list file exists. If -f was omitted, this error indicates that the processor
cannot find the necessary space to create some file.

-55926 Unable to spawn the compiler.

For ESQL/C: The esql command processor cannot start the compiler. Make
sure the directory that contains your C compiler is included in the PATH
environment variable.

For ESQL/COBOL: The esqlcobo command processor cannot start the compiler.
Make sure the directory that contains your COBOL compiler is included
in the PATH environment variable.

-55927 Unable to spawn the linker.

For ESQL/C: The esql command processor cannot start the linker. Make sure
the directory that contains your linker is included in the PATH environment
variable.

For ESQL/COBOL: The esqlcobo command processor cannot start the linker.
Make sure that the directory containing your linker is included in the
PATH environment variable.

-55928 Unable to spawn the resource compiler.

For ESQL/C: The esql command processor cannot start the resource compiler.
Make sure the directory that contains your resource compiler is included
in the PATH environment variable.

For ESQL/COBOL: The esqlcobo command processor cannot start the resource
compiler. Make sure the directory that contains your resource compiler
is included in the PATH environment variable.

-55929 Missing ESQL response file.

For ESQL/C: The esql command processor cannot locate the ESQL command-line
response file (specified after the ‘@’). Verify that the filename is correct.

For ESQL/COBOL: The esqlcobo command processor cannot locate the ESQLCOBO
command-line response file (specified after the `@’). Verify that the
filename is correct.

-55930 Too many parameters specified.

You exceeded the maximum number of parameters for the preprocessor, compiler,
linker (linker options or list of libraries), or resource compiler. Reduce
the number of parameters and run the command again.

-55931 No source file provided.

For ESQL/C: You have not provided the name of an ESQL/C source file. Possibly
you specified the -e option (preprocess only) and omitted the name of
an ESQL/C source file (.ec file extension). Possibly you specified the
-c option (preprocess and compile only) and omitted the name of an ESQL/C
source file (.ec) or C source file (.c).

For ESQL/COBOL: You have not provided the name of an ESQL/COBOL source
file. Possibly you specified the -e option (preprocess only) and omitted
the name of an ESQL/COBOL source file (.eco file extension). Possibly
you specified the -c option (preprocess and compile only) and omitted
the name of an ESQL/COBOL source file (.eco) or COBOL source file (.cbl).

-55932 File_name has incompatible file format.

The command-line response file file_name is too large. Decrease its size
and run the command again.

-55933 esql: error error_num: Multibyte filter detected error(s).

The ESQL/C multibyte filter has encountered one of the following conditions:

-Unable to initialize GLS library routines

-Unable to write to the source (.c) file when it renames
the file

-Unable to write to the output file

-Some other I/O error

Check the file permissions on the directory that contains your ESQL/C
source file to ensure that you have read and write permission. Also check
the file permissions on the ESQL/C source file itself to ensure that you
have read and write permission.

-66561 An unknown repository error has occurred.

An unknown error occurred in the repository.

-66562 A database error has occurred.

An error occurred while performing database operation. Use the finderr
application to look up the associated database error number.

-66563 The repository object accessed is not valid.

The repository accessed an invalid object. This error should never occur
by itself. To identify the problem, see the related errors.

-66564 An error has occurred in the external CM system.

An error occurred while performing an operation in the CM system. For
more information, see the CM error.

-66565 Error while reading filename from the project definition file.

The project definition file is corrupted. The repository is unable to
under- stand the project definition file format.

-66566 Error writing filename to the project definition file for
project.

An error occurred while writing to the project definition file. Check
for disk space and other file-system-related problems.

-66567 The session to the private workspace is invalid.

The connection to the private workspace was lost. Relaunch the tool and
try again. Check that database connectivity settings are correct.

-66570 A different project of the same name exists in your private
workspace. Project name1 in the private workspace comes from name2,
but project name1 in the shared workspace is from name3.

You have two projects with the same name. The project in the private workspace
is different from the one in the shared workspace. Remove the project
from the private workspace if you want to load the one in the shared workspace.
Or modify the shared workspace settings if you want to see, in the shared
workspace, the project that currently is in your private workspace.

-66571 Could not find version information for the object name.

The repository could not find the version information of the given object
in the shared workspace. Check for access to the shared workspace and
check to see if the shared workspace contains the archive files of the
given project or file.

-66572 Error refreshing local copy of file filename from the shared
workspace.

This error normally occurs when checking in a project. Verify that you
have enough disk space and check for other operating-system-related problems.

-66576 Failed to generate version report for file filename.

The version report could not be generated for the given file. Check to
see if PVCS is functioning correctly and if the shared workspace and the
specified archive are available and accessible.

-66577 Could not snapshot project name.

The repository could not snapshot the project. Check for a locked project
or files. Check for sufficient disk space in the following locations,
in this order:

1. The path specified by the TMP variable

2. If TMP is not set, the path specified by the TEMP variable

3. If TEMP is not set either, the current directory

4. The archive where the project is stored

-66578 Could not delete object name from shared workspace.

The specified object could not be deleted from the shared workspace archive.
Verify that the archive exists and is accessible. Check also to see if
any other process is using the archive.

-66581 Failed to open the project definition file filename.

The project definition file could not be opened. Check for operating-system
problems.

-66582 Error while reading the project definition file filename.

An error occurred while attempting to read the project definition file.
The project definition file is corrupted. Reload the project definition
file or a previous version of it.

-66583 Error while writing to project definition file filename.

An error occurred while attempting to write the project definition file.
Check for operating-system problems.

-66584 Could not seek to offset name in the project definition file
filename.

An error occurred while attempting to offset a location in the project
definition file. The project definition file is corrupted. Reload the
project definition file or a previous version of the project.

-66585 An error has occurred performing I/O on the project definition
file.

An unknown error occurred while trying to read or write to the project
definition file. Check for operating-system-related problems.

-66586 Error parsing line in the project definition file: filename.

An error occurred while parsing the project definition file. The project
definition file is corrupted. Reload the project definition file or a
previous version of it.

-66587 Feature not supported.

An unsupported feature of the CM system was accessed. This action represents
incorrect usage of the CM API.

-66588 An illegal argument was passed.

An illegal argument was passed to the CM API.

-66589 Cannot update configuration file.

The PVCS configuration file could not be updated. Verify that ifmxpvcs.cfg
exists in the INFORMIXDIRlib directory. Confirm also disk space and write
permissions in INFORMIXDIR.

-66590 Write error in external CM system.

The CM system was unable to perform a write operation. Check for operating-system
errors.

-66591 Unknown error in external CM system.

An unknown error occurred in the CM system. Verify correct installation
and operation of your CM system.

-66592 Illegal archive directory.

The archive directory specified is incorrect. Check for access and write
permissions to your archive directories.

-66593 Wrong permissions for archive file.

You do not have permissions to access the archive file. Check for CM and
operating-system permissions.

-66594 Could not load DLL name.

The specified DLL could not be loaded. Check to see if the DLL exists
and check that its location is in your path.

-66595 Unable to find function name in DLL name.

The DLL that was loaded does not contain the specified function. Verify
that the appropriate DLL is the first in the path and is the required
version.

-66596 No connection to external CM system.

The connection to the external CM system does not exist. Verify the CM
installation.

-66597 Archive cannot be found.

The archive that was specified for the operation was not found. Verify
that the directory is accessible.

-66598 Specified version of archive cannot be found.

The specified version of the object was not found in its archive.

-66599 Archive is locked.

A user locked the specified archive.

-66600 Archive not locked.

You did not lock the specified archive.

-66601 Specified version of archive locked.

A user locked the specified version of the archive.

-66602 Specified version of archive not locked.

You did not lock the specified version of the archive.

-66603 The external CM system has already been configured.

No further information is available.

-66604 Cannot set archive path.

Unable to set the archive path to the given location. Check configuration
of and access permissions to archive directories.

-66605 Cannot remove archive path.

The archive path for the given location cannot be removed. Check configuration
of and access permissions to the archive directories.

-66606 Archive path too long.

The external CM system is unable to handle an archive path this long.
Shorten the archive directory path.

-66607 Local file filename was not found.

The checked-out version of the file specified cannot be found. Confirm
that it exists and has the required access permissions.

-66608 Could not delete file filename.

The repository was unable to delete the file specified. Check for access
permissions and operating-system errors. Also, check to see if the file
is being used by another process.

-66609 Could not remove directory name.

The repository was unable to delete the specified directory. Verify that
the directory is empty or that none of the files in the directory are
being used by other processes.

-66610 Could not create directory name.

The repository could not create the directory specified. Check for access
privileges and operating-system errors.

-66611 Unknown error in external CM system.

An unknown error occurred in the CM system. Verify correct installation
and operation of your CM system.

-66612 There are no archives associated with the default shared workspace
name.

The default shared workspace does not have any archives associated with
it. Modify the definition of this shared workspace and add a writable
archive directory to it.

-66613 Project name is locked by user name.

Another user locked the project specified.

-66614 File name is locked by user name.

Another user locked the file specified.

-66615 The project name has locked files.

The project specified has some of its files locked.

-66616 Failed to delete database name.

The repository could not delete the given database.

-66618 Unable to add use component name1 to component name2.

The repository could not add the specified use component to the given
component. Check to see if the use component exists.

-66619 Project name not found in private workspace.

The project specified was not found in the private workspace.

-66620 Component name has different type in the repository.

The repository has a different type for a component of this name.

-66621 Component name of project name not found in private workspace.

The specified component was not found in the private workspace.

-66622 Could not remove object name from the private workspace.

The repository was unable to remove the specified object from the private
workspace. Check for database errors.

-66623 File filename of project name not found in private workspace.

The specified file could not be found in the private workspace.

-66624 Project name already exists in private workspace.

The specified project already exists in the private workspace.

-66625 Component name of project name already exists in private workspace.

The specified component already exists in the private workspace.

-66626 File filename of project name already exists in private workspace.

The specified file already exists in the private workspace.

-66627 Could not create project name in private workspace.

The repository was unable to create the project specified. Check for database
errors.

-66628 Could not create component name of project name in private
workspace.

The repository was unable to create the component specified. Check for
database errors.

-66629 Could not create file filename of project name in private
workspace.

The repository was unable to create the file specified. Check for database
errors.

-66630 Error downloading: filename.

An error occurred in downloading the specified file.

-66631 The project name cannot be found in the shared workspace.

The specified project was not found in the shared workspace. Check the
shared workspace configuration. Check also for CM mismatches, for access
to the shared workspace directories, and for project name conflicts.

-66632 The component name of project name cannot be found in the
shared workspace.

The specified component was not found in the shared workspace. Find out
whether the component exists in the current version of the project. Also
check the shared workspace configuration and check for CM mismatches and
for access to the shared workspace directories.

-66633 The file filename of project name cannot be found in the shared
workspace.

The specified file was not found in the shared workspace. Find out whether
the file exists in the current version of the project. Also check the
shared workspace configuration and check for CM mismatches and for access
to the shared workspace directories.

-66634 The project name already exists in the shared workspace.

The specified project already exists in the shared workspace. Rename your
project and try again.

-66635 The component name of project name already exists in the shared
workspace.

The specified component already exists in the shared workspace.

-66636 The file filename of project name already exists in the shared
workspace.

The specified file already exists in the shared workspace. Rename the
file and try again.

-66637 Could not create the project name in the shared workspace.

The specified project could not be created in the shared workspace. Check
the shared workspace configuration, disk space, and access permissions.

-66638 Could not create component name of project name in the shared
workspace.

The specified component could not be created in the shared workspace.
Check disk space and access permissions.

-66639 Could not create file filename of project name in the shared
workspace.

The specified file could not be created in the shared workspace. Check
shared workspace configuration, disk space, and access permissions.

-66640 Could not check in project name in to the shared workspace.

The repository could not check in the specified project. Check related
errors. Also check shared workspace configuration, disk space, and access
permissions.

-66641 Could not check in file filename of project name into the
shared workspace.

The repository could not check in the specified file. Check related errors.
Also check shared workspace configuration, disk space, and access permissions.

-66642 Could not check out project name from shared workspace.

The repository was unable to check out the specified project. Check related
errors. Also check for disk space and access permissions in the project
root directory and the database directory.

-66643 Could not check out file filename of project name from the
shared workspace.

The repository was unable to check out the specified file. Check related
errors. Also check for disk space and access permissions in the project
root directory and the database directory.

-66644 Could not uncheckout project name from the shared workspace.

The repository was unable to uncheckout the specified project. Check related
errors.

-66645 Could not uncheckout file filename of project name from the
shared workspace.

The repository was unable to uncheckout the specified file. Check related
errors.

-66646 The directory name does not have write permissions.

The specified directory does not have write permissions for the user.

-66647 Could not create lock file filename.

The repository was unable to create a lock file in the shared workspace.
Check for disk space and access permissions in the shared workspace.

-66648 Project name has not been registered.

The new project specified was not registered with the shared workspace.

-66649 The file filename of project name is not checked in and is
not a generated file.

The project specified contains new files that are not generated and still
are not archived. This situation is inconsistent. Check to see if the
database is corrupted.

-66650 The session to the shared workspace is not valid.

Check for access permissions and shared workspace configuration.

-66651 The project name is locked by user name.

The given user locked the specified project.

-66652 The file filename of project name is locked by user name.

The given user locked the specified file.

-66653 The project name is not locked by you.

The current user did not lock the specified project.

-66654 The file filename of project name is not locked by you.

The current user did not lock the specified file.

-66655 The root directory name of project name does not exist or
is not accessible.

The root directory of the project in the private workspace is inaccessible.
Check if it exists.

-66656 The file filename of project name is not archived.

The file specified is not archived using the CM system.

-73002 Cannot issue a SQL statement in the secondary thread.

You need to define the user-defined routine as variant.

-73003 An invalid argument is specified.

Either the return type buffer is empty or the length of the buffer is
not valid.

-73018 Unsupported data type.

Check the file permissions on the directory that contains your ESQL/C
source file to ensure you have read and write permission. Also check the
file permissions on the ESQL/C source file itself to ensure you have read
and write permission.

First published in the Washington Area Informix User Group Newsletter
Volume 6, No. 2 — April 1996

This article defines some guidelines for error handling functions. An error handling function is the code that responds to a user or system generated error. There are two classes of errors: fatal errors and non-fatal errors. Events that prevent the continued operation of a program are fatal errors. An example can be a missing data file required for input. No processing may take place without this file and the program must abort. Events that can be corrected so that the program can continue are non-fatal. An example is a record locked by another user for update. The current process can wait or continue processing other records. This event does not require the process to abort.

Informix documents all events which can cause an error in the publication «Informix Error Messages». This is shipped with each product. Each error event is list in this document with its unique number and a description of the error.

Error Handling

Computer programs need a process for dealing with unexpected events that cause system failures. This process is the error handling function. There are two types or classes of errors; fatal errors and non-fatal alert messages. An error that prevents the continued processing of a program is a fatal error. An error that can be corrected so that the process can continue is a non-fatal error. Every program should have a logging process so that all errors are logged and all critical information can be reviewed at a later date.

1. Fatal Errors

When a fatal error occurs, a program needs to perform the following actions: inform the user or operator of the problem, perform any required post processing clean-up, log critical information about the error, and abort processing. There are also circumstances when a program may not be able to perform these actions. A power outage is an example of an error which causes all programs to completely stop without time for error handling to be performed. However, every program should have these error handling functions for errors that can be trapped and processed.

Operator Notification

The user or operator running the program needs to be notified that an error has occurred. The program should stop and require the user to read an error message before scrolling or clearing any messages off the screen. The error message should contain the Informix error number and a brief description of the error. Any information that the operator requires to correct the error should also be displayed. If the process is run in the background, a fatal error must be sent to a system assigned log.

Processing Clean-up

The program must halt all processing and, as much as possible, return the environment to the state before the program started. All temporary files or database tables must be removed. Any transactions that have not been committed must be rolled back.

Error Log

The program needs an error log. The log should contain some basic information about a successful run such as the date and time, the operator id, and any options selected by the operator. When an error occurs, the program should write an error message to the log. The error message needs to include the Informix error number and a one-line error text description. The log should contain the module name, line number of code, and any other information that is required to correct the error.

Abort Processing

A program needs to exit when it encounters an error event. The worst thing a program can do is to hang or continue to attempt to process in an endless loop.

Abort without Error Handling

There may be cases when a program cannot continue processing to perform an error handling function. A power or network outage where a program is killed will abort all error handling.

2. Non-Fatal Errors

Some error events are not fatal to a program. Every program needs an error handling processes to deal with non-fatal errors. The program requirements and design must identify what error events each program must be able to handle, and how it will handle each event. An example of a non-fatal error is a locked record. Before a program updates a record it must lock the record. If the record is already locked by another process, the new lock attempt will fail. This will cause an Informix SQL error. The program can wait for the record to be released or continue processing other records. The program must have a process to handle this type of error. The design specifications must describe what non-fatal errors should be trapped and how the program will respond to the error.

Partial List of Non-Fatal Informix Errors

The following is a partial list of Informix error events that are usually not fatal and can be planned for in the program design.

Error Number and Description
 100 Record Not Found.
-100 ISAM error: duplicate value for a record with unique key.
-107 ISAM error: record is locked.
-233 Cannot read record that is locked by another user.
-239 Could not insert new row - duplicate value in a UNIQUE INDEX column.
-250 Cannot read record from file for update.
-263 Could not lock row for UPDATE.
-271 Could not insert new row into the table.
-272 No SELECT permission.
-273 No UPDATE permission.
-274 No DELETE permission.
-275 No INSERT permission.
-288 Table table-name not locked by current user.
-289 Cannot lock table table-name in requested mode.
-329 Database not found or no system permission.
-378 Record currently locked by another user.
-387 No connect permission.
-908 Attempt to connect to database server failed.

Processing Non-fatal Errors

When an event occurs which is defined as a non-fatal error, the program should perform the following tasks: inform the operator of the event, perform any required event processing clean-up, log information about the event, and continue processing.

Informix SQL Errors

The Informix OnLine Database Engine maintains the status of every SQL statement in a data structure, SQLCA, that is available to programs. A program must check the result of SQLCA.SQLCODE after every database statement. A value of 0 indicates that there was no error. A value of 100 indicates that a record was not found. Negative numbers indicate an SQL error occurred.

Informix 4GL Error Handling

Informix 4GL maintains error information in two global variables: STATUS and SQLCA.SQLCODE. A negative number indicates that an error occurred. The 4GL program code will respond to an error depending on how the statement «WHENEVER ERROR» has been set in the program. The programmer must check these global variables after every critical statement to determine if an error event occurred and take the appropriate action.

The WHENEVER ERROR statement

The WHENEVER ERROR statement determines how a program will respond to an error. A program can have multiple WHENEVER ERROR statements so that different sections of code can trap and respond to errors differently. There are four options for this statement. The first option «WHENEVER ERROR GOTO» should never be used. The option «WHENEVER ERROR CALL function_name» should be used when one error handling function can meet all the requirements of a program. However, most programs require different error handling functions for different sections of code. The option «WHENEVER ERROR CONTINUE» is the recommended default for all programs. This can be defined once in each module. When this option is set the 4GL program must check for errors after every critical statement and take appropriate action. The 4GL default is «WHENEVER ERROR STOP». This causes the 4GL program to display an error message and abort. This is recommended for sections of code where error handling has not been defined, as it prevents the program from hanging without displaying any error message.

The Global Variables STATUS and SQLCA.SQLCODE

Informix 4GL sets the global variable STATUS to equal zero or the last error code after every statement. The SQLCA.SQLCODE is set after every database statement. Informix 4GL programs must check these global variables after every critical statement. Which variable is checked is very important. The SQLCA.SQLCODE variable must be checked after every database statement.

The STATUS variable is very dynamic and its value changes after each statement. This can cause mis-informed results. The successful display of a message after an earlier error will set status back to zero. This will lose the original error number. The following is an example:

1 OPEN FORM new_form FROM "new_form.frm"
2 IF STATUS != 0 THEN
3 DISPLAY "ERROR OPENING FORM"
4 DISPLAY "ERROR NUMBER ", STATUS
5 END IF

When an error occurs, STATUS is set to a negative number. The «DISPLAY» statement in line three will reset status to zero if it is successful. Line four will display zero and not the original error number. Every program must check STATUS and save its value if it needs to be used later.

Displaying Error Messages in Informix 4GL

Informix 4GL provides two statements to display error messages. The «ERROR text» statement prints a programmer defined text to the bottom line of the screen and rings the terminal bell. This statement is used when the programmer has a planned error message. The «ERR_PRINT()» function takes the error number as an argument and prints the Informix error message text on the bottom line of the screen and rings the terminal bell. This function is used when an error has not been predetermined. The following are two examples:

Example 1:

IF ( STATUS !=0 ) THEN
ERROR "This is the programmers error message"
CALL error_clean_up()
EXIT PROGRAM
END IF

Example 2:

IF ( STATUS !=0 ) THEN
CALL ERR_PRINT(STATUS)
CALL error_clean_up()
EXIT PROGRAM
END IF

Informix 4GL Error Logging

Three levels of application error logging are required in Informix 4GL programming. The first level is to log what the operator is doing so that when a user calls with a problem, the support group can identify and review the functions. This is also a good way to find out what actually gets used in an application, and what does not get used. The second level is to log all errors within the program. The third is to log more detailed debugging information while a program is under development. The log could be to a file, to a network message system, or to a backup device. The log needs to contain the 4GL module name, the version, the line number in the source code that caused the error, and a message.

Logging Functions

Informix 4GL has two functions to create and write to a log file. The function startlog(«logname») creates a log file. The function errorlog() writes to the log file. This can be used to save SQL error messages, informational messages about the application, and debugging messages.

WHENEVER ERROR Statement and Logging

Informix 4GL uses a source statement «whenever error» to determine how to handle a fatal error in a program. The default is «WHENEVER ERROR STOP», which causes the program to abort. This does not allow for any post processing clean-up. The Informix database will rollback any uncommitted transactions. The recommended mode is «WHENEVER ERROR CONTINUE». This allows the program to continue and perform any required clean-up functions, but places the responsibility of planning for error handling on the designer.

When the state of the «WHENEVER ERROR» option in a program is to stop, Informix 4GL will automatically write to an open error log the Informix error that causes a program to abort. The log will include the source code line number and module name. However, because the program aborts, it does not allow you to do any clean-up that may be required.

Informix 4GL Error Logging Example

This example Informix error logging function, includes the source code name, line number, error number and message. By setting the option «whenever error continue» in a program, this function allows the program to handle and recover from errors. The function uses features of the Unix Source Code Control System (SCCS) to write a module name, version and line number to the log file.
The following is a description of an Informix error logging function and some examples. When the error log function is called, a number (code), a string containing some SCCS information, and a programmer-supplied message is passed to it. The SCCS information includes the module name, SCCS version, and line number in the source file that generated the function call. Examples A and B show lines of Informix 4GL code calling the error logging function.

Example A:

Error logging function when checked out of SCCS for editing (get -e filename):
call errorlog( code, "MOD:%M% REL:%I% LINE:%C% :",message )

Example B:

Error logging function when checked out of SCCS for compiling (get filename):
call errorlog(code,"MOD:errorlog.4gl REL:1.5 LINE:52:",message)

The first argument is a variable named code which defines the type of message. This function has three types of messages.
The first type of message is a program error. If the number is negative, then it is assumed it is an Informix error message. By replacing the variable «code» in the above function with the SQL error code (sqlca.sqlcode) or status, an error message will always print in the log if there is an error, and nothing will print if there is no error. The second type of message is informational. The number 1000 is used for messages that need to be written to the log to indicate what is happening in the program. The third type of message is for debugging only. The number 0 is used to code messages that only get written to the log when debugging is turned on. To turn debugging on or off, one variable in the function, debug_flag, needs to be changed.

The second argument is a string containing the SCCS module name, version and line number. When the source code is checked out of SCCS using the get command, the %M% is replaced by the module file name, the %I% by the SCCS version, and the %C% by the line number within the file. This allows the programmer to quickly find the file and line number that caused an error. See the UNIX documentation for more information on SCCS.

The third argument is a programmer supplied message. This allows entry of messages like «preparing..» or «open form new.frm» in the log file to track what the program is doing. The following are some examples of how this function can be used.

Example C:

To start and end a program with a message to the log saying that the program
started or ended, use a function call like:
call errorlog(1000,"MOD:%M% REL:%I% LINE:%C% :","Starting Program")

Example D:

After every SQL statement, put a function call to check for errors in addition
to whatever error handling is in the program. If debugging is turned off, these
will only print if there is an error.
call errorlog(status,"MOD:%M% REL:%I% LINE:%C% :","SQL Error ")
or
call errorlog(sqlca.sqlcode,"MOD:%M%REL:%I% LINE:%C%:","SQL Error")

Example E:

For debugging, the following statement can be entered anywhere in the program
that a message would be helpful. It will print only when debugging is turned on.
call errorlog(0,"MOD:%M% REL:%I% LINE:%C% :","Debugging Message")

Example F: This is the Informix 4GL code for the function:

###########################################################
# Copyright 1993-1996 Advanced DataTools Corporation
# Module: %W% Date: %D%
# Author: Lester B. Knutsen
# Description: General Informix 4GL Logging function
#################################################################
function errorlog(code,relid,msg)
define
        code integer, # message type
        relid char(40), # SCCS filename, release and line number
        msg char(60), # application message passed to function
        msgline char(200),# message output to log
        debug_flag integer # set level of error logging

whenever error continue # keep going if there is an error

# set the level of debugging for messages to appear in the log
# one of the following must be uncommented

let debug_flag = true     # turn on debugging - all messages will appear in the log

# let debug_flag = false  # turn off debugging - only sql error
                          # messages or messages when code is 1000
                          # will appear in the log

case
        when ( code = 1000 ) # always write messages to the log
                let msgline = "MESSG: ",code using "------& ", relid ,
                msg clipped
                call errorlog(msgline)
                return
         when ( code < 0 )  # always write errors to the log 
                let msgline = "ERROR: ",code using "------& ", relid , 
                msg clipped, "n", err_get(code) 
                call errorlog(msgline) 
                return 
         when ( code >= 0 and debug_flag = true )  # only when debugging
                let msgline = "DEBUG: ",code using "------& ", relid ,
                msg clipped
                call errorlog(msgline)
end case
end function

#################################################################


Example G: This is an example Informix 4GL program showing how you could use the error logging functions.

main
    whenever error continue # keep going if there is an error
    call startlog("program.log") # start the error log

    # example that will always create a message to the log
    call errorlog(1000,"MOD:%M% REL:%I% LINE:%C% :",
    "Message 1 - Starting Program")

    # example that will only create a message if debugging is true
    call errorlog(0,"MOD:%M% REL:%I% LINE:%C% :",
    "Message 2 - Debugging Message")

    # example that will only create a message if their is a real
    # error or debugging is on
    call errorlog(status,"MOD:%M% REL:%I% LINE:%C% :",
    "Message 3 - Error ")
    # or
    call errorlog(sqlca.sqlcode,"MOD:%M% REL:%I% LINE:%C% :",
    "Message 3 - Error ")

    # example that will always create a message to the log
    call errorlog(1000,"MOD:%M% REL:%I% LINE:%C% :",
    "Message 4 - Tracking Message")
end main

In the Workbook Connections dialog box, select the connection to the Access database, and then click Properties. In the Connection Properties dialog box, click the Definition tab. In the Connection Properties dialog box, click OK. At this point your data should be refreshed.

Could not find installable ISAM VB Net excel?

The most common reason for this exception is the connection string used to open a specific MS-Excel file is not correct. For example look at the connection strings in figure 1 and figure 2.

What is imex1?

“If you want to read the column headers into the result set (using HDR=NO even though there is a header) and the column data is numeric, use IMEX=1 to avoid crash. To always use IMEX=1 is a safer way to retrieve data for mixed data columns. ..”

What is ISAM error?

Sometimes when an error occurs while executing a SQL statement with an IBM Informix engine, a secondary error called the ISAM error will be generated in addition to the normal SQL error number. The ISAM error gives additional information about why the SQL error occurred. The ISAM error will be placed in errornum.

How do I add Imex 1 to SSIS?

To specify Import Mode, add IMEX=1 to the value of Extended Properties in the connection string of the Excel connection manager in the Properties window.”

How do you change TypeGuessRows?

XLSX, you need to modify the following registry key according to your Excel version:

  1. Excel 2007: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice12.0Access Connectivity EngineEnginesExcelTypeGuessRows.
  2. Excel 2010: HKEY_LOCAL_MACHINESoftwareMicrosoftOffice14.0Access Connectivity EngineEnginesExcelTypeGuessRows.

What is ISAM file?

ISAM is an access method that supports sequential and also direct processing of data on CKD disk devices of earlier design. To process a file, ISAM requires that the file’s records have keys of a fixed length. ISAM maintains a two- or three-level index of the highest record keys on the tracks used by a file.

How do I set Imex 1 in Excel?

Why do we add Imex 1to extended properties of Excel Connection Manager?

Because while we mapping the product id in excel it is showing data type as float. For overcoming this issue we need to use IMEX=1 property on the connection manager in excel configuration. “IMEX=1;” tells the driver to always read “intermixed” (numbers, dates, strings etc.) data columns as text.

Which file access method is used by VMS operating system?

Modern word systems do provide the concept of direct access and indexed access but the most used method is sequential access due to the fact that most of the files such as text files, audio files, video files, etc need to be sequentially accessed.

What is the use of ISAM?

What is Imex in Excel connection string?

In the [example] connection string, the Extended Properties keyword sets properties that are specific to Excel. “HDR=Yes;” indicates that the first row contains column names, not data, and “IMEX=1;” tells the driver to always read “intermixed” data columns as text.

Why do I get ” could not find installable ISAM ” error?

But while opening connection i am facing the error “could not find installable isam”. To avoid this and read both files i.e office 200.3 and 2007 also what should i do ? Please guide me. Thank you. Please Sign up or sign in to vote.

Where can I find the installable ISAM for FRM?

Could not find installable ISAM. Please Sign up or sign in to vote. Private Sub frm_watercolour_A155751_Load ( ByVal sender As System.

Is it possible to install stack overflow on Windows XP?

It works fine on my machine and several other machines running Windows XP, but when we tested this on a Vista machine, we encountered the following error: I’ve done a bunch of searching online but can’t seem to find a concrete answer.

We are using informix 12.10 version. We are deleting multiple rows of records across 54 tables from Java batch. we are using callable strategy in Multi-threading.
Please refer to the below code:
SampleImpl.java:

Callable<Integer> callable=null;
List<Callable<Integer>> taskList = null;
List<Future<Integer>> futureList = null;
for (Map.Entry<String, String> entry : datas.entrySet()){
    callable = new Callable<Integer>(){
        public Integer call() throws Exception {
            return sampleDel.callSqlDelete();
        }
    };
    taskList.add(callable);
}

SampleDaoImpl:

public void callSqlDelete(){
    Statement stmt = null;
    connection.setAutoCommit(false);
    stmt = connection.createStatement();
    stmt.execute("SET LOCK MODE TO WAIT");
    stmt.addBatch("DELETE FROM TABLE1 WHERE col1 IN(select from tableAAA where id=101)");
    stmt.addBatch("DELETE FROM TABLE2 WHERE col1 IN(select from tableAAA where id=101)"");
    int delCnt[] = stmt.executeBatch();
    connection.commit();
}

In our java code we have already set lock mode to wait to infinite time interval but still we are getting the below exception:

    java.sql.BatchUpdateException: Could not do a physical-order read to fetch next row.
        at com.informix.jdbc.IfxStatement.executeBatch(IfxStatement.java:1650)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:272)
        at com.sun.proxy.$Proxy1.executeBatch(Unknown Source)
        at com.sample.samplereport.dao.impl.SampleDAOPurgeImpl.processDelByStmts(SampleDAOPurgeImpl.java:1305)
        at com.sample.samplereport.util.SamplePlSqlDeleter.callSqlDelete(SamplePlSqlDeleter.java:58)
        at com.sample.samplereport.dao.impl.SampleDAOPurgeImpl$1.call(SampleDAOPurgeImpl.java:298)
        at com.sample.samplereport.dao.impl.SampleDAOPurgeImpl$1.call(SampleDAOPurgeImpl.java:1)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
        at java.lang.Thread.run(Thread.java:662)

Please help on the above issue?

Start a new topic



anonymous

started a topic
over 11 years ago

[This topic is migrated from our old forums. The original author name has been removed]

Hello,

When you get an error message back from Informix, it gives you the Error Code, along with an ISAM error number which further identifies the cause. It appears that DBVis is only showing the Error Code.

For example, this is from another tool against Informix:

346: Could not update a row in the table.
100: ISAM error: duplicate value for a record with unique key.

Where DBVis will only show the first 346 error.

So my question is, does anyone know of a way to get DBVis to show the ISAM error as well?

Thanks much,
Nick

fyi — using DBVis 8.0.1, against Informix 11.50, via Informix JDBC 3.50.xC8


Roger Bjärevall

said
over 11 years ago

[This reply is migrated from our old forums.]

Re: Informix ISAM error code display

Nick,

You are right that only the first error is displayed in DbVisualizer. We have an open ticket to look into this.

Best Regards

Roger

anonymous

said
over 11 years ago

[This reply is migrated from our old forums. The original author name has been removed]

Re: Informix ISAM error code display

Thanks — this will be a big help.

Roger Bjärevall

said
over 11 years ago

[This reply is migrated from our old forums.]

Re: Informix ISAM error code display

Nick,

This is now fixed in the 8.0.4 version.

Regards

Roger

anonymous

said
over 11 years ago

[This reply is migrated from our old forums. The original author name has been removed]

Re: Informix ISAM error code display

I just verified this. Thanks much for making this change, it really helps!

Nick

Понравилась статья? Поделить с друзьями:
  • Is not writable error in install packages unable to install packages
  • Is not utf 8 encoded как исправить
  • Is not reachable dns error resolving fqdn or service is not available
  • Is not loaded properly exec format error
  • Is not in sudoers file debian как исправить