ADO 错误参考

适用于:Access 2013、Office 2013

ErrorValueEnum 常量描述 ADO 的错误值。 若要获得这些枚举常量(包括值)的完整列表,请参阅 附录 B:ADO 错误。 本部分将分析一些更有意思的错误并说明可能引发这些错误的某些特定情况或解决问题的解决方案。 下面列出了 ErrorValueEnum 常量和短型正小数。

数字

ErrorValueEnum 常量

说明/可能的原因

3000

adErrProviderFailed

提供程序未能执行请求的操作。

3001

adErrInvalidArgument

参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突。 此错误通常是由 SQL SELECT 语句中的录入错误导致的。 例如,拼错的字段名称或表名称可能会导致此错误。 当 SELECT 语句中指定的字段或表在数据存储区中不存在时也会发生此错误。

3002

adErrOpeningFile

无法打开文件。 指定的文件名拼写错误,或者文件已被移动、重命名或删除。 在网络上,驱动器可能临时不可用,或网络流量可能阻止了连接。

3003

adErrReadFile

无法读取文件。 没有正确指定文件名称,文件可能已被移动或删除,或者文件可能已损坏。

3004

adErrWriteFile

写入文件失败。 您可能在已经关闭文件后试图向其中写入,或者文件可能损坏。 如果文件位于网络驱动器上,网络短时间的不稳定可能阻止写入网络驱动器。

3021

adErrNoCurrentRecord

可以是 BOFEOF 为 True,或者是当前记录已被删除。 请求的操作需要当前记录。 通过使用 FindSeek 将记录指针移动到所需的记录来尝试更新记录。 如果找不到所需的记录, EOF 将为 True。 在 AddNewDelete 失败后,也可能发生此错误,因为这些方法失败时,不存在当前记录。

3219

adErrIllegalOperation

此上下文中不允许操作。

3220

adErrCantChangeProvider

所提供的提供程序与正在使用的提供程序不同。

3246

adErrInTransaction

在事务处理过程中,不能显式关闭 Connection 对象。 不能关闭当前参与事务的 RecordsetConnection 对象。 请在关闭该对象前调用 RollbackTransCommitTrans

3251

adErrFeatureNotAvailable

对象或提供程序不能执行请求的操作。 某些操作依赖于特定的提供程序版本。

3265

adErrItemNotFound

在对应于所请求的名称或序号的集合中没有找到项。 指定的字段名或表名错误。

3367

adErrObjectInCollection

对象已在集合中。 不能追加。 一个对象不能向同一集合添加两次。

3420

adErrObjectNotSet

对象不再有效。

3421

adErrDataConversion

应用程序在当前操作中使用了错误类型的值。 例如,您可能为需要数据流的操作提供了一个字符串。

3704

adErrObjectClosed

对象关闭时不允许操作。 ConnectionRecordset 已关闭。 例如,某个其他例程可能已经关闭了全局对象。 在尝试操作前,可以通过检查 State 属性来防止此错误。

3705

adErrObjectOpen

对象打开时不允许操作。 不能打开已打开的对象。 不能将字段追加到打开的 Recordset

3706

adErrProviderNotFound

找不到提供程序。 可能没有正确安装该提供程序。 可能没有正确指定该提供程序的名称,指定的提供程序可能没有安装在执行代码的计算机上,或者安装可能已损坏。

3707

adErrBoundToCommand

不能更改将 Command 对象作为源的 Recordset 对象的 ActiveConnection 属性。 应用程序试图将新的 Connection 对象分配给将 Command 对象作为源的 Recordset

3708

adErrInvalidParamInfo

没有正确定义 Parameter 对象。 提供的信息不一致或不完整。

3709

adErrInvalidConnection

该连接无法用于执行此操作。 它已关闭或在此上下文中无效。

3710

adErrNotReentrant

在处理事件的过程中,无法执行操作。 不能在导致事件再次触发的事件处理程序中执行操作。 例如,不应该从 WillMove 事件处理程序中调用 navigation 方法。

3711

adErrStillExecuting

在异步执行时,无法执行操作。

3712

adErrOperationCancelled

用户已取消操作。 应用程序已调用了 CancelUpdateCancelBatch 方法,当前操作已被取消。

3713

adErrStillConnecting

异步连接时,无法执行操作。

3714

adErrInvalidTransaction

协调事务无效或未开始。

3715

adErrNotExecuting

没有执行时,无法执行操作。

3716

adErrUnsafeOperation

此计算机上的安全设置禁止访问其他域上的数据源。

3717

adWrnSecurityDialog

仅供内部使用。 请勿使用。 为了完整起见,包括了 (项。此错误不应显示在 code 中。)

3718

adWrnSecurityDialogHeader

仅供内部使用。 请勿使用。 为了完整起见,包括 (条目。此错误不应显示在 code 中。)

3719

adErrIntegrityViolation

数据值与字段的完整性约束冲突。 Field 的新值会导致重复键。 构成两条记录之间关系的一方的值可能无法更新。

3720

adErrPermissionDenied

权限不足,无法写入字段。 在连接字符串中指定的用户没有适当的权限写入 字段

3721

adErrDataOverflow

数据值过大,无法以字段数据类型表示。 为要使用的字段指定的数值过大。 例如,将长整型值赋值给短整型字段。

3722

adErrSchemaViolation

数据值与数据类型或字段的约束冲突。 数据存储区具有不同于 Field 值的有效性约束。

3723

adErrSignMismatch

转换失败,原因是数据值有符号,而提供程序所使用的字段数据类型无符号。

3724

adErrCantConvertvalue

由于符号不匹配或数据溢出以外的其他原因,数据值无法转换。 例如,转换会截断数据。

3725

adErrCantCreate

因为字段数据类型未知,或提供程序没有足够的资源执行该操作,无法设置或检索数据值。

3726

adErrColumnNotOnThisRow

记录不包含此字段。 指定的字段名称不正确,或所引用字段不是当前记录的 Fields 集合中的字段。

3727

adErrURLDoesNotExist

Either the source URL or the parent of the destination URL does not exist. There is a typographical error in either the source or destination URL. 你可能拥有 https://mysite/photo/myphoto.jpg 了实际 https://mysite/photos/myphoto.jpg 应该改为使用的时候。 父 URL 中的录入错误(在这种情况下,使用了“photo”而不是“photos”)导致了出错。

3728

adErrTreePermissionDenied

权限不足,无法访问树或子树。 连接字符串中指定的用户没有适当的权限。

3729

adErrInvalidURL

URL 包含无效字符。 请确保键入的 URL 正确。 URL 遵循注册到当前提供程序的架构(例如,为 http 注册了 Internet Publishing Provider)。

3730

adErrResourceLocked

由指定的 URL 表示的对象被一个或多个其他进程锁定。 请等待该进程完成,然后重试该操作。 试图访问的对象已被其他用户或应用程序中的其他进程锁定。 在多用户环境中,很可能出现这种情况。

3731

adErrResourceExists

无法执行复制操作。 由目标 URL 命名的对象已经存在。 指定 adCopyOverwrite 替换该对象。 如果在复制目录中的文件时不指定 adCopyOverwrite ,则在试图复制已存在于目标位置的项时,复制会失败。

3732

adErrCannotComplete

服务器无法完成该操作。 这可能是由于服务器忙于其他操作,或者服务器资源不足。

3733

adErrVolumeNotFound

提供程序找不到 URL 指定的存储设备。 请确保键入的 URL 正确。 存储设备的 URL 可能不正确,但其他原因也可能引起此错误。 设备可能处于脱机状态,或者大量的网络流量可能会阻止建立连接。

3734

adErrOutOfSpace

无法执行操作。 提供程序无法获取足够的存储空间。 RAM 或硬盘空间不足,无法满足服务器上临时文件的需求。

3735

adErrResourceOutOfScope

源 URL 或目标 URL 在当前记录的范围之外。

3736

adErrUnavailable

操作未能完成,状态不可用。 可能是字段不可用或未尝试任何操作。 其他用户可能已经更改或删除了您试图访问的字段。

3737

adErrURLNamedRowDoesNotExist

此 URL 指定的记录不存在。 在试图使用 Record 对象打开文件时,文件名或文件路径拼写错误。

3738

adErrDelResOutOfScope

要删除的对象的 URL 位于当前记录的范围之外。

3747

adErrCatalogNotSet

操作需要一个有效的 ParentCatalog

3748

adErrCantChangeConnection

连接被拒绝。 所请求的新连接与已使用的连接具有不同的特征。

3749

adErrFieldsUpdateFailed

Fields update failed. For further information, examine the Status property of individual field objects. This error can occur in two situations: when changing a Field object's value in the process of changing or adding a record to the database; and when changing the properties of the Field object itself. The Record or Recordset update failed due to a problem with one of the fields in the current record. Enumerate the Fields collection and check the Status property of each field to determine the cause of the problem.

3750

adErrDenyNotSupported

提供程序不支持共享限制。 试图限制文件共享,但您的提供程序不支持该概念。

3751

adErrDenyTypeNotSupported

提供程序不支持所请求的共享限制类型。 试图建立特殊类型的文件共享限制,您的提供程序不支持该限制。 请参阅提供程序的文档以确定所支持的文件共享限制。