Informix Error Messages |
This file includes a complete list of numbered error messages and their
corrective actions for the current and earlier, still-supported versions of Informix
products. Use the Find button to locate the appropriate numbered error message. About Error Message ExplanationsFor backward compatibility, a single error message number might have more than one listing. These multiple listings reflect changes in the wording or functionality of the error message for different versions of the software. Be sure to locate the error message listing appropriate for your software version to learn the cause of the error and the corrective action. Error Codes from -1 Through -99The error codes from -1 through -99 are return codes from functions of the host operating system. Most UNIX-based hosts use these numbers in a consistent way, but differences exist among operating systems, particularly for codes -32 through -99. The explanations provided reflect the meaning of the kernel return codes. To be sure of the meaning of one of these codes, consult the manuals for your operating system. UNIX programmers can also find help in the file /usr/include/errno.h. Windows NT programmers can find help in the errno.h file of the include subdirectory for Microsoft Visual C++. Error Codes from -100 Through -199The error codes from -100 to -199 relate to the Indexed Sequential Access Method (ISAM). ISAM messages reflect problems with physical access to data or with corruption of fundamental data structures.When you use C-ISAM, functions that you call return these error codes. When you use SQL, ISAM error codes are always issued with an SQL error code. Both codes are returned to a program in the SQL Communications Area (SQLCA). Error Codes from -200 Through -899Error codes from -200 to -899 indicate problems in the execution of an SQL statement. These codes are returned to the SQLCA. An ISAM error code accompanies many of these messages. Error Codes Beyond -900Specific Informix products and product components use the error codes numbered -900 and above. Positive Numbered Error CodesA series of positive-numbered error codes also exists. Most of these error messages reflect configuration and startup problems, and the system administrator sees these messages. Typically, positive-numbered error codes are not returned as error codes to running programs. Begin Error Messages |
The operation succeeded. The database server returns this SQLCODE value to an application when an SQL statement executes successfully.
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.
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.
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.
Check the database name for correct spelling.
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.
You must include one or more table names in the TABLES section of the form-specification file.
Check the accompanying message for an indication of system action. The specified error(s) involves the indicated tables.
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.
For this 4GL compiler message, look up the message for -number.
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.
For this 4GL runtime error, check the message for -number.
For this 4GL runtime error, check the message for -number.
This 4GL runtime message tells where a program stopped due to an error. Look for additional messages that explain the error.
For this 4GL runtime error, check the message for -number.
For this 4GL runtime error, check the message for -number.
For this 4GL runtime error, check the message for -number.
Check the accompanying message for an indication of system action. Use the finderr utility to locate the indicated error message.
The VPCLASS parameter in the onconfig file has a duplicate name. The VPCLASS name must be unique. Correct the onconfig file and restart oninit.
Too many VPCLASS parameter lines exist in the onconfig file. Reduce the number of VPCLASS lines and restart oninit.
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
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.
AIO VPs can be configured with VPCLASS AIO or the old parameter NUMAIOVPS. However, AIO VPs cannot be configured with both formats.
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.
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.
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.
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.
This RSAM error message indicates an incorrect serial number.
The specified operation cannot be performed on the replication shadow columns while replication is enabled.
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.
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.
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.
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.
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.
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.
Log in as root and start the sqlexecd daemon process.
Contact your system administrator to solve system problems.
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.
Check that you correctly installed the TCP/IP network. Check for malfunctions in the TCP/IP network.
Enter your request again. If the problem persists, refer to your system manual for more information.
Check that you correctly installed the TCP/IP network. Check for malfunctions in the TCP/IP network.
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.
Enter your request again. If the problem persists, refer to your system manual for more information.
Check that you correctly installed the TCP/IP network. Check for malfunctions in the TCP/IP network.
Check that you can access the requested database server program.
Check that you can write to the requested log file.
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.
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.
Enter your request again. If the problem persists, refer to your system manual for more information.
Enter your request again. If the problem persists, refer to your system manual for more information.
Enter your request again. If the problem persists, refer to your system manual for more information.
Enter your request again. If the problem persists, refer to your system manual for more information.
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.
Enter your request again. If the problem persists, run your network diagnostics to determine the source of the problem.
Check that you correctly installed your network hardware and software. Check for malfunctions in the network.
Check that you requested a valid host name. Verify that the /etc/hosts file contains the requested host-name entry.
Check that no other daemons are running on the port address.
Check that no other daemons are running on the port address.
Enter your request again. If the problem persists, refer to your system manual for more information.
Enter your request again. If the problem persists, refer to your system manual for more information.
Enter your request again. If the problem persists, refer to your system manual for more information.
Check that you correctly installed your TCP/IP or StarGROUP network. Check for malfunctions in the network.
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.
Check that you requested a valid server name. Examine the /etc/hosts file to verify that you correctly defined the requested server name, client address, and host names.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This error occurs when the host ID specified in the license file does not match the node on which the software is running.
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.
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.
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.
No server line exists in the license file. All nonzero license-count features need at least one server line.
Check all relevant system files, such as /etc/hosts, to ensure that the server host name is known across the network.
Be sure that the daemons in all license servers are running. Check the daemon log for any error message.
Check with your system administrator to ensure that the network is functioning properly. Also check the daemon log for other error messages.
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.
The license-daemon server is busy establishing a quorum of server nodes so that licensing can start. Retry this operation later.
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.
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.
The vendor daemon is busy establishing a quorum condition. New requests from clients are deferred during this period. Retry this operation later.
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.
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.
Be sure that the license file has the correct read permission.
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.
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.
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.
This message provides information to the user. It is not an error.
This message provides information to the user. It is not an error.
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.
The onspaces command that you used to create the external space was successful.
The server could not add the external space. Check the error returned with this failure.
The onspaces command that you used to drop the external space was successful.
An attempt to drop the external space failed. Check the error associated with this failure.
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.
Unknown argument passed to onmode. Retry with the correct argument list.
Remove SQLCODE from the SQL statement and/or remove IN from the parameter list. SQLCODE is an out parameter only.
Only declare SQLCODE as an SQLCODE_TYPE parameter.
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.
The table has not been created or was deleted. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
Table entries with the same key are not allowed. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Table is full and cannot be extended. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Entry of a table is already locked (not yet used). If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Table is already locked (not yet used). If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The required entry does not exist. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
When you run the server in developer mode (not suid to root), this message is a reminder that the number of file descriptors available to the server is now limited by the shell from which the server is initialized. File descriptors are needed for accessing chunks and making network connections. If the server runs out of file descriptors, you need to choose among the following solutions: limit the number of connections, limit the number of chunks used, or run as root.
The user was not root or informix and was not in the group informix. The only way to run the server without permissions is with the -U option.
You are attempting to boot the database server but are not the owner. Try again after you log in as the correct user.
You attempted to run onstat or onmode against a server that you do not own.
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.
You have specified an invalid pathname. Check your entry and try again.
You have specified an invalid filename. Check your entry and try again.
You do not have read permission for the specified file. Check the permissions and try again.
The specified file cannot be created. Check the path and directory permissions and try again.
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.
You have entered a serial number that is not valid. Check the installation instructions for your product and try again.
Your add command for onaudit is incomplete; you did not specify a user name. Check the usage information and try again.
Your modify command for onaudit is incomplete; you did not specify a user name. Check the usage information and try again.
Your command line for onaudit has incorrect or incomplete syntax. You have specified an unknown option. Check the usage information and try again.
The database server failed to parse the mask/role/event definition in a load file. Edit the load file and try again.
Your command line for onaudit has incorrect or incomplete syntax. Actions must be the first argument. Check the usage information and try again.
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.
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.
Confirm that the database server is up and try again.
The mask that was defined in a load file already exists. Either edit the load file or delete the existing definition.
The -O option is not implemented for this platform. Delete it from the command and try again.
The database server could not locate the $INFORMIXDIR/etc/$ONCONFIG file, and/or ADTPATH and/or DBSERVERNAME is not defined.
The audit trail traversal contains a parsing error. Check the path and directory permissions and try again.
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.
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.
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.
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.
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.
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.
The ONCONFIG file contains a bad parameter. Fix the ONCONFIG file so that the parameter is 0/1.
The ONCONFIG file contains a bad parameter. Fix the ONCONFIG file so that the parameter is 0/1.
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.
Attempt to build a WHERE clause for the specified query failed. Verify that the data needed to create the WHERE clause exists.
Required data is missing. Verify that the data exists.
Updating the primary key for a table is not allowed. Delete the row and then insert a new row with the new primary key.
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.
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.
Unable to attach to shared memory. Contact your database system administrator.
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.
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.
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.
Verify that the storage space exists in this database server.
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.
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.
The account under which you are logged on might not be a member of the Informix-Admin group. Contact your Windows NT system administrator.
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.
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_MACHINE\SOFTWARE\Informix\OnLine\CurrentVersion\Security
Prior to Version 7.21, INFORMIX-OnLine Dynamic Server for Windows NT did not support system commands in stored procedures. This feature was added in Version 7.21.
Run the system command outside of the stored procedure.
Try to free some space on the drive that contains the root dbspace and re-initialize the database server.
Specify a valid value for TAPEDEV and/or LTAPEDEV. For specific information about setting configuration parameters, see your administrator's guide.
Check the Event Log for errors from the database server and correct them.
Add key into the registry. For more information, refer to your administrator's guide.
Check the registry settings for INFORMIXSERVER under the SQLHOSTS key.
Log on again with a password and execute the stored procedure.
The buffer size allocated for the error message is not sufficient. If the error recurs, please note all circumstances and contact Informix Technical Support.
Check the message log for more information.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
For C-ISAM programs, rerun the program after the file has been 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 has been unlocked.
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.
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.
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.
No current Informix product displays this message. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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 may be damaged; run the bcheck or secheck utility. For SQL products, the index has been damaged; run the bcheck or secheck utility to check and repair it if you are using the INFORMIX-SE database server. Run tbcheck if you are using the INFORMIX-OnLine database server, or run oncheck if you are using INFORMIX-OnLine Dynamic Server or Informix Dynamic Server.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This error occurs only in the VMS operating system. An internal error has occurred while initializing shared memory. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
An internal error (probably obsolete) occurred. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
An interrupt that was detected from client process has terminated the operation. Restart the operation.
You have attempted an SQL operation that is not supported on System Monitoring Interface (SMI) pseudo tables. Try another operation.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
You attempted to add a log to a storage space for TEXT or BYTE data. You can add logs only to dbspaces.
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.
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.
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.
This generic message indicates that the archive backup has failed. The SQL API also contains useful error text that is associated with this error.
This generic message indicates that the physical restore has failed. The SQL API also contains useful error text that is associated with this error.
This generic error indicates that the logical restore has failed. The SQL API also contains useful error text that is associated with this error.
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.
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.
The Optical subsystem is not present. This message usually means that you requested an Optical operation on an database server that is being used without the Optical subsystem or INFORMIX-OnLine/Optical.
A storage space for TEXT or BYTE data has been defined with the same name as an Optical family name.
No more slots are available in the transaction table. To see this table, run onstat with the -x option.
The chunk that was specified to be dropped does not exist.
The first chunk of a storage space is never a candidate to be dropped. Select a different chunk.
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.
A chunk is not empty and therefore cannot be dropped.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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:
An error has occurred with the Smart Disk system. For more information, see the accompanying message.
Identifiers in SQL statements must be 18 characters or shorter. Check that no identifiers in the statement are longer and that no punctuation error, such as a missing space or comma, makes two names look like one.
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.
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.
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).
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.
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.
Inspect the names of tables in the statement. If they are spelled as you intended, check that you are using the database you want. If so, the database must have been changed. Perhaps the table was renamed or dropped. You can find out the names of all tables in the database by querying the systables 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.)
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).
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.
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.)
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.
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:
Other statements may be partially complete before the error is detected. Roll back the current transaction and then investigate the cause of the error. Use the bcheck or secheck utility (tbcheck with INFORMIX-OnLine or oncheck with INFORMIX-OnLine Dynamic Server) to check and repair indexes. If necessary, restore the database from backup and logical-log tapes.
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.
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.
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.
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.
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.
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.
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.
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'
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.
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.)
Version 4.1 and later can detect this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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. The row is not inserted. Roll back the current transaction, and execute it again without any duplicate rows.
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.
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.
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.
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.
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.
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.
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.
The database server could not apply an audit trail to roll a database forward. Check the accompanying ISAM error code for more information.
Version 4.1 and later products can detect this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
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
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.
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.
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.
A name in the statement exceeds the maximum length. Check the length of the names and whether a typographical error caused two names to run together.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
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.
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 and INFORMIX-OnLine, 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 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.
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.
This problem has many possible causes, including a locked table or a full disk. Check the accompanying ISAM error code for more information.
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.
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.
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.
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.
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.
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.
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.)
Version 4.1 and later products can detect this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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
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.
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.
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.
A column that is part of a primary key cannot have null as its default value.
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.
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.
The table is already locked in exclusive mode. You will have to wait for the table to be unlocked before you proceed.
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).
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.
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. Since 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.
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.
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 to display. Revise the query to include either the column name or its positional number in the clause.
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.
The table that is specified in a referential constraint does not exist.
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. 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, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
This GRANT statement cannot be executed. You do not have the right to grant the specified privilege for this table, the table name is a synonym, or the table is a view on which this option cannot be granted. To grant any privilege for a table, you must have DBA privilege in this database, you must be the owner of the table, or you must have been granted the same privilege WITH GRANT OPTION. If one of these conditions is true, probably the table in question is really a synonym or a view that is not modifiable and cannot be used for insert, update, or delete operations.
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.
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.
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.
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.
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.
All rows produced in a UNION of SELECT statements must have the same format, so every column should have the same data type. In the current statement, a column in the second or subsequent SELECT does not agree with the same column in a preceding SELECT. Review and compare all the SELECT statements. Check each point at which one selects something that is not identical to the preceding SELECT statement. No automatic data conversion is supplied during a UNION; the data types must be identical as selected. If this proves impossible, consider setting up a temporary table and using a series of INSERT statements to fill it with the combination of rows desired. Automatic data conversion is applied during an INSERT, so differing but compatible data types can be coerced to the same type.
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.
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.
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.
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.
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'
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
The specified referential constraint has more than 16 columns (or 8 in INFORMIX-SE).
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.
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.
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 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.
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.
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.
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.
Before you start a new audit trail, you must drop an existing one. Use the DROP AUDIT statement.
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.
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.
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.
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.
An unexpected error occurred during the execution of a DROP AUDIT statement. Check the accompanying ISAM error code for more detailed information.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This statement contains the name of a database or a cursor in some improper format. If the statement is part of a program, the name may have been passed in a host variable. Database names should be no longer than 10 characters for INFORMIX-SE (less in some host operating systems) and no longer than 18 characters for other Informix database servers. Cursor names must not exceed 18 characters.
Both database and cursor names must begin with a letter and contain only letters, numbers, and underscore characters. For Version 6.0 and later, database and cursor names can begin with an underscore.
In DOS systems, filenames can be a maximum of 8 characters plus a 3-character extension.
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.
The data types of the columns in the child constraint must be identical to those in the parent constraint.
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.
These statements choose a new current database, but the present database must be closed first. Use the CLOSE DATABASE statement before this statement.
The database that is currently open cannot be dropped. First use the CLOSE DATABASE statement; then you can drop it.
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.
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.
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.
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.
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.
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.
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; that uses UNIQUE, DISTINCT, ORDER BY, GROUP BY, or UNION; or that selects calculated values. 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.
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.
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).
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.
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.
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.
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
This statement can be extended to handle the case of multiple columns using AND.WHERE 1 <( SELECT COUNT(*) FROM table sub WHERE main.column="sub.column" )
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.
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.)
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.
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.
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.
This statement (DATABASE, CREATE DATABASE, or CLOSE DATABASE) cannot be executed until the current transaction has been finished. Use either COMMIT WORK or ROLLBACK WORK. Then the database can be closed.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
This statement cannot be executed because your account has not been granted DBA privilege to this database. Contact a person who has DBA privilege to the database and ask to be granted DBA privileges to it (or simply ask to have this statement executed for you).
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
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.
This internal error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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'
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.
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.
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 tbcheck, oncheck, or oninit utility for Informix Dynamic Server or INFORMIX-OnLine Dynamic Server, or the bcheck or secheck utility for INFORMIX-SE. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This internal error should not occur. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
You did not provide a callback function with your time-out value. Make sure that you provide both.
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.
You provided an incorrect value to unregister your callback function. Pass a null value, not a function pointer, to the callback function.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This X/Open rule indicates that you must request the INDICATOR value in the GET DESCRIPTOR statement when DATA is null.
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.
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.
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.
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.
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.
The statement has not been prepared, or the statement name used is not valid. A valid statement name is between 1 and 18 characters; it begins with a nonnumeric character and does not contain any blanks or nonalphanumeric characters except underscore.
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.
SQL descriptor names cannot exceed 18 characters.
The name of the statement or cursor must be from 1 to 18 characters.
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.
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.
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.
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.
An exception number was requested that was either less than 1 or greater than the number of diagnostic entries in the diagnostic area.
You created a database that lacked NLS functionality.
Set the DBNLS environment variable to an appropriate value. Make sure LC_COLLATE is set to the specified string_value.
You specified an invalid value for a LANG or LC_COLLATE environment variable.
Set the DBNLS environment variable to an appropriate value. Make sure LC_TYPE is set to the specified string_value.
You specified an invalid value for a LANG or LC_CTYPE environment variable.
You specified an invalid value for a LANG or LC_MONETARY environment variable.
You specified an invalid value for a LANG or LC_NUMERIC environment variable.
You specified an invalid value for a LANG or LC_TIME environment variable.
The version of the ixtomsg file, which holds the mapping table of SQLCODE to SQLSTATE values, is illegal. The ixtomsg 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.
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'
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
You are trying to drop a constraint that has already been dropped in the same ALTER TABLE statement.
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.
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-Universal Server allows 16 key parts (columnar or functional) and a width of 390 bytes.
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. All database servers support at least 8 columns and a width of 126 bytes. Database servers other than INFORMIX-SE allow 16 and 255 columns, respectively.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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 a stored procedure 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.
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.
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.
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).
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:
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.
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.
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.
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.
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)
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.
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.
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.
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.
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.
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.
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.
The column that is specified in a constraint definition does not exist.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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 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 TABLE statement in the Informix Guide to SQL: Syntax.
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.
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.
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.
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.
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 database your current database, you can modify the contents. Review all uses of names beginning dbname, which refer to objects in the external database dbname.
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 count 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 or view or not defined).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This statement contains a subquery (a SELECT statement within parentheses) used as a single value (on one side of a relational operator such as equals, for example). Such a subquery must return exactly one row and one column; otherwise, doubt exists as to which of the returned values is wanted. This subquery has returned more than one value. Review all subqueries, and 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).
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
Version 4.0 and later do not use this message. For previous versions, check the accompanying ISAM error code for more information.
Database servers starting with Version 4.1 detect this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The specified default value is the wrong type for a column or a stored- procedure variable. The default value for a column is specified with the DEFAULT clause in a CREATE TABLE statement. The default value for a variable in a stored procedure is specified with the DEFAULT clause in a DEFINE statement in the procedure.
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.
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.
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.
An aggregate function was used outside an SQL statement inside a stored procedure expression, or it was used inside a check constraint.
An example of the error follows:
LET var = MAX(another_var) + 10; -- error
A stored procedure expression, or the expression in a check constraint, can refer to only a single value, so the use of an aggregate function is meaningless.
The stored procedure EXIT and CONTINUE statements must be placed within a FOREACH, WHILE, or FOR loop.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Inside a stored procedure, 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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This statement uses one of the aggregate expressions, such as COUNT, SUM, MIN, MAX, or AVG, but applies it to a column that has a BYTE or TEXT data type. This action is not supported. Review the use of functions, and check that they are applied only to simple columns.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
An attempt to create an optical cluster has failed. See the ISAM error for more information.
An attempt to drop an optical cluster has failed. See the ISAM error for more information.
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.
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.
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:
An attempt to alter the size of an optical cluster has failed. See the ISAM error for more information.
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.
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.
Running UPDATE STATISTICS might fix this internal error. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
The volume argument in the RESERVE or RELEASE statements must be INTEGER or SMALLINT.
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.
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.
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.
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.
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.
The argument that is specified for the debug file in the SET DEBUG statement must be a character data type.
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.
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.
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;
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.
The procedure declaration was used either in the parameters or the RETURNING clause. Stored procedures 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.
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.
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.
You cannot have a CREATE PROCEDURE statement within a CREATE PROCEDURE statement.
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;
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
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.
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.
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
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
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
The specified variable was not declared. Check the spelling of the undeclared variable to ensure that it is not causing the error.
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.
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.
The SERIAL data type is not a legal procedure type. Use the INTEGER data type to match the SQL SERIAL data type.
A routine call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- error
A procedure call named a parameter more than once.
Example of error:
LET var = proc (arg1 = 10, arg2 = 20, arg1 = 30);-- error
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
You called a routine that does not exist in the database. If you invoke the routine, but your application or another application drops the routine before you execute the prepared statement, you receive this error.
A restricted statement was executed in a procedure. This error occurs when a procedure 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;
Correction: Do not use a restricted statement (such as the preceding UPDATE statement).
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.
A check constraint cannot have subqueries or procedure calls.
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')
See the ISAM error for more information. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
See the ISAM error for more information. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The error occurs if the user specifies a column name more than once in the INSERT column list.
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.
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.
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
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
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
A TRACE statement (except TRACE OFF) was executed before a SET DEBUG FILE statement. It is unknown where the output of the TRACE statement would go.
Example of error:
TRACE procedure; -- error
Correction:
SET DEBUG FILE TO 'trace.out'; TRACE procedure;
You declared the variable as a data type other than CHAR or VARCHAR. Correct the declaration, and try again.
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.
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.
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.
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.
A null value was passed to the SYSTEM statement.
Example of error:
DEFINE c CHAR(100);
LET c = NULL; ... SYSTEM c; -- error
More arguments were passed to a procedure than a procedure was declared to accept.
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
A variable was used that was never assigned a value.
Example of error:
DEFINE i, j INT; LET i = j + 1; -- error
Correction: Assign all variables and parameters a legal value before you use them.
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.
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.
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.
This error is generated when a user attempts to execute a BEGIN WORK, COMMIT WORK, or ROLLBACK WORK statement within a global transaction.
This error is generated when you attempt to execute any of the following statements within an X/Open distributed transaction-processing environment:
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.
Within an X/Open distributed transaction processing environment, you cannot open a database in exclusive mode.
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.
A table can have only one primary key.
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.
A user who does not own the procedure or is not DBA must have Execute privilege in order to run a procedure.
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.
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.
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.
This error can occur with explicitly prepared statements. These statements have the form:
PREPARE statement id FROM quoted string
After a statement has been prepared in the database server and before the user executes it, the table has been renamed or altered, possibly changing the structure of the table. Problems might occur as a result.
This error can also occur with stored procedures. Before the database server executes a new stored procedure the first time, it optimizes the code (statements) in the stored procedure. 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 stored procedure is optimized the first time that it is run (not when it is created). This behavior means that a stored procedure might succeed the first time it is run but fail later under virtually identical circumstances. The failure of a stored procedure 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 stored procedure references explicitly. Whenever any of these explicitly referenced tables is modified, the database server reoptimizes the procedure the next time that the procedure is executed.
However, if the stored procedure 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 stored procedure invokes a trigger. If a table that is referenced by the trigger (but not directly by the stored procedure) is changed, the database server does not know that it should reoptimize the stored procedure 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:
To prevent this error, you can force reoptimization of the stored procedure. 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:
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 stored procedure. 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 stored procedure twice might be neither practical nor safe. A safer choice is to use the UPDATE STATISTICS statement to force reoptimization of the procedure.
An attempt to insert an encoded blob descriptor by means of the DESCR() function has failed. See the ISAM error for more information.
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.
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.
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.
An error occurred in retrieving a transaction state. See the ISAM error for more information.
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.
An invalid data type has been passed to one of the arithmetic functions (HEX(), TRUNC(), ROUND()).
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.
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.
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.
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()'; ...
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.
You attempted to use the START DATABASE
Check that $INFORMIXDIR/cnv50t60.sql is in place and readable. If it is, and the system still fails, reinstall the system.
Check that the script file $INFORMIXDIR/cnv50t60.sql is readable. If it is, and the failure still occurs, reinstall the product.
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'.
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.
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.
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.
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.
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.
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.
You have a CREATE TRIGGER or CREATE VIEW statement inside a stored procedure, and within the CREATE TRIGGER or CREATE VIEW statement, you reference a variable that is defined in the stored procedure. This action is not legal. Remove the reference to the stored procedure variable from the CREATE TRIGGER or CREATE VIEW statement and try again.
This error is returned in three cases:
Change either the correlation name or the table name, and execute the CREATE TRIGGER statement again.
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.
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.
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.
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.
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.
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.
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.
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.
You are trying to define an object that already exists in the database.
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.
This message is defined for general use to apply to error conditions that you specify in a stored procedure that is a triggered action.
You supply message-string for this message. You can apply this message to error conditions that you specify in a stored procedure. The corrective action for this error depends on the condition that caused it. You, the user, define both the condition and the message text.
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.
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 a stored procedure, and use the SPL TRACE statement.
An external database server before Version 5.01 sent the triggering statement or cursor operation. This action is not allowed.
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.
The action clause of the trigger contains a stored procedure 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. A stored procedure that is called within a data manipulation statement cannot execute certain SQL statements, including transaction-related statements. Transaction-related statements are not allowed within a stored procedure 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.
Wait a while and retry your Smart Disk operation.
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.
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.
You might not have appropriate permission for your particular action. Check with your system administrator.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
Your remote procedure must execute a COMMIT WORK or ROLLBACK WORK statement before that procedure returns control to your application.
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.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
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.
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.
If table fragmentation is based on a round-robin strategy, you cannot specify a fragment expression during an ALTER FRAGMENT operation.
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.
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.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
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.
You cannot attach the same table multiple times. Check that your alter fragment specification attaches the same table only once.
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.
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.
When you attach tables, the consumed table cannot be fragmented.
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.
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.
You must alter fragmentation expressions to remove references to the column before the column can be dropped.
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.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
If you cannot find a direct cause for this internal error, please note all circumstances and contact Informix Technical Support.
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.
Check the INFORMIXDIR environment variable to ensure that it is set to the correct value. Also, check INFORMIXDIR\ETC\PASSWD, the Informix password file. If the Informix password file is corrupted or deleted, reinstall the INFORMIX-SE database server.
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.
All the result values in all the WHEN clauses in the CASE expression should be of compatible types. In the linearized use of the CASE expression, the value-expression that follows the CASE keyword should be compatible with the value-expressions that follow all the WHEN keywords in the CASE expression. Reissue the query after modifying the CASE expression so that all related expressions are of compatible types.
The text editor cannot expand the buffer in which it stores your SQL statements because no more data space memory is available. If you have multiple statements in the buffer, execute them one at a time.
The SQL command file that you specified cannot be opened for reading. Review the filename that you specified. If it is spelled as you intended, check that it exists in the current directory or in a directory that is named in the DBPATH environment variable and that your account has read permission for it.
The SQL command file that you selected with the Choose option is too large for the edit buffer to hold. The size of the edit buffer is dynamic, and the program was unable to allocate enough memory to hold the contents of the command file. (In DOS, this error also appears if the command file exceeds 64 kilobytes.) Check that you specified the file you intended and that it is in fact an SQL command file. If it is the file that you intended, break it into smaller parts, and use them separately.
This statement includes a comment that is enclosed in braces ({ }), but the closing brace is missing. Review the punctuation of the statement, and check that all braces appear in matching pairs.
The input file that is specified in this LOAD statement could not be opened. Check the accompanying ISAM error code for more information. Possibly a more complete pathname is needed, the file does not exist, or your account does not have read permission for the file or a directory in which it resides.
The output file that is specified in this UNLOAD statement could not be opened. Check the accompanying ISAM error code for more information. Possibly a more complete pathname is needed; the file exists, but your account does not have write permission for it; or the disk is full.
The program cannot create the file that you specified with the Save option. The file should be saved in the current directory. Possibly your account does not have write permission in that directory. Possibly a read-only file of the same name exists (to eliminate this possibility, try to save the file under a different name). Possibly the disk is full. Look for operating-system error messages that might give more information.
The SQL command file that you specified for the Choose menu option cannot be opened for input. Check that the file is in the current directory and readable to your account.
The INSERT statement in this LOAD statement has invalid syntax. Review it for punctuation and use of keywords.
The SQL command file could not be saved. Check that your account has operating-system permission to write in the current directory and that the disk is not full.
The application is trying to open the device that is specified in the DBPRINT environment variable but is failing. Check the setting of that variable, and rerun the program.
Under the Output option, you selected To-pipe and specified a program or command to receive the output. However, INFORMIX-SQL was unable to open the pipe to that program or command. Review the program or command that you typed to ensure that it is a syntactically valid UNIX or DOS command and that it names only programs that are in your current execution path. Also look for operating-system error messages; you might have exceeded a system quota on memory or processes.
Under the Output option, you sent output to a command or program through a pipe. Although the pipe was established (indicating that the command had correct syntax and named existing programs), it has since closed unexpectedly. This condition indicates that the (first) program in the pipe terminated before it had received all the output. Possibly it quit due to an error, or possibly you or another user terminated it with a kill command. Look for messages from the pipe program that might explain why it quit.
The file that is specified in the prior command cannot be written. Probably your account does not have operating-system permission to write to the file. Check the permissions, and run the program again.
The file that is specified in the prior command cannot be read. Probably your account does not have operating-system permission to read the file. Check the permissions, and run the program again.
The user menu that was requested cannot be found. Check the spelling of the menu name. If it is as you intended, check the contents of the sysmenus table in the current database; the menu might not be defined in this database.
The menu that you selected contains no items. You can choose a different menu or modify the current one. If you think that the menu should have items, check the contents of the sysmenuitems table in the current database.
The display of selected rows is finished. With no scrolling display, you cannot show the rows again. Restart the query from the beginning, or enter a new query.
You requested creation of a default-report specification. This file is saved in the current directory, but some problem prevented it. Possibly the disk is full, or possibly your account does not have operating-system permission to write in that location.
The current SQL statement has already been saved under the name that is shown at the top of the screen. (This message does not appear to occur any longer.)
You selected the Run option, but no SQL statement has been entered. Either enter a statement, or use Choose to load one.
Probably no current Informix product returns this message. If this message does appear, refer to the discussion of error -836. If the error recurs, please note all circumstances and contact Informix Technical Support.
No supporting executable file could be located. The file should have existed in the directory that the INFORMIXDIR environment variable names. Consult the person who installed the Informix software.
This internal error indicates an inability to start a subordinate process. Possibly it stems from an attempt to enter vi from DB-Access when using the Use-editor option. Look for operating-system error messages that might give more information. Retry the operation. If the error recurs, contact your system administrator. In DOS systems, you probably are out of memory; exit to the operating-system command line, and resubmit your program.
See the discussion of error -329.
The SQL command file that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
The compiled form specification that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
The compiled report specification that you specified is not found in the current directory or in the directory that is listed in the DBPATH environment variable. Check the spelling of the name and the setting of DBPATH.
One or more errors was found during compilation of the report specification. Edit the report-specification file, and compile it again. Follow the prompts to see the error messages. To look them up, use the finderr utility.
One or more errors was found during compilation of the report specification. Edit the report specification file, and compile it again. Follow the prompts to see the error messages. To look them up, use the finderr utility.
The report compiler, saceprep, encountered an error while it was compiling a report specification. Look for other error messages, from saceprep and the operating system, that might give more information.
The report compiler, sformbld, encountered an error while it was compiling a report specification. Look for other error messages, from sformbld and the operating system, that might give more information.
The WHERE CURRENT OF clause is meaningful only in a program that uses a cursor to read rows. In this interactive context, you must specify a condition other than CURRENT in your WHERE clause.
The INSERT statement that was entered as part of this LOAD statement requires a VALUES clause. Revise the statement to include one.
INFORMIX-SQL needed to allocate memory for one of a number of small work areas but was not able to do so. Stop the program, and restart it. If this action does not eliminate the problem, see your system administrator about getting more memory. On DOS systems, you need to free some disk space.
Database servers after Version 4.1 do not produce this error message. For a related error, see error message -208.
Each line of the input file to LOAD must be read into storage in full to be processed. INFORMIX-SQL resizes its memory buffer as required to hold the current line. But in this case, it was not able to allocate a large enough buffer. This error is most likely when the load file contains TEXT or BYTE data values or very large CHAR values. All of the values for one row must be contained in one line of the file. If you cannot rerun the program with more memory available, modify the input file to have fewer or shorter values in each row. Or use the dbload utility to try to load the file.
You specified the name of a table that does not exist in the current database. Review the spelling of the table name, and check that you are using the correct database. Refer to the discussion of error -310 for a way to display all table names.
Names of databases, reports, forms, and other files must be 10 characters or shorter. Select a new, shorter name, and repeat this operation. In DOS systems, filenames can be a maximum of 8 characters plus a 3-character extension.
Names of databases, reports, forms, and other files must conform to this rule. Repeat this operation with a name that conforms to the rule. Beginning with Version 6.0, the name of the following identifiers, as well as server and cursor names, can begin with an underscore: column, connection, constraint, database, index, procedure, synonym, table, trigger, and view.
INFORMIX-SQL created a temporary file; now it is trying to read back the temporary file. However, it received an unexpected operating-system return code. Possibly you or another user removed the file, or possibly a hardware error occurred.
INFORMIX-SQL is trying to write the current SQL source file into a temporary file for editing but received an unexpected operating-system return code. Look for operating-system error messages that might give more information. On UNIX systems, possibly your account does not have write access to /tmp or the directory that is named in the DBTEMP environment variable, or the disk might be full. With Version 5.01 and later, the INFORMIX-SE database server uses the DBTEMP environment variable, but Informix Dynamic Server and INFORMIX-OnLine Dynamic Server do not.
INFORMIX-SQL was unable to allocate a memory buffer large enough to hold this statement. Find a way to shorten the statement, or run it in two or more parts.
This database does not contain the sysmenus table, it is empty, or possibly the top-level menu is not named main. Check that you are using the database you intended. Consult with the person who defined the user menus for this database.
The LOAD processor counts the delimiters in the first line of the file to determine the number of values in the load file. One delimiter must exist for each column in the table or for each column in the list of columns if one is specified. Check that you specified the file that you intended and that it uses the correct delimiter character. An empty line in the text can also cause this error.
If the LOAD statement does not specify a delimiter, verify that the default delimiter matches the delimiter that is used in the file. If you are in doubt about the default delimiter, specify the delimiter in the LOAD statement.
A problem exists with the data on the indicated line of the load data file. The operation stopped after it inserted lines up to but not including the line that is noted (number-1 rows have been inserted). If this operation is inside a transaction, roll back the transaction. If not, either delete the inserted rows from the table or remove the used lines from the file before you repeat the operation. To correct the file, look for additional error messages that might help isolate the problem. Possibly not enough, or too many, fields (delimiters) exist on the indicated line. Possibly a data conversion problem exists, (for example, nonnumeric characters in a numeric field, an improperly formatted DATETIME value, or a character string that is too long). Possibly a null (zero-length) field exists in a column where nulls are not allowed. Edit the load file to correct the problem. Look for similar problems in following lines, and then repeat the operation.
You asked for a form specification to be compiled, but the form compiler reported one or more errors. Correct the errors in the form specification, and repeat the operation. The error messages are in the formname.err file.
You asked for a form specification to be compiled, and it was done, but the form compiler reported one or more warnings. You are not required to correct a warning before you try the form, but Informix recommends it. The error messages are in the formname.err file.
Only the user who created the sysmenus table in this database can modify the menu structure. That user first selected the Modify option of the User-Menu display while this database was current. To determine who that user is, query systables as follows:
SELECT owner FROM systables WHERE tabname LIKE 'sysmenu*'
If this action is not appropriate, ask that person to drop the sysmenus and sysmenuitems tables, and then have the person who should maintain the menus re-create them.
You requested that a file be dropped, but it could not be dropped, probably because your account does not have write permissions on it or on the directory in which it is stored. Use operating-system commands to check the file permissions.
After writing count lines of output to the unload file, an error occurred trying to write the next line. Look for operating-system messages that might give more information. Possible causes include a full disk or a disk quota limit.
While INFORMIX-SQL was executing SQL statements from a command file, it received an error return code or reached the end of the file but found no COMMIT WORK statement. Since a transaction was in progress (either the file contained BEGIN WORK, or the database is ANSI compliant), INFORMIX-SQL rolled the transaction back. (It cannot leave the transaction open, and it cannot assume success even when no error was returned.)
In DOS, the application cannot establish a connection to the local INFORMIX-SE engine or to the INFORMIX-NET PC communications module.
The SE engine (for accessing a local database) or the INFORMIX-NET PC communications module (for accessing a remote database) must be loaded before trying to connect to it by means of, for example, a DATABASE statement. To load the SE engine, run PSTARTSQ. To load the INFORMIX-NET PC communications module, run REMSQL.
If the SE engine or the INFORMIX-NET PC communications module has previously been loaded, and you get this error message, either another application currently has a connection to the SE engine, or the INFORMIX-NET PC communications module (they can have only one connection at a time), or the current application encountered an internal error and lost the connection.
If another application has a connection to the SE engine or to the INFORMIX-NET PC communications module, you must first release that connection before you can connect the current application. If the other application is a 4GL or an ESQL/C program, that application releases its connection by executing a CLOSE DATABASE statement, calling the SQLEXIT( ) function, or exiting.
In extreme situations where an internal error has occurred, you must exit the application and kill the SE engine or the INFORMIX-NET PC communications module from the DOS command line. To kill the SE engine, run PSTARTSQ with the -T option. After you kill the SE engine, run PSTARTSQ with no options to reload it.To kill the INFORMIX-NET PC communications module, run SETNET with the -T option. After you kill the INFORMIX-NET PC communications module, run REMSQL to reload it.
This error message also might appear when a client Windows application uses the wrong .DLL file to connect to a database server across a network. Client Windows applications that work with INFORMIX-NET PC Version 4.1 (such as Version 4.1 ESQL/C) can also work with INFORMIX-NET for Windows Version 5.01. Check to see whether INFORMIX-NET PC Version 4.1 and INFORMIX-NET for Windows Version 5.01 reside on the same client computer concurrently. If so, check that Version 5.01 of the LDLLSQLW.DLL file appears in your PATH environment variable setting before Version 4.1 of the LDLLSQLW.DLL file. In addition, Version 4.1 of the LDLLSQLW.DLL file must not reside in the current directory, the Windows directory, the Windows \SYSTEM directory, or the directory that contains the executable file of the application that you are running.
You tried to use the ALTER TABLE...DROP syntax to drop the rowid column on a table that is not fragmented. A non-fragmented table has a rowid column, but you cannot drop it.
A rowid column already exists for the specified table. You cannot create a rowid for a table more than once. Change your SQL statement.
You cannot drop a nonexistent rowid. You specified a rowid that does not exist in the specified table. Avoid using rowids in your SQL statement. Instead, use a primary key to delete data.
You specified the same dbspace more than once in a fragmentation specification. Change the fragmentation specification to use different dbspaces for each fragment.
You cannot specify the DISTRIBUTIONS ONLY option in the LOW mode of the UPDATE STATISTICS statement.
You fragmented an object into one fragment. To put the object in a single dbspace, use the IN clause instead of the FRAGMENT BY clause.
See the accompanying ISAM error for more information.
You have not specified a table to be consumed. See the syntax and usage for ALTER FRAGMENT... ATTACH in the Informix Guide to SQL: Syntax.
You must first drop rowids before you use ALTER FRAGMENT... DETACH. See the syntax and usage in the Informix Guide to SQL: Syntax.
You must first drop the rowids on the surviving table before you attach the table.
You must use separate statements to add or drop rowids with an ALTER TABLE... ADD or ALTER TABLE... DROP statement.
Before you use an ALTER FRAGMENT... ATTACH statement, you must drop any serial fields or modify the column type.
See the accompanying ISAM error for more information. A table cannot hold more than 2 gigabytes of records if it has serial or rowid columns.
You cannot attach a table if check, referential, primary-key, or not null constraints exist on the surviving table. Drop any check, referential, or not null constraints. Then attach the table, and re-create the check, referential, or not null constraints if they are strictly necessary.
A fragmentation expression can reference only columns from the current table and data values from a single row. The restrictions disallow subqueries, stored procedures, current date/time functions, user-defined routines, and aggregates.
You specified duplicate remainder fragments. Remove one of the remainder fragments from your SQL statement.
If you specify a REMAINDER, it must be the last fragment expression. Rewrite your syntax so that you specify the remainder fragment last.
The round-robin method cannot fragment unique indexes. If the expression method fragments the indexes, all the columns that are used in the fragmentation expressions must also be part of the index key.
You cannot use columns from different tables in a fragment expression.
This internal error affects the cost calculations that the query optimizer makes. If the error recurs, please note all circumstances and contact Informix Technical Support.
If you set the access mode to READ-WRITE, you cannot set the isolation level to READ-UNCOMMITTED.
When a transaction is active, do not issue a SET TRANSACTION statement. A transaction becomes active when a DDL or a DML statement is issued. The only statements that you can place between the BEGIN WORK and the SET TRANSACTION statements are SET statements such as SET EXPLAIN, SET CONSTRAINT, SET DATASKIP, and so on.
Your program attempted to reset the isolation level that a preceding SET TRANSACTION statement established. Do not use a SET ISOLATION statement after a SET TRANSACTION statement.
You specified a READ-ONLY transaction in a SET TRANSACTION statement and then attempted to alter the database. In other words, READ-ONLY ensures that you can read data, but you cannot alter data. If you want to alter the data, specify READ WRITE in the SET TRANSACTION statement. If you only want to read the data, correct your program so that it does not attempt to alter the data.
The TRIM function evaluated to NULL. However, the TRIM character value expression must be null or contain a single character. Your program is incorrectly written. Every time the TRIM function evaluates to NULL, the value your program inserts into the TRIM character value expression is not null or contains more than one character. Correct, recompile, and rerun your program.
You used a TRIM function where the TRIM character value expression and the source character value expression were conflicting data types. The character and source value expressions must be the string data type. Check the syntax of the TRIM function, and check that the character and source values contain string data type values.
The TRIM function returned a string whose length did not span a range from 1 to 255 characters. The TRIM function returns a VARCHAR string. A VARCHAR string must have a length that ranges from 1 character to 255 characters. Check that the TRIM function returns strings whose length is within that range.
You tried to use the ALTER TABLE... ADD syntax to add a rowid column to a table that is not fragmented. This usage is not valid. If a rowid column already exists, rowids already exist on non-fragmented tables.
A fragmentation expression in your program is invalid. Check the expression, and correct it. Check the logic of that expression. Also, some components of that expression might not represent existing or defined elements such as columns, hash values, ranges, index key values, and so on.
Your program attempted to alter an index on a temporary table. Correct your program to avoid altering indexes on temporary tables.
You attempted to pass an invalid or NULL value to the dbinfo() function. Make sure you pass a valid or non-null value to the dbinfo() function.
When you issue a DROP TABLE or DROP VIEW statement, you cannot drop the table or view if you specify the RESTRICT option and a view or foreign-key constraint exists that depends on that table or view.
You also cannot drop a table if you specify the RESTRICT option and a violations and diagnostics table exists for that table.
You cannot use the RESTRICT option to REVOKE a privilege if that action will cause abandoned privileges, abandoned views, or abandoned table constraints. Refer to the Informix Guide to SQL: Tutorial for more information.
You attempted to attach a table that had constraints. Remove all referential and primary constraints from that table, and attempt an attach.
If this internal error recurs, please note all circumstance, and contact Informix Technical Support.
You cannot change the object mode of a temporary table object to the disabled or filtering object mode.
Other objects are using this object. If the object being disabled is an index, then a unique constraint, primary constraint, or referential constraint might be using that object. If the object is a unique or a primary-key constraint, then a referential constraint might be using that object.
The user has issued a SET statement to set a database object to the enabled or filtering object mode, or the user has issued a CREATE INDEX, CREATE TRIGGER, or CREATE TABLE statement to create a database object in the enabled or filtering object mode. However, this object needs other disabled objects. For example, before enabling a referential constraint on a table, the user must first enable the indexes that the constraint needs.
The object name that the user specified explicitly in the SET statement is not found in the database.
The user has issued a START VIOLATIONS TABLE statement for a target table. The database server is not able to create the violations and diagnostics tables for this target table. Any one of the following situations might be the reason for the failure:
If a violations and diagnostics 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, the user who issued the INSERT, DELETE, or UPDATE statement receives this message.
To recover from this error, you must start a violations and diagnostics table for the target table. Then, when users issue INSERT, DELETE, or UPDATE statements that fail to satisfy filtering-mode objects that are defined on the table, they do not receive this message.
The user has tried to alter or drop a table that is serving as a violations table or a diagnostics table for another table.
The user has tried to add, drop, or modify a column in a table that has a violations and diagnostics table associated with it.
The number of records in the diagnostics table either exceeds or will exceed the limit that is specified 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.
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.
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.
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 \etc\services (DOS) have not been made. Contact the person who installs your Informix software.
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.
A server name that is specified in your DBPATH environment variable is invalid. Check that each server name that is listed in your DBPATH setting is valid and is no longer than 18 characters. This message appears in Version 6.0 and later.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
The protocol type that is shown in the $INFORMIXDIR/etc/sqlhosts file (or in \INFORMIX\etc\sqlhosts on INFORMIX-OnLine for NetWare) should be tcp.
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.
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).
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.
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.
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.
The service servicename is not listed in the network configuration file /etc/services (UNIX) or \etc\services (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 \etc\services file on the client for the required entries.
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.
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.
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.
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.
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.
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.
You tried to define a union view with a check options. Redefine the union view without the check options clause.
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.
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.
You entered a value for a version that this command does not support.
The source string passed as input to a case conversion function must have a character data type.
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.
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.
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.
The database server resides on another computer system that does not accept (or cannot find) your account password. Verify that your password is correctly entered in the appropriate authorization or password file. This message appears prior to Version 6.0.
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.
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.
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.
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.
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.
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.
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.
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.
Please note the specifics of your system when this internal error occurred, and contact Informix Technical Support.
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 in-place alter table operation cannot be performed. Please see the accompanying ISAM error for more information.
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:
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.
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.
The user attempted to grant fragment-level privileges on an unfragmented table or on a table that is not fragmented by expression.
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.
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.
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.
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.
The key that the ACCEPTKEY environment variable specifies is one that INFORMIX-SQL always uses. Set a different value in the environment variable.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The AT clause of this OPEN WINDOW statement uses a negative number. The row and column sizes must be positive integers. Revise the statement.
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.
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.
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.
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.
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.
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.
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.
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.
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.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
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.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
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.
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.
FMP refers to INFORMIX-4GL/RF. See the installation documentation for your system.
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.
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.
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.
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.
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.
The year in a DATE value or literal must be either two or four decimal digits; that is, from 00 to 99 or from 0001 to 9999. The number 0000 and other numbers of digits are not acceptable.
The month in a DATE value or literal must be a one- or two-digit number from 1 to 12.
The day number in a DATE value or literal must a one- or two-digit number from 1 to 28, 30, or 31 depending on the month that accompanies it.
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.
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.
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.
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.
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
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.
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.
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.)
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Contact Informix Technical Support regarding this internal error.
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.
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.
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.
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.
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.
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.
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.
The database server attempts 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 literal representations of data values are correctly formatted.
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.
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.
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.
Only spaces can follow a DATETIME or INTERVAL literal. Inspect this statement for missing or incorrect punctuation.
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.
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.
In this statement, a DATETIME computation has produced a value that cannot be stored. This situation can occur, for example, if a very large interval is added to a DATETIME. Review the expressions in the statement, and see if you can change the sequence of operations to avoid the overflow.
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.
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). Review the program logic to make sure the arguments are correct. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.)
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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).
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).
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.
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.
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.
The current function does not return void but is about to exit without executing a RETURN statement.
A problem exists with a screen form. Look up error number in this document. Consider it in relation to the current statement.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This error indicates an internal problem in the runner. If the error recurs, please note all circumstances and contact Informix Technical Support.
The program called the errorlog() function without first calling the startlog() function. Review the program logic to find out the cause of this error.
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.
No current Informix product displays this message.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The program attempted to access outside the boundaries of the stack. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
The mechanism that allows the application to catch and handle internal errors could not complete its actions. Return to DOS, and restart Windows.
The Application Launcher, fglaunch, did not find the requested application.
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.
The program options for the Application Launcher, fglaunch, specified that the DLL dllname included resources, but no resources were found,
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.
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.
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.
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.
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.
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.
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.
A database operation was performed that is not part of ANSI SQL, although the current database is ANSI compliant. This message is informational only.
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.
You cannot CLIP a noncharacter expression.
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.
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.
The class specified in an AS clause of a NEW or COPY operation must be derived from the stated class.
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().
The program attempted to define a class for a second time.
An ixRow argument is expected as the first argument for the built-in functions UNPACKROW() and PACKROWINTO().
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.
Ensure that this account has sufficient privileges.
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.
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.
The account information is missing or invalid. Run User Manager to check the validity of this account.
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.
Do you also want to remove all Informix product files and directories? (Y,N,Q)
The database server runs under the user informix account, which must have the following privileges:
To verify that user informix has these rights, access the User Manager, and use the Policies/User Rights dialog box.
This message refers to the output of buildsmi.bat. For Windows NT, look into the file %INFORMIXDIR%\etc\buildsmi.out if "Error building sysmaster" appears in the online.log file.
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.
Check the actual file size of the chunk against the size that is specified for the mirror chunk in the ONCONFIG file.
The maximum number of characters, or maxnum, is 128.
Check to see that the user account exists and is valid.
Please ensure that the account used to start the database server is a member of the Informix-Admin group.
Look for the cause of this error in %INFORMIXDIR%\online.log.
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.
Ensure that this chunk exists and has the correct permissions for access.
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.
The maximum allowable number with the current configuration is num_chunks. Specify larger chunk sizes, and reduce the number of chunks.
The root dbspace has not been mirrored. To add mirroring, use onspaces or onmonitor.
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.
You must commit or rollback the current transaction before you disconnect.
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:
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.
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.
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 //.
The connection name is invalid. It must conform to the same rules as any other identifier; that is, it can be up to 18 characters long and can contain letters, digits, and the underscore character. Also, it cannot be an ANSI reserved word. If a connection name was used with the original CONNECT TO statement, you must use the connection name in subsequent connection statements. Check that the connection name is a valid identifier and that you are using the connection name and not some other value.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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 either a collection or row host variable declaration.
Certain data types cannot be cast on the client. The following situations return this error:
Check the SQL statement and make sure the types are compatible.
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.
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.
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.
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.
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.
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.
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.
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.
When you run the Form Compiler from the command line, you must specify either the -d option or the name of a form.
Nested comments are not supported. Review the form specification, and inspect all comments. Check that each open brace has a matching close brace.
Insert a close-comment symbol where appropriate in the report specification.
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.
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.
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.)
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.
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.
Names of fields and other identifiers cannot exceed the length that is shown. Revise the form specification, and recompile it.
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.
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.
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.
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.)
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.
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.
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.
The single character at the indicated position, although printable, is unexpected and does not fit the syntax of a form specification.
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.
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.
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.
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.
Ignore this message. It applies to a feature of PERFORM (joins) that 4GL does not support.
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.
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.
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.
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.
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.
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.
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.
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.
Review this ATTRIBUTES statement; a problem exists near a COLOR attribute. Look for missing punctuation.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
Make sure that a DELIMITERS statement is present and that it specifies the same character for both left and right delimiters.
This ATTRIBUTES statement contains a DEFAULT clause that specifies NULL. Either delete the clause, or specify another value.
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.
Check that the form-specification file contains a DATABASE statement, a SCREEN section, a TABLES section, and an ATTRIBUTES section, in that order.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This message is not in use in any current product. SQL does not support any NOW attribute or function; use the CURRENT function.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
The expression in this statement is too complex to process. Simplify it, and recompile the form. (See also error message -2988.)
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.
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.
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.
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.
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.
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.
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.
The INSTRUCTIONS section of this form has exceeded the ability of the form compiler to handle it. Remove some instructions to simplify the 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.
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.
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.
This improper call to an external C function has too many parameters. Find some way to pass the same information in fewer parameters.
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.
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.
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.
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.
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.
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.
This form specification has a SCREEN section but no TABLES or ATTRIBUTES sections. Complete the form specification.
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.
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.
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.
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.
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.
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.
The form compiler cannot get enough data memory to process the form specification. You must find a way to simplify the form.
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.
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.
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.
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.
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.
A limit exists on the number of joins that can be specified. You must find a way to simplify the form.
A limit exists on the number of tables that can be contained in one join. You must find a way to simplify the form.
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.
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.
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.
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.
Look up the error number in the finderr utility.
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.
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.
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.
The form file form-name does exist; however, your account does not have operating-system permissions to read and write it.
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.
Use FORMBUILD to compile the form, then run PERFORM again.
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.
Because another user has locked a table in exclusive mode, PERFORM cannot continue. Rerun the transaction when the table is not locked.
Please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
The form user has keyed! in the display of a BYTE field. However, no program= attribute was defined for this field.
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.
The data that is entered into the current field is not appropriate for the data type of the field.
You must first query the table before you execute the UPDATE, REMOVE, NEXT or PREVIOUS command.
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.
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.
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.
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.
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.
No rows in the database match the values that are entered in the form. Enter different values, and query again.
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.
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.
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.
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.
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.
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.)
Another individual is currently using the table. Wait a few moments, and reenter your statement.
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.)
You must first establish this table as the master of another table in the INSTRUCTIONS section of the form.
You must first establish this table as the detail of another table in the INSTRUCTIONS section of the form.
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.
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.
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.
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.
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.
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.
PERFORM cannot get the memory data space it needs. You will have to reduce the complexity of the form.
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.
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.
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.
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.
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.
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.
No current Informix product returns this message. If the error recurs, please note all circumstances and contact Informix Technical Support.
No current Informix product returns this message. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The Informix software product has been improperly installed. Review the installation procedure. If you need help, contact your Informix representative.
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.
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.
This message displays the command-line option of the sperform program.
Make sure that you typed the correct command-line option.
This error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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).
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).
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.
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.
Keywords cannot be used to name a function, report, variable, or constant. Consult the INFORMIX-4GL Language Reference for a list of reserved words.
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.
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.
A function with the specified name has already been declared in the current 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.
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.
An expression cannot have multiple .* suffixes.
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.
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.
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.
The parent class of the function "name" has an access permission (PRIVATE, PROTECTED, or PUBLIC) different from this declaration.
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.
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.
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.
The declaration for identifier::identifier can appear only in the global scope.
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.
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.
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.
A formal declaration for this function appeared previously in this source module. At this point, a definition in the informal function syntax appears.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A class name that is followed by the name of a member variable or constant is not allowed in this context.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
The compiler expected a string expression but found an expression that was neither CHAR nor VARCHAR data type.
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.
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.
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.
An operation such as expansion (.*), COPY, NEW, or THRU was attempted in an index expression.
While the compiler was optimizing expressions, it found an expression composed of literal values, at least one of which was NULL.
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.
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.
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.
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.
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.
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.
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.
The compiler was attempting to process a comparison between two string types (such as comparing function signatures), and the two strings had different bounds.
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.
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.
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.
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.
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.
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.
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.
The INITIALIZE statement cannot establish a match between the type of the column value and the type of the corresponding variable.
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.
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.
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.
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.
In this OUTPUT section, the statement REPORT TO appears more than once. Only one such specification is allowed. Remove all but one.
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.
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.
The indicated expression cannot be evaluated to a constant. Correct any other errors that might have been reported against this expression, and recompile.
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.)
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.)
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.
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.
The function name is declared as returning a result, so the CALL statement must provide a RETURNING clause to receive the result.
The element indicated is either not declared, or is declared but not defined, as a member of the class hierarchy "name."
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.
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).
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.
In the HANDLE statement, the event was prefixed with a "name." qualifier, but the name is not that of a known object.
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.
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.
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.
A POST statement specified something other than event. Member functions, handlers, and reports cannot be posted.
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.
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.
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.
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.
ARRAY [ ] OF CHAR(*) is not a valid type.
A constant cannot be used until it is defined. Therefore, a constant cannot be used in its own definition.
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.
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.
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.
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.
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.
Too many compiler errors have been detected. The compiler reports the errors it has found to this point and quits.
The executables fglc and fglp allow only 1 input file.
The function was declared with a RETURNING clause that specified other than VOID, but no RETURN statement occurs in the body of the function.
The CHAR(*) type is not allowed as an SQL type. It cannot be used in CREATE TABLE, ALTER TABLE, and so on.
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.
For calls to the built-in functions packrow() and unpackrow(), the first argument must be of type ixRow.
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.
Invalid expressions have been used in a THROUGH expression in an SQL statement.
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.
In a CONSTANT declaration or definition, the size of a character type constant (CHAR or VARCHAR) cannot exceed 255.
In the UPDATE and DELETE statements, the WHERE CURRENT OF cursor-name clause cannot cite a cursor name that has been declared as dynamic.
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.
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.
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.
The expression cannot be qualified by a subscript because the expression is neither an ARRAY nor CHAR() type.
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.
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.
A report cannot include a RETURN statement because that would return control to the routine that invoked the report.
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.
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.
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.)
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.
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.
The compiler failed to write some information to the output file because it ran out of disk space.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The index variable in a FOR loop must be an integer type. Specify a different variable, or redefine the one named.
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.
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.
Although RETURN is equivalent to EXIT PROGRAM in a MAIN program, it cannot include a value to be returned. NewEra programs return this error.
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.
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.)
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.
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.
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.
The program is too large to compile. Divide it into modules, and compile the modules separately.
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.
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.
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.
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.
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.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This message is not returned by any current Informix product. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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
No identifier can exceed 50 characters. Check the spelling and punctuation of all identifiers (perhaps two names have run together).
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.
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.
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.
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.
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.
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.
Change the appropriate DEFAULT or INCLUDE value in the syscolval table.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A report cannot include a RETURN statement because that would return control to the routine that invoked the report. Only NewEra returns this error.
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.
This message is not returned by any current Informix product. If the error recurs, please note all circumstances and contact Informix Technical Support.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
Verify that the filename is correctly spelled and that your account has permission to read or write to it.
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.
The function will have to be simplified. Extract some portion of its code to a separate function, and call that function.
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.
Each function (or report, which is similar to a function) must have a unique name within the program. Change the function or report name.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
In this report body, use separate DEFINE statements for parameters of the report and for local variables of any type.
This CONTINUE or EXIT statement is not appropriate in its context. Possibly the statement is misplaced, or possibly the statement type was specified incorrectly.
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.
You cannot specify more than one BEFORE clause for the same field.
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.
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.
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.
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.
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.
The CHAR(*) type is allowed only in function prototypes, as a parameter, not as an element of a record or class.
Two events in the same class cannot have the same 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.
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.
See error -1317, which has replaced this error.
See error -1318, which has replaced this error.
See error -1319, which has replaced this error.
See error -1320, which has replaced this error.
The type of a VALIDATE variable cannot be converted to the type of the validation values. Only NewEra returns this error.
See error -1321, which has replaced this error for products other than NewEra.
See error -1322, which has replaced this error.
See error -1323, which has replaced this error.
See error -1324, which has replaced this error.
See error -1325, which has replaced this error.
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.
See error -1326, which has replaced this error for products other than NewEra.
See error -1328, which has replaced this error.
See error -1329, which has replaced this error.
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.
For a DISPLAY AT statement, see error -1135, which has replaced this error. Since Version 4.0, the SCROLL statement accepts negative numbers.
See error -1330, which has replaced this error.
See error -1331, which has replaced this error.
See error -1332, which has replaced this error.
See error -1333, which has replaced this error.
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.
For products other than NewEra, see error -1334, which has replaced this error.
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.
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.
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.
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".
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.
Use a delimiter other than any of the 22 forbidden symbols that are listed here.
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.
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.
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.
The program has declared a variable of type CHAR with a size that is out of the acceptable range.
The declaration of the fort VARCHAR (maximum, reserved) has incorrectly specified a value for reserved that is not between 0 and maximum, inclusive.
Identifiers that are used for dynamic cursor names must be variables.
A formal argument cannot accept a character data type of unspecified length, such as CHAR(*).
A formal argument cannot specify a class name (or FOREIGN) as its data type.
The intrinsic member functions !copy() and !derive() must have PUBLIC access control, which is the default access control for member functions.
The -useccl compiler switch has been used. An ODBC error, shown here as "text", has been detected.
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.
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.
For a detailed description of the problem, see the repold.log file in either $INFORMIXDIR\temp or the current directory.
Updating the repository with a forward-declared class is discouraged.
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.
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.
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.
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.
The Communications Support Module vendor provides the error message text. For a description of the error and the corrective action, see the Communications Support Module documentation.
Check the system settings.
Check the system settings. Probably a Communications Support Module error occurred.
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.
The format specified is not supported and therefore cannot be converted to an Informix format.
The format element specified is unrecognized. It is probably not a legal Oracle format element.
The target string is not long enough to contain the converted format. You need to allocate more space for the target string.
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.
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.
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.
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.
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.
The table whose name was passed to this function has not been opened. The program must first call dbselect() to open the 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.
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.
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.
This call to dbfind() for a keyed search returned no data. The value that was requested was not found in the selected index column.
This call to dbfind() for the NEXT row produced no data. The end of the table has been reached.
This call to dbfind() for the PRIOR row produced no data. The beginning of the table has been reached.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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().
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Because the buffer that dbsetfileview() constructs does not use alignment, dbsetfileview() cannot build a buffer for columns that might have null values.
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.
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.
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.
This internal error should not occur. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
Before the program closes the database with dbselect(), it must end the current transaction. The program can use a call to dbcommit() or dbrollback().
Check the error number in the documentation for the subsystem that you are using.
You attempted to create an NCHAR (or NVARCHAR) column or declare an NCHAR (or NVARCHAR) variable, in a non-NLS database.
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.
Either the LANG or the LC_COLLATE environment variable setting is invalid. Set either or both variables to the values that your system supports.
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.
Either the LANG or the LC_CTYPE environment variable setting is invalid. Set either or both variables to the values that your system supports.
Either the LANG or the LC_MONETARY environment variable setting is invalid. Set either or both variables to the values that your system supports.
Either the LANG or the LC_NUMERIC environment variable setting is invalid. Set either or both variables to the values that your system supports.
Either the LANG or the LC_TIME environment variable setting is invalid. Set either or both variables to the values that your system supports.
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.
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.
Verify the arguments to the DataBlade API calls.
Verify the argument types that you use when you call the DataBlade API.
You called a DataBlade API incorrectly. Check that the value of individual arguments is correct and that the combination of all argument values is also correct.
This is an internal error. If it recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
This is an internal database server error. If it recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
Verify the arguments to the DataBlade API calls.
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.
A user-defined routine that was defined as not variant issued an SQL statement. Only variant user-defined routines can do this. Drop the routine and redefine it as variant.
Verify arguments to DataBlade API calls.
Prepare your SELECT statement before you define the cursor.
Verify arguments to DataBlade API calls. The statement handle used was invalid or improperly modified.
Verify the logic in the user-defined routine. You cannot retrieve or query results without an active query.
An argument to a DataBlade API is invalid. Verify the arguments used in each call to the DataBlade API.
If this error recurs, please note all circumstances and contact Informix Technical Support.
Check with your system administrator or database administrator.
Check with your system administrator or database administrator.
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.
Feature is not yet implemented. Review your release notes.
A SELECT, INSERT, UPDATE or DELETE statement was expected. Review the SQL statement in the user-defined routine.
Feature is not implemented.
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.
You requested parameter information calls for a non-DML statement. Parameter information can be obtained only for DML statements.
The data type you are using is not supported. Verify the type definition.
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.
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.
Verify arguments to DataBlade API calls. The connection handle used was NULL, not opened, invalid, or improperly modified.
If this error recurs, note all circumstances and contact Informix Technical Support.
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.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
Check the logic in your user-defined routine. You must open and close connections within the scope of the user-defined routine.
Check permissions on the file and its directory. For more help, call your system administrator or database administrator.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
Move the end-of-transaction callback inside your transaction.
Verify arguments to DataBlade API calls. NULL was passed but not expected.
Verify your CLIENT_LOCALE. If this error recurs, please note all circumstances and contact Informix Technical Support.
Verify your CLIENT_LOCALE. If this error recurs, please note all circumstances and contact Informix Technical Support.
Verify signature for routine specified for fastpath execution.
Specified user-defined routine must be a function or a procedure. Verify name and definition of routine to be called.
Verify spelling and definition of types used in the routine signature.
Verify spelling and definition of user-defined routine.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
Verify arguments to Blade API calls. The connection handle used was NULL, not opened, invalid or improperly modified.
Review arguments to user-defined routine.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
Verify spelling and definition of types used in the routine signature. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
The allowable range of values for a SMALLINT constant is -32,767 through 32,767. Only whole numbers are allowed, with only digit characters.
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.
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.
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.
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.
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.
The ACE compiler could not allocate memory that it needed. Try reducing the size of the report specification.
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.
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.
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.
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.
You cannot nest comments. Insert a close-comment symbol where appropriate in the report specification.
Insert a close-comment symbol where appropriate in the report specification.
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.
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.
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.
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.
You must devise a shorter identifier.
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.
The single character at the location that is shown is not syntactically correct; it cannot be interpreted as part of a report specification.
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.
ACEPREP supports the following command-line options:
ACEGO supports the following command-line options:
Revise the left and right MARGIN statements in the OUTPUT section to reasonable margin values.
Reduce the length or number of character variables in the report specification.
Revise the statements in the OUTPUT section to have reasonable values.
Reduce the length or number of strings in the report specification. Identical strings are stored only once.
Reduce the number of numeric constants that the report-specification file uses.
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.
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.
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.
You have exceeded the maximum levels of nested IF statements. You must simplify the logic of the report.
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.
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.
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.
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.
Make sure that the control columns are specified identically in both the ORDER BY statement and the GROUP OF clauses.
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.
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.
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.
Make sure that every CHAR and VARCHAR field in the DEFINE section has a nonzero length specification.
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.
The variable, parameter, or field name was not defined in the DEFINE section. If name is spelled correctly, it must be defined.
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.
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.
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.
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.
ACEGO limits the number of columns that can be ordered. You must reduce the number of columns that are listed following ORDER BY.
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.
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.
The PRINT statements in a page header or trailer establishes its size. To set a larger size, use PRINT statements with no parameters.
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.
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.
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.
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.
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:
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.
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).
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).
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.
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.
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.
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.
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.
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.
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.
Probably your account does not have write permission in that directory, the disk is full, or you have exceeded a limit on open files.
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).
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:
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.
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).
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.
A limit exists on the size of the format string that is presented to the USING function.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
Reduce the complexity of the arithmetic expression. For example, divide the expression into subexpressions and assign the values of each to a variable.
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.)
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
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.
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.
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).
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").
The USING function can only be applied to numeric data. Revise the report specification.
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.
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.
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.
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.
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.
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.
Move the reference to a collection column in the GROUP BY list.
Either remove the DISTINCT clause or remove the collection column(s) from the SELECT clause.
Remove the reference to a collection column in the GROUP BY list.
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.
You cannot join a table derived from a collection with a table. Remove TABLE(:coll_host_var) from the FROM clause of your query.
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.
Only '*' or column names are allowed in the select list for derived tables that use collections. Check your SELECT list.
UPDATE statements do not require derived column lists. Columns are listed in parenthesis following a table name. Remove the derived column list from the UPDATE statement.
Use the AT keyword only when you are inserting into a LIST.
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.
Collection derived tables can only be updated using constants, host variables, or table columns.
For collection-derived tables, you need not provide a column name alias. Remove the column name alias.
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.
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.
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.
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.
When you use the CREATE OPAQUE TYPE statement to define a fixed-length opaque type, you should not specify the maximum length modifier.
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.
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.
USAGE permission is required for the use of opaque types. Use the GRANT USAGE ON TYPE statement to grant permission to use a type.
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.
Opaque types must be unique within the schema (ANSI mode) or database. Be sure that the type does not already exist.
Automatic conversions between data types require implicit casts. Use the CREATE IMPLICIT CAST statement to define a cast between the source and destination types.
Conversions of column types require a cast. Use the CREATE CAST statement to define a cast from the source to destination type.
The specified cast does not exist. Use the CREATE CAST statement to define the cast.
You should not encounter this error. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
The function associated with a cast must exist when the cast is executed. Use the CREATE FUNCTION statement to create the function.
The UNDER clause in the GRANT/REVOKE statements applies to row types only. It cannot be used with opaque types.
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.
Before you can drop a type, you must first drop all distinct types based on the type.
The DROP TYPE statement applies to opaque and distinct types only. Use DROP ROW TYPE statement to drop row types.
The system imposes a limit of 32,768 bytes on quoted strings. You cannot exceed this limit.
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.
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.
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.
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.
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.
All functions must return a value. Specify a return clause or use a CREATE PROCEDURE statement.
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.
The name of the parameter in a CREATE FUNCTION or CREATE PROCEDURE statement is optional only for external routines. Specify the parameter name.
Do not specify these modifiers for SPL routines.
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.
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.
Do not specify SELFUNC modifier to a SPL routine or an external procedure.
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.
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.
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.
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.
The specific name specified in the CREATE PROCEDURE or CREATE FUNCTION statement is longer than 128 bytes. Shorten the name.
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.
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.
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.
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.
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.
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.
When you invoke a remote routine, you cannot pass newly created types such as user-defined data types, distinct types, row types, and boolean.
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.
An internal programming error occurred. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
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
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
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
The following error message appears in the log:
ERROR: Loading Module module_name
A bad external name, missing file, or wrong permissions might cause this error. Log message log_message_number contains the UNIX error number no encountered and the actual module name being used. For C language on UNIX, the following log message might appear:
Error_number: C Language Module module_name can't load error_string
In the error message, error_number is the current UNIX error number, module_name is the module name from the catalog, and error_string is the dlerror() explanation.
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.
The following error message appears in the log:
ERROR: Unloading Routine error_name procid = process_ID_number
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
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
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
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
You cannot add a type to a table that is already typed. Drop the table type and try adding the type again.
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.
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.
The column names and the column types of the view do not match the field names and the field types of the type. Change them to match.
Cannot have a ROWIDS column in a typed table. Either untype the table with ALTER TABLE or do not create a ROWID column.
You cannot have SERIAL/SERIAL8 data types in CREATE ROW statements. They are allowed only as table-column types.
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;
You need to have an sbspace created and specified as the default value for the SBSPACENAME parameter in your onconfig file. If you do not have such an sbspace created and specified as the default in your onconfig file, the following example fails:
SBSPACENAME test_sbspace #default sbspace in onconfig file
onspaces -c -S test_sbspace -g 1 -p
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.
Internal error. Contact Informix Technical Support.
Internal error. Contact Informix Technical Support.
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.
You are calling a function that creates an operating-system file, but the filename specification supplied is not valid.
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.
Internal error. Contact Informix Technical Support.
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.
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.
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.
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.
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.
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';
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.
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.
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.
You cannot specify ASC or DESC in the key part if you are using an access method other than btree.
A functional key part can only take between 1 and 16 arguments.
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.
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.
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.
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).
The compare routine used for a generic B-tree cannot be written in SPL. You should rewrite the compare routine in C.
The access method that you are creating with a CREATE ACCESS_METHOD statement already exists. You must use a new name.
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.
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.
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.
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.
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.
A CREATE TABLE or CREATE INDEX statement has an IN clause that references an extspace that does not exist. Use an existing extspace.
An ALTER TABLE or ALTER INDEX statement has an option that is not supported by the access method. Remove the option.
A CREATE UNIQUE INDEX statement used an access method that does not support unique keys. Remove UNIQUE.
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.
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.
An access method routine failed to execute properly. The RSAM error code gives more information.
The opclass being created with a CREATE OPCLASS statement already exists. Use a new name.
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.
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.
A DROP ACCESS_METHOD or ALTER ACCESS_METHOD statement uses an access method that does not exist. Use the correct 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.
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.
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.
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.
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.
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.
Could not determine the internal SQL data type. If this error recurs, please note all circumstances and contact Informix Technical Support.
Could not find the attribute information for a domain or type. If this error recurs, please note all circumstances and contact Informix Technical Support.
You cannot use an ALTER statement to change a column type to a collection type.
You cannot use an ALTER statement to change a column type from a collection type to another type.
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.
The fields of a row within a collection and the elements of a collection cannot be of type TEXT, BYTE, SERIAL, or SERIAL8.
Default values are not supported in the definition a column of a collection type. Remove the default value clause.
Constraint expressions are not supported in the definition of a column of a collection type. Remove the constraint clause.
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.
No cast is needed between identical types. Casts between built-in types are handled by internal system casts and cannot be overloaded.
The requested cast does not exist. Use the CREATE CAST statement to define the cast.
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.
Do not create or alter a table with columns of row type that contain primary key, foreign key, or unique constraints. Do not create an index or union that involves row-type columns. However, you can create a union that involves row-type columns if you use the UNION ALL statement instead of the UNION statement.
You have opened a collection with the flags 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.
You have opened a collection with flags MI_COLL_READONLY and then attempted to modify the collection. Do not open the collection with this flag or do not modify the collection.
Subquery collections opened with the flags MI_COLL_READONLY and MI_COLL_NOSCROLL cannot be opened again.
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.
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 =
;
The specified data type does not exist in the database. Check sysxtdtypes to make sure that the data type exists before you use it.
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.
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.
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.
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.
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.
The elements of a collection must always be non-null. Do not attempt to insert NULL values as elements to a collection. The fields of a row within a collection can be NULL, but the elements of the collection cannot be NULL. 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));
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.)
You can use a positional insert statement only with collection of type LIST. Remove the AT clause from your insert statement.
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.
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.
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.
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.
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.
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.
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.
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.
You attempted to store a row with incorrect field types into a collection. Verify that the row fields match those of the collection.
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.
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.
The named row type specified does not exist in the database. Verify its existence by selecting from sysxtdtypes.
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.
The ONLY syntax is not legal over TABLE expressions over collections. Use ONLY on supertables; that is, parents in an inheritance chain.
Cannot alter a table to drop its type if the table is not typed. Make sure you are referring to the correct table.
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.
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.
A connection string attribute is specified that is unsupported for SQLBrowseConnect and SQLDriverConnect. Check the list of valid attributes.
An error occurred while fetching one or more rows with SQLExtendedFetch. Check the rgfRowStatus array.
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.
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.
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.
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.
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.
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.
The connection that the hdbc argument specifies is not open. Validate that the SQLConnect, SQLDriverConnect, or SQLBrowseConnect calls succeeded.
The data source rejected the establishment of the connection for implementation-defined reasons. Confirm that the password and user ID are correct.
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.
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.
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.
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.
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.
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.
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.
The cursor name specified already exists. Specify a unique cursor name.
A syntax error occurred in the SQL statement. Check the syntax of the SQL statement.
The driver associated with hdbc does not support the function. Confirm that the function you request is valid for the driver.
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.
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.
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.
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.
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.
The attribute value for the DRIVER keyword is more than 255 characters. Use a keyword that is less than 255 characters.
The keyword-value pair for the DRIVER keyword contains a syntax error. Check that you entered the correct spelling and path for the driver.
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.
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.
The argument szSqlStr contains a CREATE INDEX statement, but the specified index name already exists. Reword the statement to use a unique index name.
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.
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.
An error occurred that has no specific SQL_STATE. In this case, additional text is provided that identifies the source of the problem.
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.
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.
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.
Check that the arguments passed with the CLI request are correct.
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.
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.
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.
The value specified for the argument cbValueMax is less than zero. Supply a value for the argument cbValueMax that is zero or greater.
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.
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.
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.
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.
An invalid fFunction value is specified. For a list of valid values for the fFunction parameter, check the INFORMIX-CLI Programmer's Manual.
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.
An invalid fColType value is specified. For a list of valid values for the fColType parameter, check the INFORMIX-CLI Programmer's Manual.
An invalid fScope value is specified. For a list of valid values for the fScope parameter, check the INFORMIX-CLI Programmer's Manual.
An invalid fNullable value is specified. For a list of valid values for the fNullable parameter, check the INFORMIX-CLI Programmer's Manual.
An invalid fUnique value is specified. For a list of valid values for the fUnique parameter, check the INFORMIX-CLI Programmer's Manual.
An invalid fAccuracy value is specified. For a list of valid values for the fAccuracy parameter, check the INFORMIX-CLI Programmer's Manual.
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.
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.
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.
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.
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.
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.
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.
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.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
Sbspace entry might already be in the table.
Chunk with this number might already be in the table.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
Sbspace might not exist or invalid pointer.
Might be caused by an invalid pointer.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
You attempted to reference a chunk that is being dropped from the sbspace. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
You cannot delete an extent map for a smart large object. Ensure that the chunk is accessible. If this error recurs, please note all circumstances and contact Informix Technical Support.
Cannot delete user data slot. First ensure chunk is accessible. If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
The user data areas have insufficient storage for a write request. Delete some smart large objects or add a chunk to the sbspace.
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.
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.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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 was correctly initialized.
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.
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.
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.
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.
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 set by the application. This size limit was set by the CREATE or ALTER statement for the smart large object.
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.
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.
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.
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.
Call to isenter() failed.
If this error recurs, please note all circumstances and contact Informix Technical Support.
The smart large object being referenced by the smart-large-object pointer has been deleted. Ensure that the large object pointer is valid and that the 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 large object at session end.
The system ran out of memory during a smart-large-object operation. Add more virtual memory or determine the cause of the memory leak.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
No default smart-large-object space was found, and the caller has not provided one. 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.
The chunk might be down. Ensure that the smart-large-object space chunk is up.
The chunk might be down. Ensure that the smart-large-object space chunk is up.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
The smart-large-object space is corrupt or down. If the space is down, perform the actions necessary to bring it back on-line.
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.
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.
If this error recurs, please note all circumstances and contact Informix Technical Support.
User data free list cannot be manipulated.
Cannot read smart-large-object header page for smart large object. Cannot update smart-large-object header page for smart large object.
Cannot update extent map for smart large object.
Optimization data cannot be put into the sbspace description entry.
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.
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.
An attempt to drop the pre-image temporary partition failed. Ensure that the dbspace in which temporary partitions are placed is accessible.
An attempt to write a pre-image page during archive failed. Ensure that the dbspace in which the temporary partitions are placed is accessible.
An attempt to read a pre-image page during archive failed. Ensure that the dbspace in which the temporary partitions are placed is accessible.
During an archive restore, a page-write operation to the chunk failed. Ensure that the device is accessible.
An unimplemented smart-large-object feature was accessed. Wait until the next release.
Another archive is already running on the same sbspace. Ensure that you do not have another archive running on the same smart large object space. Only one archive operation on a sbspace at a time is permitted.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
You specified an illegal archive level. You must specify an archive level of 0, 1, or 2.
The reference count for the smart large object is already 0. Attempts to decrement the reference count to less than 0 are ignored.
An attempt was made to archive a page outside the user data area. If this error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
A programmer has 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.
The DBA attempted to perform an alter operation on a smartblob 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.
The database server has received a smart large object create specification that has invalid values in the column portion. Either the application programmer forgot to call the fx_lo_def_create_spec function or the mi equivalent with create specification, or the create specification data structure has been corrupted.
Database server initialization error.
Either the databases server or the DBA has brought the smart large object space down. Look at the Database server log to determine why the sbspace is downed. You might need to the smart-large-object space.
The system could be out of memory.
If this error recurs, please note all circumstances and contact Informix Technical Support.
The application programmer has 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.
The application programmer has 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.
Object may have been deleted.
If this internal error code for access sequence recurs, please note all circumstances and contact Informix Technical Support.
The archiver detected a Smart Large Object missing an extent map slot or a header slot. The archive process is corrupted.
The page unit must be between 1 and the maximum asynchronous I/O size. Re-execute the creation command with a correct page unit.
You entered a bad value for avg_lo_size, in kilobytes, during the creation of a smartblob space. Re-execute the creation command with a correct average smart-large-object size, in kilobytes.
0 <= Smart Large Object < 2 TB
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 <= meta data area size < chunk size
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.
An inconsistency has been found in the data used to invoke access method routines.
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.
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.
An error occurred when an attempt was made to execute an access_method routine. Try the statement again.
An access_method routine returned MI_ERROR.
An access_method routine returned a value that is not valid. Possibly a bug exists in the access_method routine.
An error occurred in building a row descriptor to be used by an access_method routine.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
Not enough memory to run in this configuration.
Check the system parameters.
Communication Support Services could not locate a Communications Support Module with the given name.
Check the Communications Support Module definition in the Communications Support Module configuration file.
Communication Support Services failed to load a shared library that contains a Communications Support Module.
Check the shared-library object validity.
Communication Support Services does not support the version of the Communications Support Module interface that a given Communications Support Module uses.
Contact the Communications Support Module vendor.
A Communications Support Module returned an unusual completion status.
Contact the Communications Support Module vendor.
For communications Communications Support Module: the peer disconnected.
Perform the connection closure procedures.
Communication Support Services internal error.
For communications Communications Support Module: a Communications Support Module inside the cascade disconnected.
Contact the Communications Support Module vendor and the Communication Support Services developers.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
A shared library that contains a Communications Support Module does not export a Communications Support Module initialization function.
Contact the Communications Support Module vendor.
Error in Communications Support Module configuration file.
Correct the Communications Support Module description.
Communication Support Services caller did not specify the name of a Communications Support Module to be used by Communication Support Services.
Check the Communication Support Services caller configuration.
For communications Communications Support Module: Communication Support Services caller did not provide a buffer management function in I/O reference context to Communication Support Services.
Contact the Communication Support Services developers.
Failure performing data output.
See Communication Support Services caller\106s error message.
For communications Communications Support Module: Communication Support Services caller did not provide a data output function in I/O reference context to Communication Support Services.
Contact the Communication Support Services developers.
The database server or client's attempt in order 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 CSS 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.
* Establishment of the Communications Support Module context failed.
Contact the Communications Support Module vendor.
For communications Communications Support Module: Communication Support Services caller did not provide a buffer management function in reference context to Communication Support Services.
Contact the Communication Support Services developers.
Error while disposing of a data buffer provided by a Communication Support Services caller.
Contact the Communication Support Services developers.
Communication Support Services caller passed a null library context to Communication Support Services.
Contact the Communications Support Services developers.
For communications Communications Support Module: Communication Support Services caller passed a null I/O reference context to Communication Support Services.
Contact the Communication Support Services developers.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
Communication Support Services could not get access to a Communications Support Module configuration provided by a Communication Support Services caller.
Check the configuration parameters of the respective Communication Support Services caller.
There is an error in the Communications Support Module configuration file.
Check the Communications Support Module configuration file. If the problem persists, contact the Communication Support Services developers.
Communication Support Services caller passed a null context to Communication Support Services.
Contact the Communication Support Services developers.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
Communication Support Services internal error.
Contact the Communication Support Services developers and provide both the error code specified in the error message text and the Communications Support Module configuration that you are using.
The Communications Support Module descriptor contains a syntax error.
Check the Communications Support Module descriptor in question.
A Communications Support Module with this name has already been defined.
Check the Communications Support Module configuration.
The cascade descriptor refers to a Communications Support Module that is not defined.
Check the Communications Support Module configuration.
Communication Support Services internal error.
Contact the Communication Support Services developers.
Communication Support Services internal error.
Contact the Communication Support Services developers.
A Communications Support Module descriptor does not specify the Communications Support Module name.
Check the Communications Support Module description.
Cascade descriptor recursively refers to itself.
Check the Communications Support Module description.
Communications Support Module library name is not specified.
Check the Communications Support Module description.
Communication Support Services internal error.
Communication Support Services internal error.
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.
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.
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.
Your expression or search pattern includes a numeric string of more than 50 characters. Repeat the command, specifying a shorter expression or search pattern.
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.
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.
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.
The maximum length of a quoted string is 256 characters. Repeat the command with a shorter string.
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.
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.
You have omitted a required command option. Enter help all to display the names of all the Debugger commands or refer to the manual.
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.
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.
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.
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.
Either you omitted a right parenthesis from a command argument, or you included a superfluous left parenthesis.
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).
A Debugger LET command requires three arguments:
The identifier could not be recognized in the command that you entered.
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.
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.
You must use left and right brace characters ({ and }) in balanced pairs.
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.
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.
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.
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.
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.
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.
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.
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).
The Debugger will accept pathnames of up to 70 characters.
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.
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.
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.
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.
This message reflects a condition that was expected never to occur. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
The VIEW command requires the name of a 4GL source file.
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.
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.
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.
Your command includes a backslash symbol that cannot be interpreted as a command-line continuation symbol. Repeat the command without invalid backslashes.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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).
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.
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.
You specified a breakpoint to the NOTRACE command or a tracepoint to the NOBREAK command. Each command can deal only with its own objects.
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.
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.)
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.
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.
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.
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.
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.
You can display only variables that are defined in the active function. This variable is defined in function name, which is not active.
A LET command requires as its first argument a variable name. Do not put quotes around the name.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
You must specify the name of a .4db file in a READ command.
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.
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.)
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.
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.
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.
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.)
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.
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.
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:
You cannot execute a READ command that might create an infinite loop.
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.
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.
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.
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.
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.
You are probably out of memory. Take whatever steps your operating system permits to increase the amount of available memory.
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.
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.
Repeat the command. If the error recurs, please note all circumstances, and contact Informix Technical Support.
The database command requires the name of a database as its argument.
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.
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.
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.)
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.
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.
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.
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.
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.
A program was unloaded with the command UNLOAD PROGRAM, but no program was subsequently loaded with the command LOAD PROGRAM.
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.
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.
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.
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.
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.
Check your privileges and permissions. A user or role must be granted a role using the GRANT statement before the role can be set.
A role cannot be granted database-level privileges. Use the GRANT statement to grant database-level privileges to the user or to PUBLIC.
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.
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.
Use the correct password.
You can set a database password only for a user.
Choose a database password with a length that does not exceed eight characters.
The specified operation cannot be performed on the 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.
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.
You cannot create a temporary table to include the replication shadow columns.
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.
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.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
The name in the record has already been used, so it is not unique. Change the name of the record variable and try again.
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.
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.
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.
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.
Check that the CALL syntax is correct and verify whether data is corrupted before you call Informix Technical Support for assistance.
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.
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.
You must change the name of the object identifier, cursor, or statement ID so that it does not contain a hyphen.
The ESQL/COBOL preprocessor does not expand the record that contains repeated data items. Please change the record and try again.
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.
The specified host variable was accessed but was not declared. You must declare the host variable in the declaration section and try again.
The host variable has been declared more than once. Check for the duplicate variable declaration and redeclare one of the variables.
The maximum number of levels for valid record nesting is 100. Reduce the number of nested records and try again.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
Currently, INFORMIX-ESQL/COBOL does not support the declaration P (decimal scaling position) in a PICTURE clause.
Change the USAGE clause for the host variable so that the host variable is not a pointer and try again.
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.
This compiler does not support floating-point numbers.
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.
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.
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.
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.
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.
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.
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.
A pointer variable is used with the wrong number of level indirection. Check the indirection levels in the ESQL statement.
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)
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.
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.
For this INFORMIX-ESQL/FORTRAN preprocessor error, check the data type of the symbol. Type-name must be a valid SQL data type.
You cannot specify RAISE in a WHENEVER statement. Delete the statement, or substitute a valid option.
You cannot specify PERFORM in a WHENEVER statement. Delete the statement, or substitute a valid option.
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.
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.
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.
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.
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.
This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The symbol is not a declared type. Declare type-name and try again.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
This message indicates an INFORMIX-ESQL/FORTRAN preprocessor error. The symbol is not an array variable or the dimension is incorrect.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
More than one compiler option has been specified on the command line for the ESQL processor. Try again and specify only one compiler option.
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.
More than one application option has been specified on the command line for the ESQL processor. Try again and specify only one application option.
The ESQL processor cannot open the ESQL response file that is specified on the command line.
The ESQL processor cannot allocate memory dynamically.
The ESQL processor cannot spawn the ESQL preprocessor.
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.
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.
The ESQL processor cannot open the specified file. Check that you have specified the file correctly.
The ESQL processor cannot spawn the compiler.
The ESQL processor cannot spawn the linker.
The ESQL processor cannot spawn the resource compiler.
The ESQL processor cannot create the temporary file. Delete the temporary files that start with "eq" in the specified directory.
No command-line parameter file has been specified for the ESQL processor. Try again and specify a command-line parameter file.
Too many parameters were specified on the command line for the ESQL processor. Re-enter the command and specify fewer parameters.
No source file has been specified on the command line for the ESQL processor. Re-enter the command and specify a source file.
The specified list file or response file has an incompatible file format for the ESQL processor.
The ESQL processor has terminated processing due to one or more compilation errors.
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).
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.
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.
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.
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.
An invalid argument has been passed to the internal code-set conversion initializing function. Check the logic of your application program.
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.
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.
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.
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.
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.
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.
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.
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.
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 Version 7.2 products are installed. This directory should also contain the /gls directory where the locale and code-set files reside.
The SE server does not allow a multibyte database name in the specified environment. Change the database name.
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.
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.
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.
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.
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.
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.
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.
The database server detected an error when it attempted to acquire a block of virtual memory from the operating system.
Contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
This error code is currently unused.
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.
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.
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.
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.
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.
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.
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.
A request to drop cogroup_all fails because cogroup_all cannot be dropped.
Avoid requests to drop cogroup_all.
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.
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.
A request to create a coserver fails because the maximum allowed number is already in use.
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.
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.
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.
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.
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.
Contact Informix Technical Support for help in addressing this internal error.
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.
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.
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.
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).
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.
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".
The session ID associated with a backup or restore request was not valid. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
A session ID supplied to onbar is the same as a currently active session ID. Resubmit the onbar command using a different session ID.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
Refer to the OnBar logs for more information about this error.
Change the setting of the LOG_BACKUP_MODE parameter in your configuration file to MANUAL or CONT and retry the request.
An invalid logstream or logid was specified for a backup or restore. Check command-line parameters to onbar and retry the operation.
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.
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.
Another user is currently using the external table. Wait for the external table to be unlocked before you proceed.
An error occurred when the database server tried to close the external table lock. Please note all circumstances and contact Informix Technical Support.
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.
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.
An error occurred when the database server tried to read from the file. Check the accompanying errno for more information.
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.
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.
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.
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.
Please note all circumstances and contact Informix Technical Support regarding this internal error.
An error occurred when the database server tried to read or write to a datafile. Check the accompanying errno for more information.
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.
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.
An error occurred when the database server tried to write to the unload datafile. Check the accompanying errno for more information.
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.
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.
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.
An error occurred when the database server tried to write to the reject file.
Check the accompanying operating-system error indication for more information.
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.
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.
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.
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.
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.
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.
The DATAFILES entry in the CREATE EXTERNAL TABLE statement (or SELECT...INTO EXTERNAL statement) is missing. Add a DATAFILES entry and reissue the statement.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Please note all circumstances and contact Informix Technical Support regarding this internal error.
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.
A nonrecoverable internal error occurred within the transaction- management system.
Please note all circumstances and contact Informix Technical Support.
An internal error occurred within the transaction-management system.
Please note all circumstances and contact Informix Technical Support.
An internal error occurred within the transaction-management system.
Please note all circumstances and contact Informix Technical Support.
A nonrecoverable error occurred within the transaction-management system.
Please note all circumstances and contact Informix Technical Support regarding this internal error.
A nonrecoverable error occurred within the transaction-management system.
Please note all circumstances and contact Informix Technical Support regarding this internal error.
A nonrecoverable error occurred within the transaction-management system.
Please note all circumstances and contact Informix Technical Support regarding this internal error.
The CREATE TABLE statement contains more than one table type.
Check the statement to make sure that only one table type is defined.
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.
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.
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.
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.
An error occurred when the database server tried to execute an express-mode load because the source external table disagrees with the target table type. The external table was defined with the EXPRESS keyword, but the target table has the table type of STANDARD. Either alter the table type of the target table, or re-create the external-table description without the EXPRESS keyword.
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.
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.
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.
Try separating the ALTER TABLE statement into its own single-statement transaction.
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.
The name given to the EXPLAIN output file is null. Provide a name for the EXPLAIN output file.
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.
The table type (standard, raw, etc.) of each attached table must match that of the surviving table.
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.
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.
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.
DDL (Data Definition Language) Statements (such as CREATE VIEW) are not supported while connected to a secondary coservers.
Reconnect to coserver 1 and execute the DDL statement.
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.
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.
Fragmentation scheme cannot be specified when creating cluster index.
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.
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.
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.
The HAVING clause in a query should be accompanied either by a GROUP BY clause or it should be accompanied 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.
The database server cannot create a general-key index for the reason stated in the error message. Correct the CREATE GK INDEX statement.
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.
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.
If this internal error recurs, note all circumstances and contact Informix Technical Support. Be sure to record the information given in the 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.
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.
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
Refer to the ONBar activity log and server message log for more information.
Refer to the ONBar activity log and server message log for more information.
Refer to the ONBar activity log and server message log for more information.
Refer to the ONBar activity log and server message log for more information.
The dbspace that you have specified does not exist in your system. Check that the dbspace supplied on the onbar command line is valid.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this sqlexecd internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
Check that the server name is 18 characters or less in length. The server name must start with a letter and must be all lowercase characters. It can include letters, numbers, and underscores. Beginning with Version 6.0, server names can start with an underscore.
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.
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 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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
See the system administrator regarding this operating-system error. Check that the system clock is set correctly.
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.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
A system call has failed. See the UNIX system administrator for assistance.
Check the value of the USERTHREADS parameter in the ONCONFIG configuration file and the value of the userthreads field of the NETTYPE parameter.
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:
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.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. See the UNIX system administrator for assistance.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
A system call has failed. See the UNIX system administrator for assistance.
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.
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.
See the UNIX system administrator or the network administrator for assistance.
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.
The buffer size that is specified in the servicename column is not valid. Check that the servicename column of your sqlhosts file is correct.
A system call has failed. See the UNIX system administrator for assistance.
A system call has failed. Perform a DISCONNECT and then check the status of the server. See your UNIX system administrator for assistance.
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.
A system call has failed. See your system administrator for assistance.
This error indicates that an invalid user ID or password was used to connect to the database server. Redefine a valid user ID and password.
This error can also occur if the SCM option is enabled on the database server side but disabled on the client application side, or vice versa. If you wish to use a CSM, make sure that the CMD option is set in the sqlhosts file for both the database server and client application.
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.
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.
Report this operating-system error to the operating-system administrator. It might require a system reboot.
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.
An error occurred when you tried to connect to the desired database server. If you are using Informix Dynamic 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.
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.
This system failure might indicate a problem accessing environment variables. Note the system error number and see the operating-system administrator for assistance.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
Check with your system administrator for problems with the system.
Validate that the named relay module is installed on your system.
Check with your system administrator for problems with the system.
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.
Check your application to make sure that your database syntax uses the correct options accordingly in the statements.
Check that you have set the SQLEXEC environment variable to the local INFORMIX-SE database server (for database servers prior to Version 6.0).
Check that you have installed the database server.
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.
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.
The glossary database has not been created yet. Select the Refresh option from the HOST-TABLE Menu. The database will be created automatically.
The host table that you specified is not listed in your glossary. One of the following causes might apply:
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.
Your host-table glossary contains no information. One of the following causes might apply:
Verify that the Answer/DB Profile Name parameter on the SETUP screen is correct. Refresh your host-table glossary, if needed.
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.
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
DataExtract cannot initialize Answer/API. For more information, see the API error message.
DataExtract cannot establish the connection to Answer/Extractor on the host computer. For more information, see the API error message.
DataExtract cannot establish the connection to Answer/Extractor on the host computer. For more information, see the API error message.
DataExtract cannot establish the connection to Answer/Extractor on the host computer. For more information, see the API error message.
DataExtract cannot initialize the environment descriptor data structure for Answer/API. For more information, see the API error message.
DataExtract cannot initialize the query statement descriptor for Answer/API. For more information, see the API error message.
DataExtract cannot initialize the field descriptor for Answer/API. For more information, see the API error message.
DataExtract cannot initialize the cursor descriptor for Answer/API. For more information, see the API error message.
While exiting, DataExtract cannot terminate Answer/API. For more information, see the API error message.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
The SELECT clause in the current EXTRACT statement is invalid. For more information, see the API error message.
The SELECT clause in the current EXTRACT statement cannot be executed on the host. For more information, see the API error message.
For more information on this internal error, see the accompanying API error message.
DataExtract cannot retrieve the results of the current EXTRACT statement from the host. For more information, see the accompanying API error message.
DataExtract encountered an error while it was retrieving data from the host. For more information, see the accompanying API error message.
DataExtract cannot successfully terminate access to the results for the current EXTRACT statement. For more information, see the accompanying API error message.
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.
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.
DataExtract cannot cancel the current SELECT clause that has been submitted to the host. For more information, see the accompanying API error message.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The lock time that you entered is invalid. Change the lock time to a number from 1 to 300.
The stable time that you entered is invalid. Change the stable time to a number from 2 to 18.
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.
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.
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.
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.
The specified Answer/Extractor processing class is incorrect. Change the Class parameter to a number from 1 to 15.
The specified processing timeout limit is incorrect. Change the Host Process Timeout parameter to a number from 1 to 1,440.
The specified value is incorrect. Change the value to within the accepted range.
The specified value is incorrect. Change the value to within the accepted range.
The specified value is incorrect. Change the value to within the accepted range.
You answered a prompt with a letter other than Y or N. Change your answer to Y or N.
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.
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.
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.
The current EXTRACT statement is missing the host-table name or the entire FROM clause. Correct and rerun the EXTRACT statement.
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:
SIZE clause contains unacceptable characters. An acceptable value must be a number from 1 to 9,999.
The specified value is incorrect. An acceptable value must be a number from 1 to 9,999.
This message indicates a memory-allocation error. Memory Manager could not allocate memory. Exit DataExtract and retry the option.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
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.
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.
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.
DataExtract does not support model 5 terminals. Reconfigure your 3270 emulator software to a model 2 terminal and restart DataExtract.
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:
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
The password for the connect or disconnect script is incorrect. Verify your connect or disconnect script password on the SETUP 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.
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.
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.
The specified host environment is invalid. Correct the Host Environment parameter on the SETUP screen.
The specified Answer/Extractor password is invalid. Verify the Answer/DB Password parameter on the SETUP screen.
The specified Answer/Extractor profile name is invalid. Verify the Answer/DB Profile Name parameter on the SETUP screen.
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.
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.
The connect or disconnect script cannot be opened. Verify that the connect or disconnect script file has the correct permissions.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
The SELECT clause in the current EXTRACT statement is missing the FROM clause. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement is invalid. Correct the EXTRACT statement and rerun it.
The SELECT clause in the current EXTRACT statement has an invalid FROM reference. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement contains an invalid range variable. Correct and rerun the EXTRACT statement.
The WHERE clause in the current EXTRACT statement contains an invalid comparison. Correct and rerun the EXTRACT statement.
The function that is referenced in the SELECT clause in the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
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.
The wildcard in the SELECT clause of the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
The connection to Answer/Extractor on the host cannot be established at the moment. Exit DataExtract and resubmit the request.
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.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
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.
The SELECT clause in the current EXTRACT statement is too long.
The CICS paging code is missing. Use the SETUP screen to set the CICS Paging Code parameter.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
The result for the SELECT clause of the current EXTRACT statement is not available at the host. Rerun the EXTRACT statement.
This message indicates an internal error. Exit DataExtract and retry the option.
The host fields in the ORDER BY clause in the current EXTRACT statement are duplicated. Correct and rerun the EXTRACT statement.
The host fields in the GROUP BY clause in the current EXTRACT statement are duplicated. Correct and rerun the EXTRACT statement.
The expression in the SELECT clause in the current EXTRACT statement is too long. Correct and rerun the EXTRACT statement.
The expression in the SELECT clause in the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement is missing the connector between expressions. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement is missing a matching parenthesis. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement contains an item of an incorrect data type. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement is missing an open parenthesis. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement contains an invalid ESCAPE value. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement requires at least one host-field name. Correct and rerun the EXTRACT statement.
The SELECT clause in the current EXTRACT statement contains extra text. Correct and rerun the EXTRACT statement.
This message indicates an internal error. Exit DataExtract and retry the option.
The SELECT clause of the current EXTRACT statement does not contain any host field or function value references. Correct and rerun the EXTRACT statement.
The SELECT clause of the current EXTRACT statement contains the keyword DISTINCT, which is not supported. Correct and rerun the EXTRACT statement.
The ALL keyword is misused in the SELECT clause of the current EXTRACT statement. Correct and rerun the EXTRACT statement.
The aggregate function in the SELECT clause of the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
The GROUP BY clause in the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
The ORDER BY clause in the current EXTRACT statement is invalid. Correct and rerun the EXTRACT statement.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
No host sessions are available at the moment. Resubmit your request. Check that the prior session or previously started processes have been terminated.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
The message.txt or config.txt files cannot be found. Confirm that they exist.
The entry in the message.txt file, config.txt file, or parameter string is invalid. Correct the error.
The message.txt file, config.txt file, or parameter string contains an invalid parameter value. Correct the error.
The message.txt file, config.txt file, or parameter string contains an invalid option keyword. Correct the error.
The Stable Time parameter is missing from the host configuration file. Use the SETUP screen to set the Stable Time parameter.
The Lock Time parameter is missing from the host configuration file. Use the SETUP screen to set the Lock Time parameter.
The Host Environment parameter is missing from the host configuration file. Use the SETUP screen to set the Host Environment parameter.
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.
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.
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.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
The value set in the Class parameter is out of range. Use the SETUP screen to correct the Class parameter.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
This message indicates an internal error. Exit DataExtract and retry the option.
This message indicates an internal error. Exit DataExtract and retry the option.
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.
This message indicates a memory-allocation error. Exit DataExtract and retry the option.
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.
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 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 the environment variables INFORMIXCONTIME and/or 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.
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.
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.
You specified an invalid option or parameter in your sqlhosts file. Check the option ID and parameter associated with servername in the sqlhosts file.
You specified an invalid sqlexecd daemon option. Check the option option_value and its parameter.
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 field in the $INFORMIXDIR/etc/sqlhosts file is unique across all database servers on your network. If the service name 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/
An internal Informix network error has occurred in the TLITCP poll thread. Please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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:
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:
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.
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:
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:
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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:
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.
Any other errno: Contact your Informix product supplier for assistance.
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:
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.
For this failure type, correct the form of character data that is being converted.
For this failure type, shorten the input character data that is being converted.
The following are the possible objtype values:
The following possible meanings of position depend on the value of objtype:
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.
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 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.
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.
Modify the application so that it does not include more than one SQL statement in a PREPARE or EXECUTE IMMEDIATE statement.
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.
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.
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.
An internal logic error has been encountered. Rerun the application. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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:
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.
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.
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.
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.
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.
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 is either earlier than Version 7.2 or is Version 7.2 or later and the HETERO_COMMIT configuration parameter is not set.
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:
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.
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.
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.
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.
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
Look up the error in your EDA documentation from Information Builders, Inc. and correct the problem.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
The table descriptor for the specified table was not found in the core dictionary.
Your session sensitivity label must equal the sensitivity level of the database.
Contact the database administrator and request DBA privilege.
Contact the database administrator and request DBA privilege.
System catalog tables are dropped only when the database is dropped.
It is not legal to change the ownership of a table.
Your session sensitivity level must equal the sensitivity level of the table.
Your session sensitivity level must equal the sensitivity level of the table.
Privilege is not granted for you to create an index on the table.
Your session sensitivity level must equal the sensitivity level of the table.
The action that you are performing requires Resource privilege on the database. Contact the database administrator to request the privilege.
Your session sensitivity level must equal the sensitivity level of the table.
It is not legal to change attributes other than the next-extent size for the system catalog tables.
Only the owner of the index can perform the operation that you are attempting.
It is illegal to alter indexes on temporary tables.
This internal error indicates that the number of concurrent database opens exceeds the limit that OnLine/Secure sets.
The tag value that you supplied is unknown to the operating system.
Your session sensitivity level must equal the sensitivity level of the table.
You need Insert or Alter privilege on the table, or Update privilege on the SERIAL column, to change the serial value.
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.
This message is applicable only for multilevel secure applications. No records exist at the level that you are accessing.
This message indicates an internal error.
Ordering by label is illegal because labels are not ordered linearly.
Your session sensitivity level must equal the sensitivity level of the table.
Your session sensitivity level must equal the sensitivity level of the database.
Your session sensitivity level must equal the sensitivity level of the table.
Your session sensitivity level must equal the sensitivity level of the database.
Alter privilege on the table is required to modify a constraint.
This message is applicable only for multilevel secure applications. The initial serial value was not set at table creation.
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.
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.
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.
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.
Cannot open the label.map file or the label.lok file. Check the existence, permission, and sensitivity level of these files.
Check the integrity and legality of entries in the label.map file according to the current operating 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.
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.
An error occurred during sorting of the label.map file. Check the integrity of the label.map file.
Tags and their translation tags should have strictly one-to-one mapping. Check the label.map file for duplicate tag mappings.
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.
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.
This message indicates an internal error. Check the operating-system error message for further information.
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.
This message indicates an internal error.
This message indicates an internal error.
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.
Check for the parameter setting in the TBCONFIG file or the input to ON-Monitor.
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.
Check the legality of inputs to the LABELLUB() function.
Check the legality of the inputs to the LABELGLB() function.
Check if label column is supplied to an aggregate function.
Alter table failed; check the additional ISAM error message for further information.
The OnLine/Secure database server cannot be initialized. Please note all circumstances and contact Informix Technical Support.
The OnLine/Secure database server cannot be initialized. Please note all circumstances and contact Informix Technical Support for assistance.
Use a tape that an OnLine/Secure database server generated.
Modify the TBCONFIG file to refer to a rootdbs that an OnLine/Secure database server created.
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.
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.
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.
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.
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.
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.
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.
You specified an invalid trigger name. Enter the name of an existing trigger or correct your spelling.
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.
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.
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.
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.
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.
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.
You must log in at a session sensitivity level that dominates the session level that you specify.
You cannot access the database at the new session sensitivity level. Use a different level that dominates the database.
Close all tables and relinquish all cursors that remain open before you attempt to change session sensitivity levels.
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.
For more information, refer to the accompanying error message.
The argument to the SET SESSION LEVEL statement was not a valid sensitivity label.
You must be a DBA to change the session user unless you are changing to yourself.
Abort or commit a transaction before you issue the SET SESSION AUTHORIZATION statement or SET ROLE statement.
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.
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.
Renaming of table or column failed. For more information, refer to the ISAM error message.
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.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
This message indicates an internal error.
You cannot use the VARIANCE or STDEV function on string or DATETIME data types. Review the use of these functions.
The software product cannot find the error message text files. Either the INFORMIXDIR or DBLANG environment variable is set incorrectly.
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.
Reset the specified environment variable to a legal value and try again. See Chapter 4 of the Informix Guide to SQL: Reference.
The preprocessor cannot interpret this INCLUDE statement. Refer to your embedded-language manual for the correct syntax of the INCLUDE statement.
The label on the current statement is incorrect in form. Refer to the embedded-language manual for accepted label formats.
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.
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.
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.
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.
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.
The record component was declared twice in the same record/structure. Check the spelling of component names and the syntax of the declaration.
Correct all other processing errors. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
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.
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:
This preprocessor macro definition statement does not have the ESQL statement terminator. Add a semicolon(;) to the end of the 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.
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.
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.
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.
The specified value for the macro is too long to fit in the internal buffer. Shorten the statement and try again.
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.
The quoted string is too long to fit in the internal buffers. Check the statement for a missing end quote.
The macro name of the macro statement is missing. Specify the name and try again.
The specified SQL identifier is too long. SQL identifiers are limited to 18 characters. Check the punctuation of the statement and the spelling of identifier; if all is as you intended, you will have to change the declaration to use a shorter name.
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.
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.
The compiler type must be specified as a command-line option to this preprocessor. Refer to the embedded-language manual.
No input file is named on the command line.
This DECLARE statement specifies the SCROLL keyword, but it goes on to specify an INSERT statement. Insert cursors cannot use the SCROLL keyword.
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.
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.
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.
POWER cursors are not supported. Refer to your embedded-language manual.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
The SQL identifier id-name has already been declared. Check the spelling of names and the declarations in the current name scope.
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.
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.
See the Informix Guide to SQL: Syntax for the valid DEFAULT clause options in a column definition.
The specified expression is incorrect. Refer to the Informix Guide to SQL: Syntax for the correct syntax and usage for this expression.
The preprocessor cannot fully expand the macro-name macro because a loop exists in the defined macros. Correct the macro and try again.
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.
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.
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.
This message is a warning only. 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 systems, 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 18 characters, but in the case of name, it does. 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.
When you use the -local preprocessing option, cursor names and statement IDs are prefixed with a unique tag that is generated from the module name. (On UNIX systems, the inode number of the source program is used as the unique tag.) In this case, id1 and id2 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.
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.
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.
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.
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)";
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.
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.
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.
The specified type was not defined or a $ character was misplaced in a statement. Check for misspellings, misplaced $ characters, or undefined types.
Fixchar character pointers are not allowed in this context. Replace the fixchar pointer with a character pointer.
You referenced the array variable with an incorrect dimension. Correct the dimension and retry.
A pointer variable is used with the wrong number of level indirection. Check the indirection levels in this statement.
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.
The PARAMETER statement is allowed only in a function declaration block, not within a namely block that is nested in a function.
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.
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.
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.
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.
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.
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.
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).
The server could not add the external space. Check the error returned with this failure.
An attempt to drop the external space failed. Check the error associated with this failure.
The ESQL/C source has illegal multibyte characters. Review the source file.
The ESQL/C source file ends in the middle of a valid multibyte character. The source file might be truncated. Review the source file.
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.
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.
An internal function, while parsing the elements in a stored procedure, has encountered an illegal character during multibyte processing. The following options are passed:
Review these options for possible illegal characters.
The SQL script has illegal characters. Review the script file.
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.
The code-set conversion initialization failed during the session initialization. Not enough memory is available for the code-set conversion table.
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.
An illegal multibyte character has been detected on the line of the loadable menu source file. Review the source file.
This internal error indicates that the conversion of internal wide-character formats to multibyte characters failed. Check the program logic.
This error message appears only when you use the -ansi option. Revise the statement to comply to ANSI standards.
This error message appears only when you use the -xopen option. Revise the statement to meet the X/Open standard.
If you get this error, note all circumstances and contact Informix Technical Support.
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.
If you get this error, note all circumstances and contact Informix Technical Support.
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.
The procedure name that you used has already been defined. Rename the procedure so that it is unique within the module.
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.
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.
The name that follows the MODULE END clause must match the module name that is specified in the MODULE name clause.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
If this internal error recurs, please note all circumstances and contact Informix Technical Support.
All supported features are implemented. If this internal error recurs, please note all circumstances and contact Informix Technical Support.
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.
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.
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.
Cursors can only be referenced in one OPEN statement. Remove multiple open cursor procedures.
A reference has been made to a host variable or procedure parameter that is not defined.
Choose either ANSI error handling with SQLCODE or Informix Ada-style error handling.
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.
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.
ANSI standards require that each procedure have at least one SQLCODE parameter.
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.
CHAR(*) and VARCHAR(*) parameters cannot be used as OUT parameters. Change the parameter to CHAR[n].
Change the reserved word to a nonreserved word.
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.
Remove the referenced object from the dynamic cursor declaration.
Use of an Informix extension to ANSI has been detected. Use ANSI-compliant syntax to ensure maximum portability.
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.
The table has not been created or was deleted.
Table entries with the same key are not allowed.
Table is full and cannot be extended.
Entry of a table is already locked.
Table is already locked.
The required entry does not exist.
Check the [INET_CONNECTION] section of the INFORMIX.INI file to make sure this section has the following section heading:
[INET_CONNECTION]
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
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
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
Check the [INET_PROTOCOL] section of the INFORMIX.INI file to make sure this section has the following section heading:
[INET_PROTOCOL]
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.
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.
You must use only one protocol at a time to communicate with your remote database server.
An error occurred when the connection was closed. No corrective action is provided.
Too many applications are active under Windows. Close some of your applications and try again.
You are currently making a database server request. You cannot make another argument until the current request is finished.
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.
No data was passed to the build-where-clause function, so no where clause can be built. The query will proceed without a where clause and will affect all rows in the table.
Date string is in an invalid format. Consult your Informix manual for the proper ANSI-style date format.
Failure to update the bar_instance table. Ask your database administrator to repair the data.
An attempt to change the value of PDQPRIORITY failed.
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.
Select a different (nonnull) default value for the column, or modify the column to accept null values.
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.
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.
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.
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.
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.
In order to create a primary or unique constraint on the column, change the column data type from TEXT or BYTE, if permitted.
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.
You cannot include more than 16 column names in a single primary or unique constraint on Informix Dynamic 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.
You cannot use the ALTER TABLE menu options to modify an existing constraint. An asterisk preceding the name identifies existing constraints.
You cannot create a constraint on a column that does not exist in the table.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
An ixBox constructor generates this message. A box must have both an anchor and a size set. They have no default sizes.
An ixLine constructor generates this message. A line must have both an anchor and a size established. They have no default sizes.
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.
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.
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.
This message is produced by ixApp::copy() or ixApp::isEqualTo(). Only one instance of ixApp can exist, and it is created for you automatically.
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.
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.
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.
The ixVisualObject constructor generates this message. All visual objects, except top level ixWindow objects, must be attached to an ixVisualContainer.
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.
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.
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.
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.
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.
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.
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.
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(*).
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.
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.
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.
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.
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).
A memory corruption may have occurred. Correct all other processing errors. If the error recurs, please note all circumstances and contact Informix Technical Support.
The program attempted to set ixBlob::locInFile in a named file but did not specify a filename.
The program attempted to seek outside of blob space. Perhaps ixText::getSubString() was called with a starting point larger than the blob.
The constructor for ixByte generates this message when the first parameter is invalid.
The constructor for ixByte generates this message when the first parameter is ixByte::locInFile, and no named file is specified.
The constructor for ixText generates this message when the first parameter is invalid.
The constructor for ixText generates this message when the first parameter is ixText::locInFile, and no named file is specified.
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.
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.
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.
This message is generated by ixObject::isEqualTo() if the parameter that is passed is NULL. The function then returns a value of FALSE.
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.
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.
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.
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).
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).
An error occurred when the program tried to read a 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.
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.
An error occurred when the program tried to create a blob storage file (perhaps because of permission problems).
The ixFile constructor generates this message if it cannot open the specified file.
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.
The ixMsgFile constructor or ixMsgFile::readMsg() generates this message. The file that is specified is corrupt or is not an Informix compile message file.
This message is generated by ixSuperTable. The insert failed. Check that the SuperField data types match the appropriate database column types.
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.
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.
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.
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.
The ixSuperTable constructor generates this message. The only valid layouts are gridForm and freeForm (which are ixSuperTable constants).
The ixSuperTable constructor generates this message. The only valid values for displayMode are displayQuery and displayData (which are ixSuperTable constants).
The ixSuperTable constructor generates this message. The only valid lock modes are pessimisticLock, optimisticLock, and noLock (which are ixSuperTable constants).
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.
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.
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.
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.
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.
The ixSuperTable::getChangeFlag() function does not support setting the changeFlag to isDeleted because rows must be deleted from SuperTables by using ixSuperTable::delete().
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()).
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()).
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.
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.
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.
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()).
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()).
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.
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.
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.
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.
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.
Could not determine the updateTable for this SuperTable. The function getUpdateTable() returned NULL. Check the updateTable and selectFromPart constructor parameters to ixSuperTable.
Could not determine the updateTable for this SuperTable. Calling getUpdateTable() returned NULL. Check the updateTable and selectFromPart constructor parameters to ixSuperTable.
Could not determine the updateTable for this SuperTable. Calling getUpdateTable() returned NULL. Check the updateTable and selectFromPart constructor parameters to ixSuperTable.
Could not determine the updateTable for this SuperTable. Calling getUpdateTable() returned NULL. Check the updateTable and selectFromPart constructor parameters to ixSuperTable.
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.
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.
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.
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.
In the ixSuperField constructor, an invalid value was specified for the dataState. The only valid values are ixSuperField::enabledState, ixSuperField::readOnlyState, and ixSuperField::disabledState.
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.
In the ixSuperField constructor, an invalid value was specified for the queryState. The only valid values are ixSuperField::enabledState, ixSuperField::readOnlyState, and ixSuperField::disabledState.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
This message is generated by ixWindows::open(). A popup cannot be opened before its container is opened.
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.
The ixButton constructor generates this message. Default buttons are supported only in modal popup windows. This request is ignored.
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.
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.
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.
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.
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.
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.
The ixSuperTable constructor generates this message if the SuperTable is grid form and a negative title height was specified. The default height is used.
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.
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.
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.
The value specified for position was NULL, negative, or greater than 32,766.
The value specified for position was NULL, negative, or greater than 32,766, or the length to be deleted was NULL or negative.
The value specified for position was NULL, zero, negative, or greater than 32,766.
The value specified for position was greater than 32,766. Check the width value (using ixString::getWidth()) before calling ixString::setChar().
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().
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().
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().
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.
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.
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.
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.
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.
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.
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.)
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_DLL_USAGE (0x4004).
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.
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_INVALIDPARAMETER (0x4006). Possible causes include:
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.
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_MEMORY_ERROR (0x4008).
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_NOTPROCESSED (0x4009).
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_NO_CONV_ESTABLISHED (0x400A).
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_POKEACKTIMEOUT (0x400B).
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_POSTMSG_FAILED (0x400C).
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.
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.
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_SYS_ERROR (0x400F).
A Dynamic Data Exchange Management Library (DDEML) function has returned a value of DMLERR_UNADVACKTIMEOUT (0x4010).
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.
The cell of the SuperTable that is being requested contained no data.
The requestor asked for a range of cells that exceeded the boundaries of the SuperTable.
A mismatch existed between the data type that the requestor sought and the server found.
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.
The server was unable to complete the delivery of items from the SuperTable to the requestor.
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.
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.
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.
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).
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).
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.
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).
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.
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.
An attempt was made to construct or use function calls of the following classes: ixCollection, ixList, ixMultiSet, ixSet, ixBoolean, ixValueDesc, and ixRawValue.
Only INFORMIX-Universal Server supports these classes, so they are currently disabled. Use of objects of these classes will result in a fatal error.
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.
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.
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
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.
The valid location values are ixByte::locInTempFile, ixByte::locInFile, and ixByte::locInMemory.
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.
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.
During the construction of the OCX, the class ID that was passed in was invalid or NULL.
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.
A NULL value was passed in for the value of the verbID to the doVerb( ) function. For supported verbs, consult the OCX documentation.
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.
An invalid or NULL value was passed into the setData( ) method. The value must be a valid ixValue object.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
An internal error occurred while accessing a method or property of the OCX. For information on supported methods and properties, consult the OCX documentation.
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.
An invalid or NULL method name has been passed to the callMethod( ) function. For supported methods, check the OCX documentation.
The propValue formal argument of a call to setProperty( ) cannot be converted to the required data type of the specified OCX property.
The propValue formal argument of a call to setProperty( ) is NULL. It should be a valid ixValue object.
The type of the parameter passed for the current event is invalid.
The value of one or more parameters passed in for the current event is NULL.
The value for the type of the parameter passed in for the current event is NULL.
The value for the parameter array to be passed to the processCustomEvent method is NULL. This could have been an internal VCL error.
The safearray value cannot be created. Verify the dimensions of the safearray.
The value stored in the ixVariant object is not a valid safearray (ixVector) value.
The value of one or more elements of safearray cannot be updated. Verify the safearray.
The multidimensional safearray is not a valid safearray. Verify the array and the dimension of the array.
The value for the number of dimensions is incorrect.
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.
The value passed in for the data member of type ixValue for the ixVariant class is not a valid ixValue object.
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.
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-Universal Server. Ensure that the name passed in the argument serverDataType is the name of a valid UDT defined in Universal Server and that it is correctly spelled.
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.
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.
In function mapODBCTypeToSQLI, a call to SQLColAttributes failed. This error is internal to INFORMIX-NewEra CCL. Contact your technical support representative.
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.
A call to function ifRow::deleteAllElements failed. This error is internal to INFORMIX-NewEra CCL. Contact your technical support representative.
In function initializeParams, a call to function ifRow::add failed. This error is internal to INFORMIX-NewEra CCL. Contact your technical support representative.
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.
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.
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.
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.
An error occurred in the ixSQLStmt destructor when an attempt was made to free the statement handle. A corrupt statement caused this internal error.
An error occurred in the ixSQLStmt destructor when an attempt was made to free the cursor. A corrupt cursor caused this internal error.
An error occurred in the ixSQLStmt destructor when freeing the ODBC statement handle. A corrupt handle caused this internal error.
The Connectivity Class Library does not support the CCL option that was passed to ixSQLStmt::getInfo().
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().
Call the function ixSQLStmt::allocateRow() again to create a new ixRow.
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.
The ixSQLStmt::describeCol() member function can be called only after a SELECT statement is prepared.
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.
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().
The column number passed to ixSQLStmt::getNativeTypeName() is either less than zero or greater than the number of columns in the result set.
This function performs no action on the ixSQLConnect or ixSQLStmt object.
The ixSQLStmt::setStmtOption() parameter did not have a valid value.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
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().
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.
An invalid option was passed to the isSQLStmt::setStmtOption() member function.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
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().
Check the SQL syntax to ensure that it is correct. Call ixSQLConnect::SQLError() for ODBC error information.
The statement might not be prepared yet. Try calling ixSQLStmt::prepare() before ixSQLStmt::numResultCols(). Call ixSQLConnect::SQLError() for ODBC error information.
Call ixSQLStmt::prepare() before ixSQLStmt::allocateRow().
Call ixSQLStmt::prepare() before ixSQLStmt::describeCol() or 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.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
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().
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
The statement might not be prepared yet. Call ixSQLStmt::prepare() before calling this function.
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.
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.
Call ixSQLConnect::SQLError() for ODBC error information.
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.
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.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
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.
Ensure that the ixSQLConnect::browseConnect() member function is supported by the ODBC driver by calling ixSQLConnect::getFunctions(). 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.
Call ixSQLStmt::prepare() before ixSQLStmt::getResultSchema().
The position number passed to ixSQLStmt::setParam() is not valid, or the ixRow passed to ixSQLStmt::setParams() is NULL.
Call ixSQLStmt::prepare() before ixSQLStmt::setParam().
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().
Call ixSQLStmt::prepare() before ixSQLStmt::fetchInto().
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.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
Correct all other processing errors. Try a different ODBC driver. If the error recurs, please note all circumstances and contact Informix Technical Support.
For each "?" in the SQL string, call ixSQLStmt::setParam() after the statement has been prepared.
The option parameter passed to ixSQLStmt::free() was not a valid option.
The maximum cursor name length is 18 characters.
The value of "name" passed to ixSQLStmt::setCursorName() is NULL.
The parameter number is either less than zero or greater than the number of "?" place holders.
Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::numResultCols().
Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::rowCount().
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.
Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before ixSQLStmt::describeCol().
The column requested is either negative or greater than the number of columns in the result set.
Call ixSQLStmt::prepare() or ixSQLStmt::execDirect() before calling ixSQLStmt::describe().
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.
The option passed to ixSQLConnect::transact() is not supported.
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 projects\proj1, and you create proj2, you cannot place proj2 in the following directories:
Following are two valid choices:
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.
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.
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.
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.
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.
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.
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.
In order to create a new project, you must give it a name.
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.
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.
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 projects\proj1, and you then create proj2, you cannot place proj2 in the following directories:
Following are two valid choices:
An error occurred in one of the dynamic libraries that the Application Builder uses to access the private workspace.
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.
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.
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.
Each component can contain only uniquely named files. Otherwise, the binaries generated from the same-named source files would overwrite each other.
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.
The project is already open, and it cannot be opened a second time.
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.
A file with the same name exists in the directory where you want to copy the files that belong to the copied component.
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.
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.
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.
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.
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.
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.
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:
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.
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.
Possibly you specified a nonexistent drive or an invalid directory name, you ran out of disk space, or an operating-system failure occurred.
Possibly you specified a nonexistent drive or an invalid directory name, you ran out of disk space, or an operating-system failure occurred.
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.
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.
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.
All files and components of a project must reside in directories that are under the project directory.
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.
The failure occurred in one of the dynamic libraries that Application Builder uses to access the private and shared workspaces.
To snapshot a project, all its files must be checked in so that file versions saved with the project are not modified.
An invalid character was used for a UNIX directory name.
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.
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.
Rebuild the program or close and restart Application Builder. Probably an operating-system error occurred.
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.
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.
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.
Your registry might be corrupted. Exit the application and re-install NewEra.
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.
An internal error occurred in one of the dynamic libraries that Application Builder uses to access the private workspace.
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.
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.
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.
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 projects\proj1, and you then you create proj2, you cannot place proj2 in the following directories:
Following are two valid choices:
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.
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.
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.
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.
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 INFORMIX\bin directory and that the directory is included in your PATH environment variable.
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
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.
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.
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.
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.
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.
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.
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.
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.
This internal error is probably due to private workspace corruption. Reboot the computer. If the problem still exists, re-create your private workspace.
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.
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.
You attempted to add a binary file that is already part of the project as a source file. This action is not allowed.
Possible causes might be network failure, disk problems, or repository malfunction.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private or shared workspaces.
You cannot use the same label twice. Labels are used to tag different versions.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private or shared workspaces.
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.
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.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private workspace.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private workspace.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private workspace.
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.
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.
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.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private workspace.
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.
You did not specify a shared workspace. If this is unintentional, use RSAT to create one.
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.
Verify that what you specified was a single label. If the text of the label is too long, specify shorter text.
Verify that what you specified was a single option. If the number of characters in the option is too large, specify a shorter option.
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.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private and shared workspaces.
An error occurred in one of the dynamic libraries that Application Builder uses to access the private and shared workspaces.
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.
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:
An error occurred while opening a makefile to insert the make rules. This error might occur for any of the following reasons:
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.
No further information is available.
No further information is available.
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.
A repository error occurred. For more details from the repository/database level, click Help.
This error occurs if you try to build a makefile for a project in which there are no components.
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:
A repository error occurred. For more details, click Help.
Creation of new repository object failed. For more details, click Help.
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.
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.
No further information is available.
Because component makefile names cannot be changed, rename the project makefile using the Project Attributes dialog box.
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.
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.
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.
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.
No further explanation is available.
Global variables can be defined several times, but only one declaration can contain an initializing expression.
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.
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.
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.
A problem occurred in obtaining enough resources to allocate shared memory. Check the shared-memory resources of the system.
The executable that is specified in the CommandLine entry of the fglapps file is not a partitioned 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.
Verify that the configuration section for the specified application server in the fglapps file contains the CommandLine entry.
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.
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.
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.
The network is down, or fglexecd has been terminated.
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.
Check the handshake strings for the application client and the application server.
The requestor attempted to communicate with an unknown responder object. Verify that the correct responder object is being created.
The server executed the EXIT PROGRAM statement.
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.
An external cause, not a NewEra runtime error, terminated the application server process.
Check the connection string that is used in the ixASRequestMgr() constructor parameter list.
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.
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.
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.
The specified file cannot be opened. Check permissions on the file and directory.
The specified file cannot be opened. Check permissions on the file and directory.
The specified file cannot be opened. Check permissions on the file and directory.
The specified file cannot be created. Check permissions on the directory. Check that disk space is available within the file system.
The specified file cannot be created. Check permissions on the directory. Check that disk space is available within the file system.
The specified file cannot be created. Check permissions on the directory. Check that disk space is available within the file system.
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.
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.
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.
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.
The specified symbol was referenced with one type and defined with a different type.
The specified file is not a valid object file.
The specified file is not a valid library file.
The specified file is not a valid p-code file.
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.
The specified signal arrived, and the program is exiting. Rerun the program.
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.
The program tried to allocate memory but failed. Release some system memory (perhaps by exiting some programs or by removing some files from /tmp).
Report this error to Informix Technical Support.
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.
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.
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.
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.
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.
The p-code file seemed to be valid but contained unexpected data. The file is corrupt. Recompile it.
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.
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.
The program searched for the specified file but could not find it.
The program searched for the specified file but could not find it.
The program searched for the specified file but could not find it.
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.
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.
The specified file should be a library file, but is not. Change the command line to specify a valid filename.
The specified file should be a library file, but is not. Change the command line to specify a valid filename.
The specified file should be a library file, but is not. Change the command line to specify a valid filename.
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.
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.
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.
A named file exists but could not be accessed. Either the directory or the file permissions are too restrictive.
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.
The specified library cannot be modified.
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.
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.
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.
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.
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.
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.
Two libraries were specified, but FGLLIB can work only on one in any given run. Revise the command line.
FGLLINK requires at least one object file or library file on the command line.
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.
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.
This user cannot write the named file. Change the permissions, either on the file or on the directory that contains the file.
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.
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.
This user cannot read the specified file. Change the permissions, either on the file or on the directory that contains the file.
This user cannot read the specified file. Change the permissions, either on the file or on the directory that contains the file.
The program expected to read more of the file than exists on disk. The named file is corrupt and should be re-created.
The specified option is not a valid option for the command. Change the command line and rerun the command.
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.
The specified option requires an argument, but none was given. Add the necessary argument to the command line and rerun the command.
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.
No further information is available.
Provide a positive value for this property. Check that the object is entered in the system registry.
An error occurred while Window Painter was initializing OLE Dynamically Linked Libraries (DLLs), possibly because incorrect versions of the OLE system DLLs are installed.
This error might be caused by unsuccessful memory allocation, or the object might not be entered in the system registry.
An error occurred while Window Painter was cutting an object to the clipboard, possibly because of unsuccessful memory allocation.
An error occurred while Window Painter was copying an object to the clipboard, possibly because of unsuccessful memory allocation.
An error occurred while Window Painter was pasting an object to the clipboard, possibly because the OLE compound file was not successfully created.
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.
The file is not a valid WIF file. Make sure that the file has correct version information and is spelled correctly.
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.
If you proceed, the ROF file on disk will be overwritten. Click Yes if you want to overwrite changes; otherwise, click No.
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.
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.
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.
Window Painter could not open the bitmap file. Either it does not exist, or it does not have read permissions.
Window Painter could not read the bitmap file. It might be corrupted, or it might not be in the proper format.
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.
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.
An error in detail SuperTable operation occurred. For details, check the message in the message box.
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.
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.
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.
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.
Those SuperTables must be defined as detail tables in relationships from SuperView Editor.
The command format is: ixwpconv [-n] [-s] filename
The command format is: ixwpconv [-n] [-s] filename
The Format Converter is used only to convert WIF files, not ROF files, to NewEra files.
The operating system ran out of memory. Either reboot the computer or increase computer memory.
The linked SuperTables must be deleted together. Deleting one of a group of linked SuperTables is not allowed.
The linked SuperTables must be exported together in ROF files. Exporting one of a group of linked SuperTables is not allowed.
The matched object for this line was deleted in the WIF file, and you cannot access it in Window Painter.
The matched handler for this line was deleted in the WIF file, and you cannot access it in the corresponding handler in Language Editor.
The line number is beyond the end of generated NewEra code. The WIF file contains no matched objects.
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.
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.
This error occurs when you perform a paste operation without a corresponding cut/copy operation.
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.
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.
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.
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
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
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.
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.
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.
This error occurs when the Name property of an object has the same name as that of another object in the WIF file.
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.
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.
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.
The value you entered for the Name property is not valid. The name property value must not be empty.
You created a SuperTable with no SuperFields/columns, which can result in compilation or runtime errors in the program.
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.
The ixSuperField can only be copied/dropped to an ixSuperTable created from the same SuperView.
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.
The SuperField type must match the target SuperTable type.
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.
In order to export a grid SuperTable to a ROF file, you must select the SuperTable, not the internal grid.
You cannot export SuperFields alone without exporting their containing SuperTable.
The mnemonic object name must represent a valid current object in Window Painter.
You tried to move master and/or detail SuperTables that are linked. Move is not allowed to a new window in this situation.
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.
You tried to copy master and/or detail SuperTables that are linked. Copy is not allowed in this situation.
The maximum grid size is 100 rows. You exceeded this limit.
You cannot assign an accelerator to top-level menu item.
You are changing the menu title to a separator. A top-level menu item should not be a separator.
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.
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.
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.
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.
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.
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:
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.
You used the wrong command-line syntax for CCLMIG. For the correct syntax, refer to Appendix E of the Development Tools Reference.
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.
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.
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.
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.
The command tried to use NewEra VCL/Character, which is not installed. Install the separately purchasable product before you try to use it.
The command tried to use NewEra VCL/Character, but it is not available on this computer.
The command tried to use NewEra VCL/Character with termcap, but it is not supported on this computer.
The specified option was not given the required argument.
A shared library name was specified, but the suffix is not correct for this system.
The specified option is not supported on this computer.
The extension of the executable file is not valid. You accidentally specified an object file instead of the .4ge file.
The two specified options are mutually exclusive, but you tried to specify both. Change the command line and rerun the command.
The specified file was not found. Check the command line to see if it was correctly specified or if the file exists.
The specified option is not recognized.
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.
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.
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.
The possible causes of this error include:
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.
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 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.
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.
The possible causes of this error are as follows:
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.
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).
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.
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.
If you want to run a NewEra program, specify its name.
You specified a command-line option that is unsupported. For the valid options, consult the Development Tools Reference.
You specified a command-line option that requires an additional argument. For the syntax, consult the Development Tools Reference.
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.
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.
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.
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.
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.
The file file_name contains one or more invalid characters.
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.
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.
An I/O error occurred in the file file_name. Probably no space is available. Increase available space and enter the command again.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
The command-line response file file_name is too large. Decrease its size and run the command again.
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.
An unknown error occurred in the repository.
An error occurred while performing database operation. Use the finderr application to look up the associated database error number.
The repository accessed an invalid object. This error should never occur by itself. To identify the problem, see the related errors.
An error occurred while performing an operation in the CM system. For more information, see the CM error.
The project definition file is corrupted. The repository is unable to under- stand the project definition file format.
An error occurred while writing to the project definition file. Check for disk space and other file-system-related problems.
The connection to the private workspace was lost. Relaunch the tool and try again. Check that database connectivity settings are correct.
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.
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.
This error normally occurs when checking in a project. Verify that you have enough disk space and check for other operating-system-related problems.
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.
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
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.
The project definition file could not be opened. Check for operating-system problems.
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.
An error occurred while attempting to write the project definition file. Check for operating-system problems.
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.
An unknown error occurred while trying to read or write to the project definition file. Check for operating-system-related problems.
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.
An unsupported feature of the CM system was accessed. This action represents incorrect usage of the CM API.
An illegal argument was passed to the CM API.
The PVCS configuration file could not be updated. Verify that ifmxpvcs.cfg exists in the INFORMIXDIR\lib directory. Confirm also disk space and write permissions in INFORMIXDIR.
The CM system was unable to perform a write operation. Check for operating-system errors.
An unknown error occurred in the CM system. Verify correct installation and operation of your CM system.
The archive directory specified is incorrect. Check for access and write permissions to your archive directories.
You do not have permissions to access the archive file. Check for CM and operating-system permissions.
The specified DLL could not be loaded. Check to see if the DLL exists and check that its location is in your path.
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.
The connection to the external CM system does not exist. Verify the CM installation.
The archive that was specified for the operation was not found. Verify that the directory is accessible.
The specified version of the object was not found in its archive.
A user locked the specified archive.
You did not lock the specified archive.
A user locked the specified version of the archive.
You did not lock the specified version of the archive.
No further information is available.
Unable to set the archive path to the given location. Check configuration of and access permissions to archive directories.
The archive path for the given location cannot be removed. Check configuration of and access permissions to the archive directories.
The external CM system is unable to handle an archive path this long. Shorten the archive directory path.
The checked-out version of the file specified cannot be found. Confirm that it exists and has the required access permissions.
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.
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.
The repository could not create the directory specified. Check for access privileges and operating-system errors.
An unknown error occurred in the CM system. Verify correct installation and operation of your CM system.
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.
Another user locked the project specified.
Another user locked the file specified.
The project specified has some of its files locked.
The repository could not delete the given database.
The repository could not add the specified use component to the given component. Check to see if the use component exists.
The project specified was not found in the private workspace.
The repository has a different type for a component of this name.
The specified component was not found in the private workspace.
The repository was unable to remove the specified object from the private workspace. Check for database errors.
The specified file could not be found in the private workspace.
The specified project already exists in the private workspace.
The specified component already exists in the private workspace.
The specified file already exists in the private workspace.
The repository was unable to create the project specified. Check for database errors.
The repository was unable to create the component specified. Check for database errors.
The repository was unable to create the file specified. Check for database errors.
An error occurred in downloading the specified file.
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.
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.
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.
The specified project already exists in the shared workspace. Rename your project and try again.
The specified component already exists in the shared workspace.
The specified file already exists in the shared workspace. Rename the file and try again.
The specified project could not be created in the shared workspace. Check the shared workspace configuration, disk space, and access permissions.
The specified component could not be created in the shared workspace. Check disk space and access permissions.
The specified file could not be created in the shared workspace. Check shared workspace configuration, disk space, and access permissions.
The repository could not check in the specified project. Check related errors. Also check shared workspace configuration, disk space, and access permissions.
The repository could not check in the specified file. Check related errors. Also check shared workspace configuration, disk space, and access permissions.
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.
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.
The repository was unable to uncheckout the specified project. Check related errors.
The repository was unable to uncheckout the specified file. Check related errors.
The specified directory does not have write permissions for the user.
The repository was unable to create a lock file in the shared workspace. Check for disk space and access permissions in the shared workspace.
The new project specified was not registered with the shared workspace.
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.
Check for access permissions and shared workspace configuration.
The given user locked the specified project.
The given user locked the specified file.
The current user did not lock the specified project.
The current user did not lock the specified file.
The root directory of the project in the private workspace is inaccessible. Check if it exists.
The file specified is not archived using the CM system.
You need to define the user-defined routine as variant.
Either the return type buffer is empty or the length of the buffer is not valid.
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.