在 Azure SQL 数据库中推送数据无需 docker 即可工作,但使用 docker 则不行

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

我正在尝试通过 python 和 SqlAlchemy 将数据集推送到 Azure SQL 数据库中,该数据库在没有 docker 的情况下工作正常,但当我与 docker 一起使用时,它会抛出错误。错误是:

2024-12-09 16:11:53 Error pushing data to the database: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
2024-12-09 16:11:53 (Background on this error at: https://sqlalche.me/e/20/e3q8)
2024-12-09 16:11:53 Error encountered: (pyodbc.OperationalError) ('HYT00', '[HYT00] [Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired (0) (SQLDriverConnect)')
2024-12-09 16:11:53 (Background on this error at: https://sqlalche.me/e/20/e3q8)
2024-12-09 16:11:53 No data has been pushed to the database or Blob storage.

有人可以告诉我出了什么问题吗?

我增加了超时和连接超时,但仍然不起作用

python-3.x docker sqlalchemy azure-sql-database
1个回答
0
投票

这里的超时是针对登录的,因此如果您的凭据在 Docker 与非 Docker 上相同,那么您的问题可能与连接有关。

从 docker 中,您能够访问 Azure SQL 数据库吗?默认情况下,连接策略是使用代理进行 Azure 外部连接并重定向到来自 Azure 的连接。

除了端口 1433 之外,重定向还需要打开端口范围 11000 到 11999。检查 Docker 是否可以使用此端口。

这里有很多假设,但如果您提供有关您正在使用的网络设置的更多详细信息,才能提供更多帮助。 SQL Server 设置、Docker 从何处连接、防火墙规则等

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