今天在使用python3.7中的pymssql 鏈接sqlserver的時候遇到的問題:python
pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (SZS\\SQLEXPRESS)\n') mysql
如今已經解決,特意來進行記錄。sql
1.在使用的python鏈接sql server的時候,先進行如下配置:
sql server配置管理器--->SQL Server 網絡配置---->選擇當前使用的實例------>開啓TCP/IP---->找到當前的動態端口號(當前是51091),以下圖:數據庫
2.代碼以下:
import pymssql conn = pymssql.connect(host='localhost',server='SZS\SQLEXPRESS', port='51091', user='sa', password='123', database='mysql') cur = conn.cursor() sqlstr = "select * from book" cur.execute(sqlstr) data = cur.fetchall() cur.close() conn.close() print(data)
3.執行上方代碼結果以下,沒有報錯
4.注意點
conn = pymssql.connect(host='localhost',server='SZS\SQLEXPRESS', port='51091', user='sa', password='123', database='mysql') # 或者
conn = pymssql.connect(host='szs',server='SZS\SQLEXPRESS', port='51091', user='sa', password='123', database='mysql')
1.在寫上面的鏈接字符串的時候,須要host和server分開,host表明當前的主機名,如本身的pc名或者直接寫localhost;網絡
2.port爲第一張圖中的51091,若是不寫,默認爲1433,若是當前的數據庫實例不是使用1433的端口,就會報錯;sqlserver
參考:http://www.javashuo.com/article/p-mwprhghu-v.html