我使用以下简单代码连接到Oracle数据库以执行存储过程。但是在连接到DB或使用callproc
函数执行存储过程时,没有看到任何超时参数。
有人可以建议如何在python for Oracle中实现“超时”!
self.db_connection = cx_Oracle.connect(self.connection_str)
try:
if self.cursor is None:
self.cursor = self.db_connection.cursor()
except:
raise
答案 0 :(得分:0)
通常,有一种方法可以在一段时间后停止数据库执行。
数据库有一个资源管理器,可用于限制数据库资源,如果超出则返回错误。
您可以通过创建具有各种超时参数的sqlnet.ora configuration file来配置cx_Oracle使用的Oracle Net层,例如SQLNET.INBOUND_CONNECT_TIMEOUT,SQLNET.RECV_TIMEOUT和 SQLNET.SEND_TIMEOUT等。检查Oracle Net Services documention。
对于连接,请使用后者