本文介紹了為什么在使用pyodbc從MSSQL獲取數(shù)據(jù)時(shí)出現(xiàn)此錯(cuò)誤?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我正在使用pyodbc從MSSQL檢索數(shù)據(jù),以下是我正在使用的代碼:
import pyodbc
server = 'xxxxxxxxDEV'
database = 'SandBox'
username = 'zzzzzzz'
password = 'xxxxxxx'
driver = '{SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=4853;SERVER='+server+';PORT=4853;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("select * from fieldscreenscheme ")
row = cursor.fetchone()
if row:
print row
這是我收到的錯(cuò)誤消息:
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=43853;SERVER='+server+';PORT=43853;DATABASE='+database+';UID='+username+';PWD='+ password)
pyodbc.Error: ('08001', '[08001] [Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied. (17) (SQLDriverConnect); [01000] [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). (53); [01S00] [Microsoft][ODBC SQL Server Driver]Invalid connection string attribute (0)')
我安裝了ODBC驅(qū)動(dòng)程序。有什么建議可以解決這個(gè)錯(cuò)誤嗎?
我看著這兩個(gè)人,但沒(méi)有幫我解決這個(gè)問(wèn)題。
Python – Can't connect to MS SQL
pyodbc + MySQL + Windows: Data source name not found and no default driver specified
Microsoft文檔:https://github.com/Microsoft/azure-docs/blob/master/articles/sql-database/sql-database-develop-python-simple.md
推薦答案
兩個(gè)問(wèn)題:
-
通常,一個(gè)人提供
INSTANCENAME
或端口號(hào),而不是同時(shí)提供兩者。SQL Server的ODBC連接字符串不使用
PORT=
,它們將端口號(hào)放在SERVER=
參數(shù)中,例如SERVER=xxxxxxxx,43853
。(請(qǐng)注意,實(shí)例名稱被省略,并且分隔符是逗號(hào),而不是冒號(hào)。)
這篇關(guān)于為什么在使用pyodbc從MSSQL獲取數(shù)據(jù)時(shí)出現(xiàn)此錯(cuò)誤?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,