c - 如果 proc 存储过程不返回,如何超时

标签 c stored-procedures oracle11g oracle-pro-c

我正在实现以下场景:

产生了 100 个线程,每个线程都使用单独的连接和运行时上下文连接到 DB。每个线程都将执行一个返回 ref cursor 的存储过程。

问题:有时对存储过程的调用永远不会返回(来自 proc 的存储过程调用挂起)

问题:如果proc调用存储过程没有在指定时间内返回,有什么方法可以使调用超时?

最佳答案

为什么不在线程中实现计时器?如果超时,则重新建立数据库连接并重试。

超时的唯一问题是如果数据库服务器很忙,它可能不会挂起,只是运行得很慢。

关于c - 如果 proc 存储过程不返回,如何超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279820/

相关文章:

c - C中循环内的 sleep 函数有问题

sql - 存储过程在 CONCAT 语句中包含参数后立即使用 CONCAT 函数截断变量

sql - 每行或每条语句的 MERGE 语句唯一索引/约束验证?

MYSQL存储过程字符串参数列表和using IN子句

mysql存储过程输入参数值

java - 使用 JdbcTemplate 和 Oracle 11g/H2 进行 Web 分页,无可滚动结果集

oracle - 有没有简单的方法来创建oracle分区

c++ - 是否有用于文件搜索的跨平台/C++ 库? (在硬盘上)

c - 在克隆线程上发送和处理信号

c - 如何读取空白分隔的信息,包括一个可能有空白的字段?