下表描述影响数据库、文件和 MQSeries® 消息队列的输入/输出(I/O)操作的 EGL 错误值。仅当系统变量 VGVar.handleHardIOErrors 设置为 1 时,与硬错误相关联的值才可供代码使用,如异常处理中所述。
错误值 | 错误类型 | 记录类型 | 错误值的含义 |
---|---|---|---|
deadLock | 硬错误 | SQL | 两个程序实例正尝试更改一条记录,但在系统不介入的情况下这两个程序都无法完成此操作。 |
duplicate | 软错误 | 带索引记录或相对记录 | 代码尝试访问具有已存在的键的记录,并且尝试成功。有关详细信息,请参阅 duplicate。 |
endOfFile | 软错误 | 带索引记录、相对记录或串行记录 | 有关详细信息,请参阅 endOfFile。 |
ioError | 硬错误或软错误 | 任何 | EGL 从 I/O 操作接收到非零返回码。 |
format | 硬错误 | 任何 | 访问的文件与记录定义不兼容。有关详细信息,请参阅 format。 |
fileNotAvailable | 硬错误 | 任何 | fileNotAvailable 对于任何 I/O 操作都是有可能的,例如,它可以指示另一个程序正在使用文件,或者访问文件所需的资源不足。 |
fileNotFound | 硬错误 | 带索引记录、消息队列、相对记录或串行记录 | 找不到文件。 |
full | 硬错误 | 带索引记录、相对记录或串行记录 | 在下列情况下将设置 full:
|
hardIOError | 硬错误 | 任何 | 发生硬错误,这是除 endOfFile、noRecordFound 或 duplicate 之外的任何错误。 |
noRecordFound | 软错误 | 任何 | 有关详细信息,请参阅 noRecordFound。 |
unique | 硬错误 | 带索引记录、相对记录或 SQL 记录 | UNQ 指示 unique:代码尝试添加或替换具有已存在的键的记录,该尝试失败。有关详细信息,请参阅 unique。 |
仅当访问方法返回了信息时才返回 duplicate 设置,对于一些操作系统来说,情况如此,而对于其它操作系统,情况并非如此。在 SQL 数据库访问期间,该选项不可用。
(空文件是其中所有记录均已被删除的文件。未初始化的文件是尚未对其添加任何记录的文件。)
文件格式(固定长度或可变长度)与 EGL 记录格式不同。
对于定长记录,文件中记录的长度不同于 EGL 记录的长度。对于变长记录,文件中记录的长度大于 EGL 记录的长度。
对记录指定的文件类型与运行时的文件类型不匹配。
文件中的键长度与 EGL 带索引记录中的键长度不同。
文件中的键位置与 EGL 带索引记录中的键位置不同。