3 回答

TA貢獻1802條經驗 獲得超5個贊
在客戶端和服務器之間的數(shù)據(jù)源連接中,有兩種常規(guī)類型:使用DRIVER的ODBC和使用PROVIDER的OLEDB。在編程世界中,關于連接數(shù)據(jù)源該走哪條路線一直是一個經常性的辯論。
您正在使用提供程序,SQLOLEDB但將其指定為驅動程序。據(jù)我所知,pyodbc和pypyodbc模塊都不支持Window OLEDB連接。但是,adodbapi會使用Microsoft ADO作為基礎組件。
以下是連接參數(shù)的兩種方法。另外,我將您的變量設置為字符串格式,因為您的串聯(lián)沒有正確地中斷字符串中的引號。您會注意到我將花括號加倍,因為它在連接字符串中是必需的,并且string.format()也使用它。
# PROVIDER
import adodbapi
conn = adodbapi.connect("PROVIDER=SQLOLEDB;Data Source={0};Database={1}; \
trusted_connection=yes;UID={2};PWD={3};".format(ServerName,MSQLDatabase,username,password))
cursor = conn.cursor()
# DRIVER
import pyodbc
conn = pyodbc.connect("DRIVER={{SQL Server}};SERVER={0}; database={1}; \
trusted_connection=yes;UID={2};PWD={3}".format(ServerName,MSQLDatabase,username,password))
cursor = conn.cursor()
添加回答
舉報