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 | 在事务处理中,连接 对象不能被显式关闭。 当前参与事务的 Recordset 或 Connection 对象无法关闭。 在关闭对象之前调用 RollbackTrans 或 CommitTrans。 |
3251 | adErrFeatureNotAvailable | 对象或提供程序无法执行请求的操作。 某些操作依赖于特定的提供程序版本。 |
3265 | adErrItemNotFound | 在与请求的名称或序号相对应的集合中找不到项。 指定了不正确的字段或表名。 |
3367 | adErrObjectInCollection | 对象已在集合中。 无法追加。 不能将对象添加到同一集合两次。 |
3420 | adErrObjectNotSet | 对象不再有效。 |
3421 | adErrDataConversion | 应用程序对当前操作使用错误类型的值。 例如,你可能已向需要流的操作提供字符串。 |
3704 | adErrObjectClosed | 关闭对象时不允许操作。 连接 或 记录集 已关闭。 例如,其他一些例程可能已关闭全局对象。 在尝试操作之前,可以通过检查 State 属性来防止此错误。 |
3705 | adErrObjectOpen | 打开对象时不允许操作。 已经打开的对象无法再打开。 字段不能追加到打开的 Recordset。 |
3706 | adErrProviderNotFound | 找不到提供程序。 它可能无法正确安装。 提供程序的名称可能未正确指定,指定的提供程序可能不会安装在执行代码的计算机上,或者安装可能已损坏。 |
3707 | adErrBoundToCommand | 无法更改 Recordset 对象的 ActiveConnection 属性,该对象具有 Command 对象作为其源。 应用程序尝试将新的 Connection 对象分配给 Recordset,该 命令 对象作为其源。 |
3708 | adErrInvalidParamInfo | 未正确定义参数 对象。 提供了不一致或不完整的信息。 |
3709 | adErrInvalidConnection | 连接不能用于执行此操作。 在此上下文中,它要么已关闭,要么无效。 |
3710 | adErrNotReentrant | 处理事件时无法执行操作。 无法在导致事件再次触发的事件处理程序中执行操作。 例如,不应从 WillMove 事件处理程序中调用导航方法。 |
3711 | adErrStillExecuting | 异步执行时无法执行操作。 |
3712 | adErrOperationCancelled | 操作已被用户取消。 应用程序已调用 CancelUpdate 或 CancelBatch 方法,并且当前操作已被取消。 |
3713 | adErrStillConnecting | 异步连接时无法执行操作。 |
3714 | adErrInvalidTransaction | 协调事务无效或尚未启动。 |
3715 | adErrNotExecuting | 操作无法执行,因为未在执行中。 |
3716 | 为不安全操作错误 | 此计算机上的安全设置禁止访问另一个域中的数据源。 |
3717 | adWrnSecurityDialog | 仅供内部使用。 请勿使用。 为了完整性,条目已被纳入。此错误不应出现在您的代码中。 |
3718 | adWrnSecurityDialogHeader | 仅供内部使用。 请勿使用。 为了完整性,条目被包括在内。此问题不应出现在代码中。 |
3719 | adErrIntegrityViolation | 数据值与字段的完整性约束冲突。 字段 的新值将导致键重复。 形成两条记录之间关系的一端的值可能无法更新。 |
3720 | 权限被拒绝错误 | 权限不足会阻止写入字段。 连接字符串中指定的用户没有合适的权限将数据写入 Field。 |
3721 | adErrDataOverflow | 数据值太大,无法由字段数据类型表示。 为目标字段分配的数值过大。 例如,向短整数字段分配了长整数值。 |
3722 | adErrSchemaViolation | 数据值与字段的数据类型或约束冲突。 数据存储具有与 字段 值不同的验证约束。 |
3723 | adErrSignMismatch | 转换失败,因为数据值已签名,提供程序使用的字段数据类型为未签名。 |
3724 | adErrCantConvertvalue | 由于符号不匹配或数据溢出以外的原因,无法转换数据值。 例如,转换会截断数据。 |
3725 | adErrCantCreate | 由于字段数据类型未知,或者提供程序没有足够的资源来执行该操作,因此无法设置或检索数据值。 |
3726 | adErrColumnNotOnThisRow | 记录不包含此字段。 指定了不正确的字段名称,或者引用了不属于当前记录集合 中的 字段。 |
3727 | adErrURLDoesNotExist | 目标 URL 的源 URL 或父 URL 不存在。 源 URL 或目标 URL 中存在版式错误。 你可能有 https://mysite/photo/myphoto.jpg ,而实际上你应该有 https://mysite/photos/myphoto.jpg 。 父 URL 中的版式错误(在这种情况下,照片 而不是 照片)导致了错误。 |
3728 | adErrTreePermissionDenied | 权限不足以访问树或子树。 在连接字符串中命名的用户没有适当的权限。 |
3729 | adErrInvalidURL | URL 包含无效字符。 请确保正确键入 URL。 URL 遵循当前提供程序注册的方案(例如,为 http 注册 Internet 发布提供程序)。 |
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 | 字段更新失败。 有关详细信息,请查看各个字段对象的 状态 属性。 此错误可能发生在两种情况下:在更改或向数据库添加记录的过程中更改 Field 对象的值时;以及更改 Field 对象本身的属性时。 Record 或 Recordset 更新失败,因为当前记录中的某个字段出现问题。 枚举 字段 集合,并检查每个字段 状态 属性以确定问题的原因。 |
3750 | adErrDenyNotSupported | 提供程序不支持共享限制。 尝试限制文件共享,但您的服务提供商不支持这一概念。 |
3751 | adErrDenyTypeNotSupported | 提供程序不支持请求的共享限制类型。 已尝试建立提供商不支持的某种文件共享限制。 请参阅提供程序的文档,确定支持哪些文件共享限制。 |