我正在尝试连接到db2(ibm_db)。连接成功,我可以在数据库中进行更改。但是一段时间后,连接关闭。我没有在任何地方关闭连接。
它抛出了这个错误:
[IBM] [CLI驱动程序] CLI0106E连接已关闭。 SQLSTATE = 08003 SQLCODE = -99999 2019-04-11 03:11:20,558-信息-werkzeug-9.46.72.43--[11 / Apr / 2019 03:11:20] POST 200
这是我的代码:(不准确。但是类似)
import ibm_db
conn = ibm_db.connect("database","username","password")
def update():
stmt = ibm_db.exec_immediate(conn, "UPDATE employee SET bonus = '1000' WHERE job = 'MANAGER'")
如何始终保持连接。我的意思是每当服务运行时。
答案 0 :(得分:1)
您的仅在服务启动时进行连接的设计不适合长时间运行的服务。
您无法采取任何措施阻止另一端(即Db2服务器或任何中间网关)关闭连接。由于多种原因,连接可能会关闭。例如,Db2服务器可以配置为丢弃空闲会话或破坏某些特定于站点的工作负载管理规则的会话。网络问题可能会导致连接不可用。服务管理问题可能会导致连接断开等。
查看pconnect方法,看看它是否对您有帮助。否则,请考虑采用更好的设计,例如连接池,按需重新连接等。