[英]Error while trying to connect to sql server with python using pyodbc
我正在嘗試從另一台計算機連接到 sql server。 我正在使用以下代碼。 odbc 驅動程序已安裝,pyodbc 也已安裝。
import pyodbc
server = 'SERVER'
database = 'DBNAME'
username = 'SA'
password = 'SQLPWD'
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
但是我收到以下錯誤。
Traceback (most recent call last):
File "test.py", line 7, in <module>
conn = pyodbc.connect('DRIVER={ODBC Driver 17 for SQL
Server};SERVER='+server+';DATABASE='+database+';UID='+username+';PWD='+ password)
pyodbc.InterfaceError: ('28000', "[28000] [Microsoft][ODBC Driver 17 for SQL Server][SQL
Server]Login failed for user 'SA'. (18456) (SQLDriverConnect); [28000] [Microsoft][ODBC
Driver 17 for SQL Server][SQL Server]Login failed for user 'SA'. (18456)")
我不確定我哪里出錯了,舊的問題也沒有多大幫助。 我是 Python 的新手。
問題可能與以下有關:
您可以使用SSMS來管理您的服務器配置。
重要提示:正如@Larnu 所建議的,使用sa
用戶進行遠程訪問不是一個好主意,創建對數據庫和表具有有限訪問權限的新用戶是管理服務器並保護它的更好方法。 看這里以更好地理解。
要啟用它,您必須執行以下操作:
使用 SSMS 連接到您的服務器(使用Windows 身份驗證)
打開Security --> Logins Section 並雙擊用戶sa
打開頁面General輸入密碼和確認密碼,進入頁面狀態並將登錄設置為啟用。
在對象資源管理器中右鍵單擊服務器實例並打開屬性
打開頁面連接並選中允許遠程連接到此服務器
打開開始菜單並搜索SQL Server 配置管理器
在SQL Server 網絡配置下選擇協議
雙擊TCP/IP並滾動到底部,將TCP 端口設置為1433
在SQL Server 配置管理器的左窗格中,單擊SQL Server Services ,右鍵單擊SQL Server<instance_name> ,然后單擊重新啟動。
現在問題應該解決了,如果沒有,請查看參考的為數據庫引擎訪問配置Windows防火牆部分中的如何向Windows防火牆添加規則
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.