Python連線操作資料庫
阿新 • • 發佈:2021-11-19
Python連線資料庫需要匯入(SqlServer):
import pymssql #sqlserver import pymysql #mysql #或者其他的 #以下按sqlserver寫 try: #連線資料庫 connect = pymssql.connect(DBServer, DBUser, DBPwd, DBTable) #伺服器名,賬戶,密碼,資料庫名 #建立遊標 cursor = connect.cursor() #python裡的sql語句通過cursor執行 cursor.execute(sql) #執行sql語句 connect.commit() #提交sql cursor.close() #關閉遊標 connect.close() #斷開連線 except Exception as r: print('DBError:%s' %r) #有返回值的情況 row = cursor.fetchone() #讀取查詢結果, while row: print(row) #輸出結果 row = cursor.fetchone()
連線資料庫時報錯
DB-Lib error message 20018, severity 14:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (192.168.2.205)\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed
-
反覆確認伺服器名稱,賬戶名稱,密碼,資料庫名稱(注意不是表名)是否正確。
-
編碼錯誤
可以下載freetds來連線資料庫檢視連線資訊。如果freetds不能連上,說明時資料庫沒有配置好(防火牆,許可權等等之類的,反正不是pymssql的問題)
如果能連線上,看看預設的編碼,然後嘗試在connect中新增charset=“CP396”引數,(CP396是本機的預設編碼)
具體freetds操作:FreeTDS — pymssql 2.1.4 documentation