c++ - 如何检测 Oracle 断开/停止的连接?

标签 c++ oracle database-connection oracle-call-interface otl

在我们的服务器/客户端设置中,我们遇到了一些奇怪的行为。客户端是一个 C/C++ 应用程序,它使用 OCI 连接到 Oracle 服务器(使用 OTL 库)。

数据库服务器有时会以某种方式死机(是的,这是核心问题,但从应用程序方面我们无法解决它,但无论如何都必须处理它),机器不再响应到新的请求/连接,但现有的请求/连接,如 Oracle 连接,不会丢失或超时。发送到数据库的查询再也不会成功返回。

Oracle 提供了哪些可能性(如果有的话)从客户端-应用程序端检测这些停滞的连接并以或多或少安全的方式恢复?

最佳答案

直到 11.1.0.6,这是 Oracle 中的一个错误(或称为功能),他们说 Oracle 11g 版本 1 上的补丁(补丁 11.1.0.7)具有修复。需要看到那个。 如果发生这种情况,您将不得不取消 (kill) 执行此操作的线程。 虽然不是很好的方法

关于c++ - 如何检测 Oracle 断开/停止的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1431560/

相关文章:

c# - Linq "Unable to cast object of type ' System.DateTime' 键入 'System.String'“错误

c++ - 数据在图表上的表示

c++ - 指向容器中元素的指针

oracle - 更改数据格式

java - 如何从Java中的错误消息中去除Oracle错误代码?

java - 通信链路故障 发送到服务器的最后一个数据包是 1 毫秒前。

java - 无法从生产环境中的数据源确定 jdbc url

excel - 如何在VB脚本中设置延迟让Excel更新数据

c++ - 在启用基于它的构造函数时是否总是需要复制类模板参数?

c++ - 类中 vector 的删除-删除习语问题