【发布时间】:2015-07-08 16:19:18
【问题描述】:
我一直在尝试使用 Python 连接到我的 Ubuntu 14.04 笔记本电脑上的 Azure SQL 数据库。
我从 Microsoft 找到这篇文章:Connect to SQL Database by using Python on Ubuntu Linux,它向我展示了如何使用 Python 2.7.6
连接到我的 SQL 数据库我在开始之前确认我满足 Python 2.7.6 要求:
ryan@laptop:~$ python -V的输出是Python 2.7.6
我按照说明在终端中输入了以下几行:
sudo apt-get --assume-yes update sudo apt-get --assume-yes install freetds-dev freetds-bin sudo apt-get --assume-yes install python-dev python-pip sudo pip install pymssql
一切都按预期安装。
我创建了一个 python 脚本并输入了我的信息,这是我的代码:
#!/usr/bin/python
import pymssql
conn = pymssql.connect(server='ryans_server.database.windows.net', user='ryans_user@ryans_server', password='ryans_password', database='ryans_database')
但是,当我执行这段代码时,输出如下:
Traceback (most recent call last):
File "./tp-database.py", line 3, in <module>
conn = pymssql.connect(server='ryans_server.database.windows.net', user='ryans_user@ryans_server', password='ryans_password', database='ryans_database')
File "pymssql.pyx", line 637, in pymssql.connect (pymssql.c:9508)
pymssql.OperationalError: (18456, "Login failed for user 'ryans_user'.DB-Lib error message 18456, severity 14:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n")
我试过了:export TDSVER=7.0,这会导致不同的错误:
pymssql.OperationalError: (20017, 'DB-Lib error message 20017, severity 9:\nUnexpected EOF from the server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')
如何连接到我的 Azure SQL 数据库?
【问题讨论】:
-
我用的是pyodbc,详情请见askubuntu.com/a/567960。
-
我放弃了 pymssql。更简单的替代方案,称为 pyodbc,最终为我工作。对于任何正在为 pymssql 苦苦挣扎的人,请遵循本教程:snakeycode.wordpress.com/2013/12/04/…
标签: python sql-server ubuntu azure pymssql