无法使用以下代码通过 Docker 容器连接 Azure SQL Server -
基于 url - Cannot connect to Azure SQL using an alpine docker image with Python
我尝试了不同的驱动程序,但 FreeTDS 根本无法工作。
pyodbc.OperationalError: ('08S01', '[08S01] [FreeTDS][SQL Server]Unable to connect: Adaptive Server is unavailable or does not exist (20009) (SQLDriverConnect)')
odbcinst.ini
[FreeTDS]
Description=FreeTDS Driver
Driver=/usr/lib/libtdsodbc.so
Setup=/usr/lib/libtdsS.so
最佳答案
由于Apline Linux没有官方文档的msodbcsql17
和mssql-tools
包Installing the Microsoft ODBC Driver for SQL Server on Linux and macOS
列表中,恐怕您不仅可以使用 freetds
和 unixodbc-dev
连接 Azure SQL Database v17。
如下图,在我的Ubuntu Linux中可以看到/etc/odbcinst.ini
内容。现在,要连接在 Azure 门户中创建的 Azure SQL 数据库 v17,需要使用指定的 odbc 库 libmsodbcsql-17.3.so.1.1
。
所以唯一的解决办法就是改用Python中的pymssql
包进行连接,请引用官方文档Python SQL Driver - pymssql
将 freetds-dev
和 pymssql
所需的内容添加到 Docker 文件中。
apk add freetds freetds-dev
pip install pymssql
希望有帮助。
关于sql-server - 无法通过 Python 使用 alpine3.8 docker 镜像连接到 Azure SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57483645/