安裝 Microsoft ODBC Driver for SQL Server (macOS)

本文說明如何在 macOS 上安裝 Microsoft ODBC Driver for SQL Server, 以及如何使用適用於 SQL Server (bcpsqlcmd) 與 unixODBC 開發標頭的選擇性命令列工具。

本文提供從 Bash Shell 安裝 ODBC 驅動程式的命令。 如果想要直接下載套件,請參閱下載 ODBC Driver for SQL Server

注意

只有在到版本 17.7 的 x64 架構上,才在 macOS 上支援 Microsoft ODBC Driver for SQL Server。 從版本 17.8 開始,已新增 Apple ARM64 支援。 系統將偵測架構,且 Homebrew 公式會自動安裝正確的封裝。 如果您的命令提示字元是在採用 ARM64 的 x64 模擬模式中執行,則會安裝 x64 封裝。 如果您在命令提示字元未於模擬模式中執行,則會安裝 ARM64 封裝。 此外,Homebrew 預設目錄會隨著 ARM64 架構變更為 /opt/homebrew。 [驅動程式檔案] 區段中的路徑會使用預設為 /usr/local 的 x64 Homebrew 路徑,因此您的檔案路徑會隨之改變。

Microsoft ODBC 18

若要在 macOS 上安裝 Microsoft ODBC Driver 18 for SQL Server,請執行下列命令:

/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 msodbcsql18 mssql-tools18

舊版

下列各節提供在 macOS 上安裝舊版 Microsoft ODBC 驅動程式的指示。

Microsoft ODBC 17

若要在 macOS 上安裝 Microsoft ODBC Driver 17 for SQL Server,請執行下列命令:

/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

重要

如果您已安裝短暫提供的第 17 版 msodbcsql 套件,您應該先移除它,再安裝 msodbcsql17 套件。 如此可避免衝突。 msodbcsql17 套件可以和 msodbcsql 第 13 版套件並存安裝。

ODBC 13.1

使用下列命令,在 OS X 10.11 (El Capitan) 與 macOS 10.12 (Sierra) 上安裝 Microsoft ODBC driver 13.1 for SQL Server:

/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
brew install msodbcsql@13.1.9.2 mssql-tools@14.0.6.0

驅動程式檔案

macOS 上的 ODBC 驅動程式包含下列元件:

元件 Description
libmsodbcsql.18.dylib or libmsodbcsql.17.dylib or libmsodbcsql.13.dylib 動態連結程式庫 (dylib) 檔案,其中包含驅動程式的所有功能。 這個檔案會安裝在 /usr/local/lib/
msodbcsqlr18.rllmsodbcsqlr17.rllmsodbcsqlr13.rll 隨附驅動程式程式庫的資源檔。 針對 Driver 18,此檔案會安裝在 [driver .dylib directory]../share/msodbcsql18/resources/en_US/,針對 Driver 17 在 [driver .dylib directory]../share/msodbcsql17/resources/en_US/,以及針對 Driver 13 則在 [driver .dylib directory]../share/msodbcsql/resources/en_US/
msodbcsql.h 標頭檔,其中包含使用驅動程式所需的所有新定義。

注意:您無法在相同的程式中參考 msodbcsql.h 和 odbcss.h。

針對 Driver 18,msodbcsql.h 會安裝在 /usr/local/include/msodbcsql18/,針對 Driver 17 在 /usr/local/include/msodbcsql17/,以及針對 Driver 13 則在 /usr/local/include/msodbcsql/
LICENSE.txt 文字檔案,其中包含授權條款。 針對 Driver 18,此檔案會放置在 /usr/local/share/doc/msodbcsql18/,針對 Driver 17 在 /usr/local/share/doc/msodbcsql17/,以及針對 Driver 13 則在 /usr/local/share/doc/msodbcsql/
RELEASE_NOTES 文字檔案,其中包含版本資訊。 針對 Driver 18,此檔案會放置在 /usr/local/share/doc/msodbcsql18/,針對 Driver 17 在 /usr/local/share/doc/msodbcsql17/,以及針對 Driver 13 則在 /usr/local/share/doc/msodbcsql/

載入資源檔

驅動程式需要載入資源檔,才能運作。 這個檔案稱為 msodbcsqlr18.rllmsodbcsqlr17.rllmsodbcsqlr13.rll,視驅動程式版本而定。 .rll 檔案的位置是相對於驅動程式本身 (sodylib) 的位置,如元件表格中所述。 到版本 17.1 為止,驅動程式也會嘗試從預設目錄載入 .rll,如果從相對路徑載入失敗的話。 macOS 上的預設資源檔路徑為 /usr/local/share/msodbcsql18/resources/en_US/

疑難排解

某些使用者在安裝 ODBC 驅動程式後嘗試連線時會遇到問題,並收到類似以下的錯誤:"[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 18 for SQL Server' : file not found (0) (SQLDriverConnect)"。 這可能是因為 unixODBC 未正確設定且找不到已註冊的驅動程式。 在這些情況下,建立符號連結便可以解決該問題。

sudo ln -s /usr/local/etc/odbcinst.ini /etc/odbcinst.ini
sudo ln -s /usr/local/etc/odbc.ini /etc/odbc.ini

針對無法使用 ODBC 驅動程式與 SQL Server 建立連線的其他案例,請參閱已知問題一文中的針對連線問題進行疑難排解

如果 brew 找不到公式,請確定您未略過安裝步驟:brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release

後續步驟

在安裝驅動程式後,即可嘗試使用 C++ ODBC 範例應用程式。 如需開發 ODBC 應用程式的詳細資訊,請參閱開發應用程式

如需詳細資訊,請參閱 ODBC 驅動程式的版本資訊系統需求