gpt4 book ai didi

sql-server - ADO/SQL 服务器 : What is the error code for "timeout expired"?

转载 作者:行者123 更新时间:2023-12-01 04:17:52 25 4
gpt4 key购买 nike

我正在尝试从 ADO 捕获“超时过期”错误。

当超时发生时,ADO 返回:

Number:      0x80040E31 (DB_E_ABORTLIMITREACHED in oledberr.h)
SQLState: HYT00
NativeError: 0
NativeError零是有道理的,因为超时不是数据库引擎(即 SQL Server)的函数,而是 ADO 的内部超时机制的函数。
Number (即 COM hresult)看起来很有用,但 definition of DB_E_ABORTLIMITREACHED oledberr.h 说:

Execution stopped because a resource limit was reached. No results were returned.



此错误可能适用于除“超时过期”(某些可能是服务器端)之外的其他内容,例如限制的调控器:
  • CPU使用率
  • I/O 读/写
  • 网络带宽

  • 并停止查询。

    最后一个有用的部分是 SQLState ,这是一个独立于数据库的错误代码系统。可惜只有 reference for SQLState error codes i can find没有提到 HYT00 .

    该怎么办?
    做什么?

    注:我不能相信
    0x80040E31 (DB_E_ABORTLIMITREACHED)

    意思是“超时到期”,比我能相信的还要多
    0x80004005 (E_UNSPECIFIED_ERROR)

    表示“事务在与另一个进程的锁定资源上陷入僵局,并已被选为死锁受害者”。

    我的伪问题变成了:有没有人有关于 SQLState“ HYT000”是什么意思的文档?

    我真正的问题仍然存在:我如何专门捕获 ADO 抛出的 ADO 超时过期异常?

    必须喜欢开发人员试图“做正确的事”的问题,但没有人知道 怎么样做正确的事。也必须喜欢如何使用谷歌搜索 DB_E_ABORTLIMITREACHED这个问题是#9,找不到MSDN。

    更新 3

    来自 OLEdb ICommand.Execute reference :

    DB_E_ABORTLIMITREACHED

    Execution has been aborted because a resource limit has been reached. For example, a query timed out. No results have been returned.



    “例如”,意思是不是一个详尽的列表。

    更新三

    找到了。答案作为答案应用。

    最佳答案

    可以 安全使用 HYT00意思是 “超时已过期” .以下来自微软的SQLSTATEs引用。它提到了 HYT00状态:

    The following SQLSTATEs indicate run-time errors or warnings and are good candidates on which to base programming logic. However, there is no guarantee that all drivers return them.

    01004 (Data truncated)

    01S02 (Option value changed)

    HY008 (Operation canceled)

    HYC00 (Optional feature not implemented)

    HYT00 (Timeout expired)


    然后链接到 Appendix A: ODBC Error Codes of the ODBC Programmer's Reference ,其中记录了 SQLSTATE值(value)观:
  • HYT00超时已过期,有趣的是
  • HYT01连接超时过期

  • 因此,您可以将 HYT00 用于“超时已过期”。

    关于sql-server - ADO/SQL 服务器 : What is the error code for "timeout expired"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977913/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com