要在 macOS 上使用 Python 存取 SQL Server 資料庫,首先需要安裝 ODBC 驅動程式,請使用 homebrew 安裝,指令如下:
brew install unixodbc
安裝完後再安裝微軟發佈的 SQL Server 的 ODBC 驅動程式,可以到 Microsoft ODBC Driver for SQL Server 官方網站複製指令。原則上安裝最新版,如果有問題就先移除改安裝前一個版本。我的電腦安裝 18 有問題,所以安裝的是 ODBC 17 的版本。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql17 mssql-tools
接下來就執行 Python 看看了。
import pyodbc
SERVER = 'localhost'
DATABASE = 'AddressBook'
USERNAME = 'sa'
PASSWORD = 'sa密碼寫這'
connectionString = f'DRIVER={{ODBC Driver 17 for SQL Server}};SERVER={SERVER};DATABASE={DATABASE};UID={USERNAME};PWD={PASSWORD}'
conn = pyodbc.connect(connectionString)
cursor = conn.cursor()
cursor.execute('SELECT * FROM UserInfo WHERE uid = ?', 'A01')
row = cursor.fetchone()
while row:
print (row.uid + ' | ' + row.cname)
row = cursor.fetchone()