gpt4 book ai didi

python - 数据库重启时 cx_oracle 连接丢失

转载 作者:行者123 更新时间:2023-12-01 01:51:56 25 4
gpt4 key购买 nike

我正在使用 cx_oracle 连接器将我的 API 层连接到 Oracle DB,这里的问题是我的数据库计算机由于某些其他原因而不断重新启动。

我想免疫我的 API 层以重新建立连接或尝试重新连接,对此最好的解决方案是什么?

请不要建议 try and catch。

我的连接代码:

import cx_Oracle
connection_string = "{user}/{password}@{server}:{port}/{sid}".format(
user=config.DB_USER,
password=config.DB_PASSWORD,
server=config.DB_HOST,
port=config.DB_PORT,
sid=config.DB_SID)
db_conn = cx_Oracle.connect(connection_string)

cursor = db_conn.cursor()

我对此了解不多,但是拥有 session /连接池会有帮助吗?

最佳答案

如果您使用 session 池 (cx_Oracle.SessionPool),则只要从池中请求失效 session ,它们就会被替换。这对您从池中获取的现有 session 没有帮助。但是,如果出现错误,将 session 释放回池中,然后再次从池中获取 session ,您将获得可以使用的 session 。如果您希望针对数据库故障提供更高级的保护,则需要探索 Oracle 数据库提供的一些更高级的技术,例如 RAC(真正应用集群)。

关于python - 数据库重启时 cx_oracle 连接丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50641085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com