ADO/SQL Server:“超时已过期”的错误代码是什么?

2023-12-25

我试图捕获来自 ADO 的“超时已过期”错误。

当超时发生时,ADO 返回:

Number:      0x80040E31 (DB_E_ABORTLIMITREACHED in oledberr.h)
SQLState:    HYT00
NativeError: 0

The NativeError为零是有道理的,因为超时不是数据库引擎(即 SQL Server)的函数,而是 ADO 内部超时机制的函数。


The Number(即 COM hresult)看起来很有用,但是的定义DB_E_ABORTLIMITREACHED https://web.archive.org/web/20110921082938/http://blogs.msdn.com:80/b/joshpoley/archive/2008/01/04/errors-004-facility-itf.aspx in oledberr.h http://examples.oreilly.com/9780735619616/cd_contents/devtools/include/oledberr.h says:

由于达到资源限制,执行已停止。没有返回结果。

此错误可能适用于除“超时已过“(一些可能是服务器端的),例如限制的调控器:

  • CPU使用率
  • I/O 读/写
  • 网络带宽

并停止查询。


最后有用的部分是SQLState,这是一个独立于数据库的错误代码系统。不幸的是唯一我可以找到的 SQLState 错误代码参考 https://www.ibm.com/docs/en/products?topic=/com.ibm.db2.udb.doc/core/r0sttmsg.htm没有提及HYT00.

该怎么办? 做什么呢?


Note:我不能相信

0x80040E31 (DB_E_ABORTLIMITREACHED)

意思是“超时已过“,超出了我的信任范围

0x80004005 (E_UNSPECIFIED_ERROR)

意思是“事务在锁资源上与另一个进程发生死锁,并已被选为死锁受害者".


我的伪问题变成:有人有关于 SQLState 的文档吗?HYT000" means?

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

必须喜欢开发人员试图解决的问题“做正确的事”,但没有人知道how做正确的事。也一定喜欢谷歌搜索DB_E_ABORTLIMITREACHED这个问题是#9,MSDN 上找不到。

Update 3

来自OLEDb ICommand.执行参考 https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ms718095%28v=vs.85%29:

DB_E_ABORTLIMITREACHED

由于已达到资源限制,执行已中止。例如,查询超时。没有返回任何结果。

"例如”,这意味着不是详尽的列表。


更新三

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


You can安全使用HYT00意思是“超时已过”。以下内容来自微软SQLSTATE http://msdn.microsoft.com/en-us/library/ms716412%28v=vs.85%29.aspx参考。它提到了HYT00SQL状态:

以下 SQLSTATE 指示运行时错误或警告,并且是作为编程逻辑基础的良好候选者。但是,并不能保证所有司机都会归还它们。

01004(数据被截断)

01S02(选项值已更改)

HY008(操作取消)

HYC00(可选功能未实现)

HYT00(超时已到)

然后链接到附录 A:ODBC 程序员参考的 ODBC 错误代码 http://msdn.microsoft.com/en-us/library/ms714687(v=vs.85).aspx,它记录了SQLSTATE values:

  • HYT00超时过期了,有趣的是
  • HYT01连接超时已过期

所以你可以使用 HYT00 来“超时已过".

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ADO/SQL Server:“超时已过期”的错误代码是什么? 的相关文章

随机推荐

  • 定义一个返回结构体指针的函数

    请耐心听我说 我是其他语言的新手 也是 c 语言的新手 正在学习它http c learncodethehardway org book learn c the hard way html http c learncodethehardwa
  • 从 where 子句中给定的集合中选择表中不存在的 ID

    我有一组用户 ID 512 5 13 14 67 和一个包含以下内容的表 Id userID 1 512 2 13 3 14 4 51 5 6 该集中的一些用户 ID 并不存在于表中 例如 用户身份5和用户 ID64不存在 当我执行时Sel
  • 按位 NOT 的奇怪输出

    我试图用 0 的补码得到 1 但我得到 4294967295 这是我所做的 unsigned int x 0 unsigned int y x cout lt lt y 我的输出是 4294967295 但我期望 1 为什么会这样 顺便说一
  • 如何将扫描仪输入放入数组中......例如几个数字

    Scanner scan new Scanner System in double numbers scan nextDouble double avg 你可以尝试这样的事情 public static void main String a
  • VS 2005 C++ 项目中的 msvcr90.dll 依赖项

    我在 VS 2005 中为本机 Win32 非托管 C 创建了一个 DLL 项目 将其命名为 myProj dll 它依赖于第 3 方商业 DLL 而该 DLL 又依赖于 msvcr90 dll 我假设它是从 VS 2008 项目构建的 我
  • 如何在Excel中计算分钟和秒的平均值

    B 列中的原始数据各占一个新行 如下所示 5 04 3 57 0 58 10 01 的左边 是 的分钟和右边 是秒 我需要计算我的数据的平均值 我该怎么办 您需要转换为真实时间 一种选择是使用TIME并解析原始数据 在新列中 使用 TIME
  • 时间 - 获取昨天的日期

    我正在尝试使用 Python 获取今天和昨天的时间time模块 这对我来说适用于今天的日期 dt time strptime time strftime d m Y d m Y 但我不知道如何获得昨天的日期 我发现了很多教程datetime
  • 向空对象添加属性

    我有这个代码 var MY OBJ MY OBJ test function 我正在使用 Vscode 我得到属性测试未定义 我怎么能让这只是一个警告 定义你的对象有一个test财产 var MY OBJ test Function MY
  • 每次服务器重新启动后端口“已在使用”

    寻求有关特殊问题的帮助 每次我停止并重新启动服务器时 我都会收到以下消息 Jim Jim PC MINGW64 nodeProjects express locallibrary tutorial npm start gt email pr
  • React 标签和按钮 onClick 传播

    我想创建一个带有 render 方法的 React 组件 该方法具有 a 如果您愿意的话 可以包裹整个 盒子 的标签 单击后会重定向到另一个页面 在所述盒子内有一个 a
  • spring自动装配aop循环依赖

    我正在使用 java 配置 ComponentScan为了初始化我的bean 和 EnableAspectJAutoProxy proxyTargetClass true 使用 cglib 代理 在这个项目中 我们有很多生成的服务 它们之间
  • 服务器标记在 asp 控件内不起作用

    好吧 让这快点 我想在更改或页面加载时动态设置日历扩展器的开始和结束日期 这些值被放入 ascx 上的隐藏字段中 并在页面加载期间在 if not postback 中填充 一组日历扩展器位于网格视图的项目模板字段中 称为set A 其他的
  • 使用钢琴键盘作为电脑键盘[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动 I
  • Visual Studio 2015 错误。项目的默认 XML 命名空间必须是 MSBuild XML 命名空间

    让我用 是的 我见过类似的问题 但不完全是我的情况 作为问题的开头 我的环境是 Microsoft Visual Studio Professional 2015 版本 14 0 25431 01 更新3 我的行动 我创建一个新的 C 类库
  • java.io.IOException:管道损坏

    我们目前正在将遗留应用程序迁移到 Jetty 不知怎的 我对破损的管道有一个例外 Java 6 码头8 1 8 春季3 2 0 我正在尝试将 Glassfish Web 应用程序迁移到 Jetty 在我们的测试环境中 我们使用负载平衡器 一
  • iOS7 上的 Webview 被剪裁

    我开发了一个阅读器 在使用 css 添加水平分页后 它可以在 web 视图上显示 html 文件的内容 一切工作正常 但在 iOS7 上 我注意到 web 视图在左边缘被剪裁 我已经尝试过以下方法 readingWebView frame
  • 类型成员的表达式会产生不同的表达式(MemberExpression、UnaryExpression)

    描述 我有一个表达式来指向我类型的属性 但它并不适用于所有财产类型 不等于 的意思是 它会产生不同的表达类型 我以为这会导致MemberExpression但这种情况并非如此 For int and Guid它导致UnaryExpressi
  • Django:想要将空字段显示为空白而不是显示 None

    我有一个名为 client details html 的模板 它显示user note and datetime 现在有时 客户端可能没有用户 注释和日期时间的条目 我的程序将做的是显示None如果这些字段为空 我不想显示 无 如果某个字段
  • Android O 新的 TextToSpeech onRangeStart() 回调

    TTS UtteranceProgressListener 的新回调函数 onRangeStart 可以让我们突出显示 TTS 引擎朗读的较长短语中的各个单词 回调在 Android API 参考中定义 https developer an
  • ADO/SQL Server:“超时已过期”的错误代码是什么?

    我试图捕获来自 ADO 的 超时已过期 错误 当超时发生时 ADO 返回 Number 0x80040E31 DB E ABORTLIMITREACHED in oledberr h SQLState HYT00 NativeError 0