ADO 错误
ErrorValueEnum 常量描述 ADO 错误值。 有关这些枚举常量的完整列表(包括值),请参阅附录 B:ADO 错误。 本部分将检查一些更有趣的错误,并解释一些可能引发错误的特定情况,或解决问题的解决方案。 同时列出了 ErrorValueEnum 常量和短正十进制数。
Number | 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 | 提供程序不支持请求的共享限制类型。 尝试建立提供程序不支持的特定类型的文件共享限制。 请参阅提供程序文档,以确定支持哪些文件共享限制。 |