【问题标题】:Connectivity issues between SqlAlchemy/PyODBC and SQL Server running in DockerSqlAlchemy/PyODBC 和在 Docker 中运行的 SQL Server 之间的连接问题
【发布时间】:2020-06-02 08:46:52
【问题描述】:

我有一个烧瓶应用程序,它使用 SQLAlchemy (v1.3.17)/PyODBC (v4.0.30) 连接到 SQL Server。在我的开发设置中,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 提供程序:错误代码 0x274C (10060)

它间歇性地发生在代码的不同位置,当我再次重新运行相同的代码时它不会发生。所以我认为我的代码根本没有什么问题。

10060 似乎是连接错误,但由于它最初能够连接正常,我认为 pyodbc 在尝试保持连接活动时出现故障。

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

【问题讨论】:

标签: sql-server docker sqlalchemy pyodbc


【解决方案1】:

感谢 Ed,Gin(如果您希望我认可,请随时发布作为答案)。 http://github.com/sqlalchemy/sqlalchemy/issues/5148 是同样的问题,那里建议的“pool_pre_ping”引擎选项似乎已经解决了问题。

【讨论】:

    猜你喜欢
    • 2019-03-28
    • 2013-03-22
    • 2015-08-02
    • 1970-01-01
    • 1970-01-01
    • 2011-11-03
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多