ADO 错误

ErrorValueEnum 常量描述 ADO 错误值。 有关这些枚举常量的完整列表(包括值),请参阅附录 B:ADO 错误。 本部分将检查一些更有趣的错误,并解释一些可能引发错误的特定情况,或解决问题的解决方案。 同时列出了 ErrorValueEnum 常量和短正十进制数。

数字 ErrorValueEnum 常量 说明/可能的原因
3000 adErrProviderFailed 提供程序无法执行请求的操作。
3001 adErrInvalidArgument 参数的类型不正确、参数超出了可接受的范围,或者参数彼此冲突。 此错误通常是由 SQL SELECT 语句中的打字错误引起的。 例如,拼写错误的字段名称或表名称可能会生成此错误。 在数据存储中不存在 SELECT 语句中命名的字段或表时,也可能发生此错误。
3002 adErrOpeningFile 文件无法打开。 指定了拼写错误的文件名,或者文件已被移动、重命名或删除。 通过网络,驱动器可能暂时不可用,或者网络流量可能会阻止连接。
3003 adErrReadFile 无法读取文件。 文件名未正确指定,文件可能已被移动或删除,或者文件可能已损坏。
3004 adErrWriteFile 写入文件失败。 你可能已经关闭了一个文件,然后尝试写入该文件,或者该文件可能已损坏。 如果文件位于网络驱动器上,则暂时性网络条件可能会阻止写入网络驱动器。
3021 adErrNoCurrentRecord BOF 或 EOF 为 True,或当前记录已删除。 请求的操作需要当前记录。

尝试使用 Find 或 Seek 将记录指针移动到所需记录来更新记录。 如果未找到记录,则 EOF 将为 True。 此错误也可能发生在 AddNew 或 Delete 失败之后,因为当这些方法失败时没有当前记录。
3219 adErrIllegalOperation 此上下文中不允许使用该操作。
3220 adErrCantChangeProvider 提供的提供程序不同于已使用的提供程序。
3246 adErrInTransaction 当处于事务中时,无法显式关闭 Connection 对象。 当前参与事务的 Recordset 或 Connection 对象无法关闭。 在关闭对象之前调用 RollbackTrans 或 CommitTrans。
3251 adErrFeatureNotAvailable 对象或提供程序无法执行请求的操作。 某些操作依赖于特定的提供程序版本。
3265 adErrItemNotFound 在与所请求的名称或序号相对应的集合中找不到该项。 指定了不正确的字段或表名。
3367 adErrObjectInCollection 对象已在集合中。 无法追加。 不能将对象添加到同一集合中两次。
3420 adErrObjectNotSet 对象不再有效。
3421 adErrDataConversion 应用程序对当前操作使用错误类型的值。 例如,你可能已向需要流的操作提供字符串。
3704 adErrObjectClosed 关闭对象时不允许该操作。 Connection 或 Recordset 已关闭。 例如,其他一些例程可能已关闭全局对象。 在尝试操作之前,可以通过检查 State 属性来阻止此错误。
3705 adErrObjectOpen 对象打开时不允许该操作。 无法打开的对象。 不能将字段追加到打开的 Recordset。
3706 adErrProviderNotFound 找不到提供程序。 它可能无法正确安装。

提供程序的名称可能未正确指定,指定的提供程序可能未安装在执行代码的计算机上,或者安装可能已损坏。
3707 adErrBoundToCommand 无法更改以 Command 对象作为其源的 Recordset 对象的 ActiveConnection 属性。 应用程序尝试将新的 Connection 对象分配给将 Command 对象作为其源的 Recordset。
3708 adErrInvalidParamInfo Parameter 对象定义不当。 提供了不一致或不完整的信息。
3709 adErrInvalidConnection 无法使用该连接来执行此操作。 该连接在此上下文中已关闭或无效。
3710 adErrNotReentrant 处理事件时无法执行操作。 不能在导致事件再次触发的事件处理程序中执行操作。 例如,不应从 WillMove 事件处理程序内调用导航方法。
3711 adErrStillExecuting 异步执行时无法执行操作。
3712 adErrOperationCancelled 操作已被用户取消。 应用程序已调用 CancelUpdate 或 CancelBatch 方法,并且当前操作已被取消。
3713 adErrStillConnecting 异步连接时无法执行操作。
3714 adErrInvalidTransaction 协调事务无效或尚未启动。
3715 adErrNotExecuting 当没有对象在执行操作时,操作无法被执行。
3716 adErrUnsafeOperation 此计算机上的安全设置禁止访问其它域的数据源。
3717 adWrnSecurityDialog 仅限内部使用。 请不要使用。 (条目是出于完整性而包含的。此错误不应显示在代码中。)
3718 adWrnSecurityDialogHeader 仅限内部使用。 请不要使用。 (条目是出于完整性而包含的。此错误不应显示在代码中。)
3719 adErrIntegrityViolation 数据值与字段的完整性约束冲突。 Field 的新值将导致重复键。 构成两条记录之间关系一侧的值可能无法更新。
3720 adErrPermissionDenied 由于权限不足而无法写入字段。 在连接字符串中命名的用户没有写入 Field 的适当权限。
3721 adErrDataOverflow 数据值太大,无法由字段数据类型表示。 为预期字段分配了太大的数值。 例如,向短整数字段分配了一个长整数值。
3722 adErrSchemaViolation 数据值与字段的数据类型或约束冲突。 数据存储具有不同于 Field 值的验证约束。
3723 adErrSignMismatch 转换失败,因为数据值带有符号而提供程序所使用的字段数据类型不带符号。
3724 adErrCantConvertvalue 无法转换数据值,原因并非符号不匹配或数据溢出。 例如,转换会截断数据。
3725 adErrCantCreate 由于字段数据类型未知,或者提供程序没有足够的资源来执行操作,因此无法设置或检索数据值。
3726 adErrColumnNotOnThisRow 记录不包含此字段。 指定了不正确的字段名称,或者引用了当前记录的 Fields 集合中的字段。
3727 adErrURLDoesNotExist 源 URL 或目标 URL 的父级不存在。 源或目标 URL 中存在打字错误。 你可能会具有 https://mysite/photo/myphoto.jpg,而实际上应该具有 https://mysite/photos/myphoto.jpg。 父 URL 中的打字错误(在本例中使用了 photo 而不是 photos)导致了错误。
3728 adErrTreePermissionDenied 权限不足,无法访问树或子树。 在连接字符串中命名的用户没有相应的权限。
3729 adErrInvalidURL URL 包含无效字符。 确保正确键入该 URL。 URL 遵循注册到当前提供程序的方案(例如,Internet 发布提供程序注册为 http)。
3730 adErrResourceLocked 指定的 URL 表示的对象已被一个或多个其他进程锁定。 等到该进程完成后再尝试此操作。 尝试访问的对象已被其他用户或应用程序中的另一个进程锁定。 这最有可能出现在多用户环境中。
3731 adErrResourceExists 无法执行复制操作。 按目标 URL 指定的对象已存在。 指定 adCopyOverwrite 以替换该对象。 如果在复制目录中的文件时未指定 adCopyOverwrite,则尝试复制目标位置中已存在的项时,复制会失败。
3732 adErrCannotComplete 服务器无法完成此操作。 这可能是因为服务器正忙于其他操作,或者资源不足。
3733 adErrVolumeNotFound 提供程序找不到 URL 指示的存储设备。 确保正确键入该 URL。 存储设备的 URL 可能不正确,但此错误可能会因其他原因而发生。 设备可能处于脱机状态,或者大量网络流量可能会阻止连接。
3734 adErrOutOfSpace 无法执行操作。 提供程序无法获取足够的存储空间。 服务器上的临时文件可能没有足够的 RAM 或硬盘驱动器空间。
3735 adErrResourceOutOfScope 源或目标 URL 超出了当前记录的范围。
3736 adErrUnavailable 操作未完成,状态无法提供。 该字段可能不可用,或者未尝试此操作。 另一个用户可能已更改或删除你尝试访问的字段。
3737 adErrURLNamedRowDoesNotExist 按此 URL 指定的记录不存在。 尝试使用 Record 对象打开文件时,文件名或文件路径拼写错误。
3738 adErrDelResOutOfScope 要删除的对象的 URL 超出了当前记录的范围。
3747 adErrCatalogNotSet 操作需要有效的 ParentCatalog。
3748 adErrCantChangeConnection 连接被拒绝。 你请求的新连接与已在使用的连接具有不同的特征。
3749 adErrFieldsUpdateFailed 字段更新失败。 有关更多信息,请查看单个字段对象的 Status 属性。 此错误可能发生在两种情况下:在更改或向数据库添加记录的过程中更改 Field 对象的值时;以及更改 Field 对象本身的属性时。

由于当前记录中的某个字段出现问题,Record 或 Recordset 更新失败。 枚举 Fields 集合并检查每个字段的 Status 属性以确定问题的原因。
3750 adErrDenyNotSupported 提供程序不支持共享限制。 尝试限制文件共享,而提供程序不支持这一概念。
3751 adErrDenyTypeNotSupported 提供程序不支持请求的共享限制类型。 尝试建立提供程序不支持的特定类型的文件共享限制。 请参阅提供程序文档,以确定支持哪些文件共享限制。