增加 python cx_Oracle 连接到慢速数据库的连接超时前的时间
Increase time before connection timout on python cx_Oracle connection to slow database
我在 python 中使用标准的 cx_Oracle.connect() 语句,就像这样
cnxn = cx_Oracle.connect(user/pwd@connection:port/service)
我收到了这个错误
DatabaseError: ORA-12170: TNS:Connect timeout occurred
我想是因为我们刚切换到一个amazon/aws/rds数据库,这个数据库很慢,而且连接超时太快了。有没有一种简单的方法可以增加超时发生前的等待时间?
到目前为止,我尝试了这些解决方案但没有成功。
cx_Oracle Connection Timeout
您可能没有 cx_oracle
超时,而是您的 oracle 客户端
您可以call_timeout
,但通常用于初始连接后的请求。
您可以按如下方式更新 sqlnet.ora
文件
SQLNET.INBOUND_CONNECT_TIMEOUT = 0
Similar so question
如果您使用的是 Oracle Client 19c 或更高版本,则可以向 Easy Connect 字符串添加连接超时。见 Oracle Database 21c Easy Connect Plus:
cnxn = cx_Oracle.connect(user/pwd@connection:port/service?transport_connect_timeout=15)
还有一个 connect_timeout
选项,请参阅上面的技术简介 link 了解不同之处。
我在 python 中使用标准的 cx_Oracle.connect() 语句,就像这样
cnxn = cx_Oracle.connect(user/pwd@connection:port/service)
我收到了这个错误
DatabaseError: ORA-12170: TNS:Connect timeout occurred
我想是因为我们刚切换到一个amazon/aws/rds数据库,这个数据库很慢,而且连接超时太快了。有没有一种简单的方法可以增加超时发生前的等待时间?
到目前为止,我尝试了这些解决方案但没有成功。
cx_Oracle Connection Timeout
您可能没有 cx_oracle
超时,而是您的 oracle 客户端
您可以call_timeout
,但通常用于初始连接后的请求。
您可以按如下方式更新 sqlnet.ora
文件
SQLNET.INBOUND_CONNECT_TIMEOUT = 0
Similar so question
如果您使用的是 Oracle Client 19c 或更高版本,则可以向 Easy Connect 字符串添加连接超时。见 Oracle Database 21c Easy Connect Plus:
cnxn = cx_Oracle.connect(user/pwd@connection:port/service?transport_connect_timeout=15)
还有一个 connect_timeout
选项,请参阅上面的技术简介 link 了解不同之处。