JET_ERRCAT

适用于: Windows |Windows Server

JET_ERRCAT

JET_ERRCAT常量组描述更高级别的分类或错误类别。 这组常量使应用程序能够定义错误分类的默认处理,而不是单独处理每个错误案例。 它还可确保应用程序不必处理现有分类中包含的新错误条件。

注意:本文档基于可扩展存储引擎的初步版本。 此信息可能随时发生更改。

JET_ERRCAT常量按特定的条件和子条件层次结构排列,如下所示:

|--- 错误 |--- 操作 (al) | |--- 致命 | |--- IO | |--- 资源 | |--- 内存 | |--- 配额 | |--- 磁盘 | |--- 数据 | |--- 损坏 | |--- 不一致 | |--- 碎片 | |--- Api |---使用情况 |--- 状态

下表列出了 JET_ERRCAT 常量,并提供说明和恢复信息(如果适用)。

常量/值

说明

恢复

JET_errcatUnknown 0

无效的错误类别。

不适用。

JET_errcatError 1

顶级类别 (不应是此类) 错误。

请参阅特定的错误常量。

JET_errcatOperation 2

表示由于无法控制的条件而随时可能发生的错误,并且通常是暂时性的。 如果已指定,请参阅子类别。

重试,如果错误仍然存在,请通知操作员。

JET_errcatFatal 3

表示发生严重错误时,会引发 ESE 无法以安全 (通常以事务) 方式继续运行的风险,并且数据可能会损坏。

重启实例或进程。 如果问题仍然存在,请通知操作员。

JET_errcatIO 4

表示来自操作系统且不受 ESE 控制的 IO 错误。 这种类型的错误可能是暂时的。

重试,如果错误仍然存在,请让操作员检查磁盘。

JET_errcatResource 5

表示与缺少资源条件相关的错误的类别。

请参阅子类别。

JET_errcatMemory 6

表示由内存不足引起的错误。

在一段时间后重试,释放内存或退出。

JET_errcatQuota 7

某些“专业”资源位于一定大小的池中,因此可以更轻松地检测这些资源的泄漏。

应用程序应在开发 期间 断言 () 以检测这些问题。 但是,在零售代码中,应用程序应将其视为内存错误。

JET_errcatDisk 8

表示由于磁盘空间不足而导致的错误。

请稍后重试以确定是否有更多磁盘空间可用,或要求操作员释放一些磁盘空间。

JET_errcatData 9

表示与数据相关的错误的顶级类别。

请参阅子类别。

JET_errcatCorruption 10

表示损坏问题,它通常是永久性的,没有纠正措施。

使用 ESE 实用工具修复操作从备份还原 (此操作仅还原留下/丢失) 的数据。 此外,使用恢复 (JetInit) 方法时,可以通过允许数据丢失 (来执行恢复,有关详细信息,请参阅 JET_bitReplayIgnoreLostLogs

JET_errcatInconsistent 11

表示一个错误,其中数据库和/或日志文件处于不一致且无法协调的状态。 此错误可能是由应用程序/管理员处理不当引起的。

使用 ESE 实用工具修复操作从备份还原 (该操作仅还原左/丢失) 的数据。 此外,在 恢复 (JetInit) 操作的情况下,可以通过允许数据丢失 (来执行恢复,有关详细信息,请参阅 JET_bitReplayIgnoreLostLogs

JET_errcatFragmentation 12

表示一类错误,其中某些持久化的内部资源用完。

对于数据库错误,脱机碎片整理将修复问题。 对于日志文件,首先将所有附加的数据库恢复到干净关闭状态,然后删除所有日志文件和检查点。

JET_errcatApi 13

请参阅子类别。

请参阅子类别。

JET_errcatUsage 14

表示使用错误。 客户端代码未将正确的参数传递给 JET API。 重试时,此错误将持续存在。

客户端代码应使用 Assert () 方法来确保不会返回此类错误,以便在开发过程中捕获问题。 在零售版中,应用程序应将错误通知操作员。

JET_errcatState 15

表示一类消息,API 可以返回这些消息来描述数据库的状态。 例如,当找不到请求的记录时, JetSeek () 方法可能会返回 JET_errRecordNotFound

因 API 而异。

JET_errcatObsolete 16

表示来自以前版本的引擎的错误。 当前引擎不应返回这些错误。

未知。

JET_errcatMax 17

一个指示枚举结束的常量。

不适用。

要求

要求

客户端

需要Windows 8。

服务器

需要 Windows 8 服务器。

标头

在 Esent.h 中声明。