1. 程式人生 > 其它 >Python連線操作資料庫

Python連線操作資料庫

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

  1. 反覆確認伺服器名稱,賬戶名稱,密碼,資料庫名稱(注意不是表名)是否正確。

  2. 編碼錯誤

    可以下載freetds來連線資料庫檢視連線資訊。如果freetds不能連上,說明時資料庫沒有配置好(防火牆,許可權等等之類的,反正不是pymssql的問題)

    如果能連線上,看看預設的編碼,然後嘗試在connect中新增charset=“CP396”引數,(CP396是本機的預設編碼)

    具體freetds操作:FreeTDS — pymssql 2.1.4 documentation