在 macOS 上使用 Python 存取 SQL Server

要在 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()

發表迴響