我确信此问题已被提出过无数次,但也许有人还可以帮助我。
我使用pymssql v2.1.3与Python 2.7.12和我昨天多次使用的代码将数据写入我的Azure SQL DB已经某种程度上决定不再工作 - 没有明显的原因。
防火墙已设置,我的IP在白名单中,我可以使用SQL Server Management Studio连接到数据库并查询数据,但在尝试使用pymssql进行连接时仍然会出现此错误。
该应用程序是Flask网络应用程序,以下是我连接到数据库的方式:
conn = pymssql.connect(server='myserver.database.windows.net', user='myusername@mydatabase', password='mypassword', database='mydatabase')
答案 0 :(得分:3)
不是我提出的问题的解决方案,但使用pypyodbc而不是pymssql。
conn = pypyodbc.connect(driver='{SQL Server}',server='tcp:myserver.database.windows.net,1433',database='mydatabase', uid='myusername', pwd='mypassword')
答案 1 :(得分:3)
这可能是由于pymssql版本。你升级了pymssql吗?如果是,请尝试恢复为2.1.1
sudo pip install pymssql==2.1.1
答案 2 :(得分:1)
freetds-dev在Linux上可能丢失:
apt-get update && apt-get install freetds-dev
答案 3 :(得分:0)
令人难以置信的错误仍然存在... ENV:Windows 10上的WSL2
修复->切换至pyodbc:。
import pyodbc
server = 'tcp:myserver.database.windows.net'
database = 'mydb'
username = 'myusername'
password = 'mypassword'
cnxn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()