2017-05-05 96 views
2

我試圖連接到使用Python3.4的Python - Pyodbc連接錯誤

這是對我來說

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=DESKTOP-GDM2HQ17\SQLEXPRESS;DATABASE=pyconnect;Trusted_Connection=yes') 

工作的代碼,我登錄到我Management Studio中的SQL Server數據庫 - 數據庫使用Windows連接。

下面是代碼,這不是爲我工作:

cnxn = pyodbc.connect('DRIVER={ODBC Driver 13 for SQL Server};SERVER=DESKTOP-GDM2HQ17\SQLEXPRESS;DATABASE=pyconnect;UID=DESKTOP-GDM2HQ17\sid;PWD=123') 

請分享你在哪裏,我錯了的想法。

+0

什麼是錯誤信息? –

+0

登錄用戶失敗。 – Sid29

+0

你可以嘗試其他用戶,看來你使用的是SID。 –

回答

4

有兩種SQL Server Authentication modes

1,連接通過Windows身份驗證:

當用戶連接通過Windows用戶帳戶,SQL Server中使用的Windows主體標記在操作驗證帳戶名和密碼系統。

2,連接通過SQL Server身份驗證:

當使用SQL Server身份驗證,在SQL Server中創建登錄未基於Windows用戶帳戶。用戶名和密碼都是使用SQL Server創建的,並存儲在SQL Server中。

您的第一個代碼正在通過Windows身份驗證進行連接。

您的第二個代碼不能正常工作,因爲它試圖查找存儲在SQL Server中的憑據(登錄名和密碼),但是憑據不是在SQL Server中創建的。

此外,你可以參考官方文檔知道如何Change Server Authentication Mode。 希望它能幫助你。

+0

謝謝,先生!正是我想知道的。 – Sid29

+0

@ Sid29很酷,歡呼! –