To access ISAM files ConnectWare uses the appropriate ISAM file handler of each vendor of the ISAM system. As a result of each file operation these file handlers provide a file status code that indicates successful or unsuccessful execution of each operation.
Expected file status codes like "end of file reached" or "record not found" are convert
ed to an appropriate SQL Code, SQL State and a matching message text.
Apart of that unexpected events may occur like errors from the operating system, missing availability of storage media etc which cannot be associated to a matching SQL state. In these cases Connectware produces an SQL Code of "SQL_ERROR" with an SQL State "HY000" (general error) and the message text contains the name of the ISAM file, the operation where the error occured and the ISAM file status code.
The file status codes of ech ISAM system vendor are not standardized so the following sections describe the file status codes for each ISAM system:
Informix C-ISAM File Status Codes
Byte Designs File Status Codes
Advice: If file status codes occur which might indicate a corrupted file structure like 9/018, 9/041 etc. you should run the Micro Focus Rebuild Utility and try to repair the damaged file.
|
Status Code |
Description |
| 30 | (all files) Indicates that no further information is available concerning the cause of the error. |
| 34 | (sequential files only) Indicates a boundary violation. An attempt has been made to write beyond the externally defined boundaries of a file. |
| 35 | (all files) Indicates that an OPEN statement with the INPUT, I/ O, or EXTEND phrase has been attempted on a non-optional file that is not present. |
| 37 | (all files) Indicates that an OPEN statement has been attempted on a file that will not support the open mode specified in the OPEN statement. The possible violations are: The EXTEND or OUTPUT phrase has been specified but the file will not support write operations. The I/O phrase has been specified but the file will not support the input and output operations that are permitted for a relative file when opened in the I/O mode. The INPUT phrase has been specified but the file will not support read operations. |
| 38 | (all files) Indicates that an OPEN statement has been attempted on a file previously closed with lock. |
| 39 | (record sequential, relative and indexed files) Indicates that a conflict has been detected between the fixed file attributes and the attributes specified for that file in the program. |
| 41 | (all files) Indicates that an OPEN statement has been attempted for a file already in open mode. |
| 42 | (all files) Indicates that a CLOSE statement has been attempted for a file not in open mode. |
| 43 | (all files, sequential access mode only) Indicates that the last input-output statement executed for the associated file, prior to the execution of a DELETE or REWRITE statement, was not a successfully executed READ statement. |
| 44 | (record sequential files only) Indicates that a boundary violation exists. A possible violation is that an attempt has been made to WRITE or REWRITE a record that is larger than the largest, or smaller than the smallest, record allowed by the RECORD IS VARYING clause of the associated file. |
| 45 | (all files ) An attempt has been made to REWRITE a record to a file, and the record is not the same size as the record being replaced. For line sequential files this refers to the physical size of the record, that is after space removal, tab compression and null insertion. In this case, the physical size of the new record is allowed to be smaller than that of the record being replaced. |
| 46 | (all files) Indicates that a sequential READ statement has been attempted on a file open in input or I/O mode, but no valid next record has been established. This can be caused by the following conditions: The preceding START statement was unsuccessful. The preceding READ statement was unsuccessful but did not cause an at end condition. The preceding READ statement caused an at end condition. |
| 47 | (all files) Indicates that the execution of a READ or START statement has been attempted on a file not open in input or I/O mode. |
| 48 | (all files) Indicates that the execution of a WRITE statement has been attempted on a file not open in I/O, output or extend mode, or on a file open I/O in sequential access mode. |
| 49 | (all files) Indicates that the execution of a DELETE or REWRITE statement has been attempted on a file not open in I/O mode. |
| 9/001 | Insufficient buffer space. Could also indicate an out of memory situation. |
| 9/002 | File not open when access tried. |
| 9/003 | Serial mode error. |
| 9/004 | Illegal file name. |
| 9/005 | Illegal device specification. |
| 9/006 | Attempt to write to a file opened for input. |
| 9/007 | Disk space exhausted. |
| 9/008 | Attempt to input from a file opened for output. |
| 9/009 | No room in directory (also, directory does not exist). |
| 9/010 | File name not supplied. |
| 9/012 | Attempt to open a file which is already open. |
| 9/013 | File not found. |
| 9/014 | Too many files open simultaneously. |
| 9/015 | Too many indexed files open. |
| 9/016 | Too many device files open. |
| 9/017 | Record error: probably zero length. |
| 9/018 | Read part record error: EOF before EOR or file open in wrong mode. |
| 9/019 | Rewrite error: open mode or access mode wrong. |
| 9/020 | Device or resource busy. |
| 9/021 | File is a directory. |
| 9/022 | Illegal or impossible access mode for OPEN. |
| 9/023 | Illegal or impossible access mode for CLOSE. |
| 9/024 | Disk I/O error. |
| 9/025 | Operating system data error. |
| 9/026 | Block I/O error. |
| 9/027 | Device not available. |
| 9/028 | No space on device. |
| 9/029 | Attempt to delete open file. |
| 9/030 | File system is read only. |
| 9/031 | Not owner of file. |
| 9/032 | Too many indexed files, or no such process. |
| 9/033 | Physical I/O error. |
| 9/034 | Incorrect mode or file descriptor. |
| 9/035 | Attempt to access a file with incorrect permission. |
| 9/036 | File already exists. |
| 9/037 | File access denied. |
| 9/038 | Disk not compatible. |
| 9/039 | File not compatible. |
| 9/040 | Language initialization not set up correctly. |
| 9/041 | Corrupt index file. |
| 9/042 | Attempt to write on broken pipe. |
| 9/043 | File information missing for indexed file. |
| 9/045 | Attempt to open an NLS file using an incompatible program. |
| 9/047 | Indexed structure overflow. (Could indicate that you have reached the maximum number of duplicate keys.) |
| 9/065 | File locked. |
| 9/066 | Attempt to add duplicate record key to indexed file. |
| 9/067 | Indexed file not open. |
| 9/068 | Record locked. |
| 9/069 | Illegal argument to ISAM module. |
| 9/070 | Too many indexed files open. |
| 9/071 | Bad indexed file format. |
| 9/072 | End of indexed file. |
| 9/073 | No record found in indexed file. |
| 9/074 | No current record in indexed file. |
| 9/075 | Indexed data file name too long. |
| 9/077 | Internal ISAM module failure. |
| 9/078 | Illegal key description in indexed file. |
| 9/081 | Key already exists in indexed file. |
| 9/100 | Invalid file operation. |
| 9/101 | Illegal operation on an indexed file. |
| 9/102 | Sequential file with non-integral number of records. |
| 9/104 | Null file name used in a file operation. |
| 9/105 | Memory allocation error. |
| 9/129 | Attempt to access record zero of relative file. |
| 9/135 | File must not exist. |
| 9/138 | File closed with lock - cannot be opened. |
| 9/139 | Record length or key data inconsistency. |
| 9/141 | File already open - cannot be opened. |
| 9/142 | File not open - cannot be closed. |
| 9/143 | REWRITE/DELETE in sequential mode not preceded by successful READ. |
| 9/146 | No current record defined for sequential read. |
| 9/147 | Wrong open mode or access mode for READ/START. |
| 9/148 | Wrong open mode or access mode for WRITE. |
| 9/149 | Wrong open mode or access mode for REWRITE/ DELETE. |
| 9/150 | Program abandoned at user request. |
| 9/151 | Random read on sequential file. |
| 9/152 | REWRITE on file not opened I-O. |
| 9/158 | Attempt to REWRITE to a line-sequential file. |
| 9/159 | Malformed line sequential-file. |
| 9/161 | File header not found. |
| 9/173 | Called program not found. |
| 9/180 | End-of-file marker error. |
| 9/182 | Console input or console output open in wrong direction. |
| 9/183 | Attempt to open line sequential file for I-O. |
| 9/188 | File name too large. |
| 9/193 | Error in variable length count. |
| 9/194 | File size too large. |
| 9/195 | DELETE/REWRITE not preceded by a READ. |
| 9/196 | Record number too large in relative or indexed file. |
| 9/210 | File is closed with lock. |
| 9/213 | Too many locks. |
| 9/218 | Malformed MULTIPLE REEL/UNIT file. |
| 9/219 | Operating system shared file limit exceeded. |
|
Status Code |
Description |
| 04 | illegal record length in a READ operation |
| 14 | RELATIVE KEY overflow in a READ operation |
| 21 | illegal key sequence |
| 22 | duplicate key value |
| 24 | boundary violation in an operation on a relative or indexed file |
| 30 | permanent error |
| 34 | boundary violation in an operation on a sequential file |
| 35 | file not found |
| 37 | unsupported OPEN mode |
| 38 | OPEN on a file closed with the LOCK option |
| 39 | conflict of the fixed file attributes |
| 41 | OPEN operation on a file already opened |
| 42 | CLOSE operation on a file not previously opened |
| 43 | unsuccessful or missing READ operation before REWRITE/DELETE |
| 44 | illegal record length before a REWRITE operation |
| 46 | unsuccessful READ/START operation before READ |
| 47 | illegal OPEN mode (READ/START) |
| 48 | illegal OPEN mode (WRITE/UNLOCK) |
| 49 | illegal OPEN mode (REWRITE/DELETE) |
| 90 | OPEN on a file already opened |
| 91 | record not locked for a REWRITE/DELETE operation |
| 92 | record locked |
| 93 | file locked |
| 9A | unknown I/O operation |
| Status Code | Beschreibung |
| 100 | duplicate record |
| 101 | file not open |
| 102 | illegal argument |
| 103 | illegal key desc |
| 104 | too many files open |
| 105 | bad isam file format |
| 106 | non-exclusive access |
| 107 | record locked |
| 108 | key already exists |
| 109 | is primary key |
| 110 | end/begin of file |
| 111 | no record found |
| 112 | no current record |
| 113 | file locked |
| 114 | file name too long |
| 115 | can't create lock file |
| 116 | can't alloc memory |
| 117 | bad custom collating |
| 118 | cannot read log rec |
| 119 | bad log record |
| 120 | cannot open log file |
| 121 | cannot write log rec |
| 122 | no transaction |
| 123 | no shared memory |
| 124 | no begin work yet |
| 125 | can't use nfs |
| 127 | no primary key |
| 128 | no logging |
| 131 | no free disk space |
| 132 | row size too big |
| 133 | audit trail exists |
| 134 | no more locks |
| 140 | global section disallowing access - VMS |
| 150 | demo limits have been exceeded |
| 153 | must be in ISMANULOCK mode |
| 154 | lock timeout expired |
| 155 | primary and mirror chunk bad |
| 156 | can't attach to shared memory |
| 157 | interrupted isam call |
| 158 | operation disallowed on SMI pseudo table |
| 159 | invalid collation specifier |
| 160 | retained for backward compatibility |
| 171 | locking or NODESIZE change |
|
Status Code |
Description |
| 100 | illegal duplicate |
| 101 | file not open |
| 102 | illegal argument |
| 103 | illegal key description |
| 104 | out of isam file handles |
| 105 | isam file is corrupt |
| 106 | can't get exclusive access |
| 107 | record is locked |
| 108 | index already defined |
| 109 | illegal primary key operation |
| 110 | start or end file reached |
| 111 | record not found |
| 112 | no current record |
| 113 | file is locked |
| 114 | file name is too long |
| 116 | can't allocate memory |
| 118 | error reading log file |
| 119 | log file is corrupt |
| 120 | unable to open log |
| 121 | unable to write log |
| 122 | transaction not found |
| 123 | out of shared memory |
| 124 | no current transaction |
| 127 | no primary key |
| 128 | logging not allowed |
| 129 | too many users |
| 132 | varlen record too big |
| 133 | existing audit trail |
| 134 | out of room in lock table |
| 135 | evaluation library has expired |
Last update on 2010-02-07 by Kristina Roock.