在Docker中运行的SqlAlchemyPyODBC和SQL Server之间的连接问题。

问题描述 投票:0回答:1

我有一个flask应用,使用SQLAlchemy(v1.3.17)PyODBC(v4.0.30)连接到SQL服务器。在我的开发设置中,SQL服务器运行在一个Docker容器内,使用的是 mcr.microsoft.com/mssql/server:2017-latest-ubuntu 镜像与Docker Desktop for Mac (v2.3.0.3)。

这个设置已经工作了一段时间了(大约6个月),但在过去的一个月里,我一直遇到以下错误。

(pyodbc.OperationalError) ('08S01', '[08S01] [Microsoft][ODBC Driver 17 for SQL Server]TCP Provider: 错误代码0x274C (10060)

它断断续续地发生在代码的不同地方,当我再次重新运行相同的代码时,它就不会发生。所以我不认为是我的代码有什么根本性的问题。

10060似乎是一个连接错误,但由于它最初能够正常连接,我认为是pyodbc在试图保持连接的时候出现了故障。

有人遇到过类似的情况吗?我需要在SQL Server配置中设置一个超时值吗?值得庆幸的是,在生产服务器上(不是在Docker中运行),我没有遇到这个问题。但它每隔几分钟就会发生一次,所以当我在调试时非常令人沮丧。

sql-server docker sqlalchemy pyodbc
1个回答
0
投票

谢谢Ed,Gin(如果你想让我认可的话,可以随时发帖作为答案)。http:/github.comsqlalchemysqlalchemyissues5148 是同样的问题,上面建议的'pool_pre_ping'引擎选项似乎已经解决了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.