在Ubuntu上通过pymssql连接到Azure时出错

时间:2016-10-27 07:21:15

标签: python-2.7 ubuntu azure-sql-database freetds pymssql

我编写了一个名为test.py的Python脚本,其中包含以下内容:

import pymssql

conn = pymssql.connect(host="hostname", user="username@hostname", password="pass", database="dbname")
cursor = conn.cursor()
cursor.execute('SELECT * FROM SalesLT.Customer WHERE CustomerID=%d', 1)
row = cursor.fetchone()
while row:
    print("ID=%d, Name=%s" % (row[0], row[3]))
    row = cursor.fetchone()

conn.close()

我使用以下命令安装了FreeTDS:

export PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1
pip install pymssql

安装似乎有效,但我在运行程序时遇到错误:

Traceback (most recent call last):
File "test.py", line 8, in <module>

 conn = pymssql.connect(host="hostname",user="username@hostname",password="pass",database="dbname")

File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)

pymssql.OperationalError:(20002,&#39; DB-Lib错误消息20002,严重性9:\ nAdaptive Server连接失败\ n&#39;)

我不知道什么是错的,我们将不胜感激。如果我需要对freetds.conf进行更改,请与我们联系。

1 个答案:

答案 0 :(得分:1)

  

我正在尝试连接到Azure SQL实例

Azure需要加密连接,并且从默认.whl文件安装或使用PYMSSQL_BUILD_WITH_BUNDLED_FREETDS=1构建的pymssql 支持加密连接。

有关在Ubuntu下使用带有加密连接的pymssql的说明,请参阅

How to configure pymssql with SSL support on Ubuntu 16.04 LTS?