azure ubuntu 16.04 VM 无法连接到 azure 上的数据库

Posted

技术标签:

【中文标题】azure ubuntu 16.04 VM 无法连接到 azure 上的数据库【英文标题】:azure ubuntu 16.04 VM can't connect to database on azure 【发布时间】:2017-09-10 09:15:19 【问题描述】:

我尝试使用python 驱动程序pymssqlVM 连接到mysql db。

_connection = mysql.connect(host="xxxxxx.database.windows.net", user='xxxxxx@xxxxxx',
                                  password='xxxxx', database='xxxxxx')

但我得到这样的例外

文件“pymssql.pyx”,第 641 行,在 pymssql.connect (pymssql.c:10824) pymssql.OperationalError: (20002, b'DB-Lib 错误消息 20002, 严重性 9:\n自适应服务器连接失败 (my-xxxxx.database.windows.net:1433)\n')

当我从本地电脑连接到这个数据库时一切正常。

附: 我为我的VM 上的所有协议打开了所有端口

【问题讨论】:

您是否更新了 SQL 数据库上的防火墙以允许您的 VM 进行连接? 是的,我查过了。 【参考方案1】:

根据我的经验,Python pymssql 包依赖于freetds-common 包,使用sudo apt install python-pymssql 命令安装它时将安装它。

对于 Azure SQL 数据库,您需要使用7.3 设置 tds 版本,因此请参考我的 anser 以获取其他类似的 SO 线程 pymssql: Connection to the database only works sometimes 以检查是否已安装 freetds 以及 tds 版本在什么配置文件/etc/freetds/freetds.conf是。

希望对你有帮助。

【讨论】:

以上是关于azure ubuntu 16.04 VM 无法连接到 azure 上的数据库的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 FreeTDS 配置连接到 Azure SQL 实例

Azure CLI:DISK MAX SHARES 2 但无法连接到两个 VM

vm虚拟机下的ubuntu16.04配置静态ip(NAT方式)

Cloud Composer 无法连接到安装在 Azure VM 中的 SQL Server 数据库

无法使用 JDBC 连接通过 SSH 隧道连接到 Azure DB

允许使用root远程ssh登录(Ubuntu 16.04)