系統需求、安裝和驅動程式檔案
此文章會討論連線到 SQL Server 的 ODBC 驅動程式。
SQL 的版本相容性
相容性指出驅動程式已針對驅動程式發行時的現有 SQL 版本進行相容性測試。 SQL Server 版本通常會嘗試維持與現有用戶端驅動程式的回溯相容性。 但 SQL Server 版本的新功能可能無法與舊版用戶端驅動程式搭配使用。
資料庫版本 → ↓ 驅動程式版本 |
Azure SQL Database | Azure Synapse Analytics | Azure SQL 受控執行個體 | SQL Server 2022 | SQL Server 2019 | SQL Server 2017 | SQL Server 2016 | SQL Server 2014 | SQL Server 2012 | SQL Server 2008 R2 | SQL Server 2008 | SQL Server 2005 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
18.4 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
18.3 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
18.2 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
18.1 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
18.0 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | Yes | |||
17.10 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | .是 | Yes | |||
17.9 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | Yes | ||||
17.8 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | Yes | ||||
17.7 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | Yes | ||||
17.6 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
17.5 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
17.4 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
17.3 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | ||
17.2 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
17.1 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
17.0 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
13.1 | 是 | .是 | .是 | .是 | .是 | 是 | ||||||
13 | 是 | .是 | .是 | .是 | 是 | |||||||
11 | 是 | .是 | .是 | .是 | 是 |
連接字串詳細資料
您在連接字串中指定的驅動程式名稱會是下列其中一個名稱:
ODBC Driver 11 for SQL Server
ODBC Driver 13 for SQL Server
(適用於 13 與 13.1)ODBC Driver 17 for SQL Server
ODBC Driver 18 for SQL Server
支援的作業系統
下表指出不同 Windows 作業系統版本的驅動程式版本支援:
作業系統 → ↓ 驅動程式版本 |
Windows Server 2022 | Windows Server 2019 | Windows Server 2016 | Windows Server 2012 R2 | Windows Server 2012 | Windows Server 2008 R2 | Windows 11 | Windows 10 | Windows 8.1 | Windows 7 | Windows Vista SP2 |
---|---|---|---|---|---|---|---|---|---|---|---|
18.4 | 是 | .是 | .是 | .是 | 是 | ||||||
18.3 | 是 | .是 | .是 | .是 | .是 | 是 | |||||
18.2 | 是 | .是 | .是 | .是 | .是 | 是 | |||||
18.1 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
18.0 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | Yes | |||
17.10 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | Yes | |||
17.9 | Yes | .是 | .是 | .是 | .是 | .是 | .是 | Yes | |||
17.8 | Yes | .是 | .是 | .是 | .是 | Yes | |||||
17.7 | Yes | .是 | .是 | .是 | .是 | Yes | |||||
17.6 | 是 | .是 | .是 | .是 | .是 | 是 | |||||
17.5 | 是 | .是 | .是 | .是 | .是 | 是 | |||||
17.4 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
17.3 | 是 | .是 | .是 | .是 | .是 | .是 | .是 | 是 | |||
17.2 | 是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
17.1 | 是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
17.0 | 是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
13.1 | 是 | .是 | .是 | .是 | .是 | .是 | 是 | ||||
13 | 是 | .是 | .是 | 是 | |||||||
11 | 是 | .是 | .是 | 是 |
安裝 Microsoft ODBC Driver for SQL Server
當從下載 Windows 版中的其中一個連結執行 msodbcsql.msi
時,就會安裝驅動程式。
注意
針對已安裝驅動程式 17.1.0.1 或更新版本的使用者,建議您先手動將其解除安裝,再安裝較新版本的驅動程式。
與 Native Client 並存安裝
驅動程式可以與 SQL Server Native Client 並存安裝。 驅動程式的主要版本 (11、13、17、18) 也可以彼此並存安裝。
當您叫用 msodbcsql.msi
時,預設會安裝用戶端元件。 用戶端元件是支援應用程式執行的檔案 (應用程式則是利用驅動程式所開發)。 如果要安裝 SDK 元件,請在命令列上指定 ADDLOCAL=ALL
。 以下是範例。
msiexec /i msodbcsql.msi ADDLOCAL=ALL
終端使用者授權
如果您使用 /passive
、/qn
、/qb
或 /qr
選項進行安裝,則指定 IACCEPTMSODBCSQLLICENSETERMS=YES
可接受使用者授權條款。 此選項必須以全部大寫的字母指定。 以下是範例。
msiexec /quiet /passive /qn /i msodbcsql.msi IACCEPTMSODBCSQLLICENSETERMS=YES ADDLOCAL=ALL
無訊息解除安裝
下列範例示範如何執行無訊息解除安裝。
msiexec /quiet /passive /qn /uninstall msodbcsql.msi
指出相依性
當應用程式使用驅動程式時,此應用程式應會透過 APPGUID
安裝選項來指出其取決於驅動程式。 這樣可讓驅動程式安裝程式在解除安裝前,報告相依的應用程式。 若要指定驅動程式的相依性,請在以無訊息模式安裝驅動程式時,將 APPGUID
命令列參數設定為您的產品代碼。 使用 Microsoft Installer 來封裝應用程式安裝程式時,必須建立產品代碼。 以下是範例。
msiexec /i msodbcsql.msi APPGUID={ <Your dependent application's APPGUID> }
命令列工具:sqlcmd.exe 和 bcp.exe
適用與驅動程式搭配使用的 bcp.exe
和 sqlcmd.exe
工具,可以在適用於 SQL Server 的 Microsoft 命令列公用程式 11、適用於 SQL Server 的 Microsoft 命令列公用程式 13 或適用於 SQL Server 的 Microsoft 命令列公用程式 13.1 下載。 驅動程式是安裝 sqlcmd.exe
與 bcp.exe
的先決條件。
bcp.exe
與 sqlcmd.exe
安裝在 11 版 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC
的 110\Tools
子資料夾中,與 13 與 13.1 版的 130\Tools
子資料夾中。
使用 BCP 函式的應用程式必須指定用來編譯應用程式之標頭檔與程式庫隨附相同版本的驅動程式。
例如,當您編譯具有 msodbcsql11.lib
與 msodbcsql.h
的 ODBC 應用程式時,請在連接字串中使用 DRIVER={ODBC Driver 11 for SQL Server}
。
Windows 上 Microsoft ODBC Driver for SQL Server 的元件
Windows 上的 ODBC 驅動程式包含下列元件:
元件 | 描述 |
---|---|
msodbcsql18.dll 或msodbcsql17.dll 或msodbcsql13.dll 或msodbcsql11.dll |
動態連結程式庫 (DLL) 檔案,其中包含驅動程式的所有功能。 這個檔案會安裝在 %SYSTEMROOT%\System32 。 |
msodbcdiag18.dll 或msodbcdiag17.dll 或msodbcdiag13.dll 或msodbcdiag11.dll |
包含驅動程式診斷 (追蹤) 介面的動態連結程式庫 (DLL) 檔案。 這個檔案會安裝在 %SYSTEMROOT%\System32 。 |
msodbcsqlr18.rll 或msodbcsqlr17.rll 或msodbcsqlr13.rll 或msodbcsqlr11.rll |
隨附驅動程式程式庫的資源檔。 這個檔案會安裝在 %SYSTEMROOT%\System32\1033 。 |
s13ch_msodbcsql.chm 或s11ch_msodbcsql.chm |
資料來源精靈說明檔,其中記載如何建立驅動程式的資料來源。 這個檔案會安裝在 %SYSTEMROOT%\System32\1033 注意:沒有 ODBC 驅動程式 17 及更新版本的 chm 檔案。 |
msodbcsql.h |
標頭檔,其中包含使用驅動程式所需的所有新定義。 注意: 您無法在相同的程式中參考 msodbcsql.h 和 odbcss.h 。msodbcsql.h for ODBC Driver 18 已安裝在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\180\SDK 中。msodbcsql.h for ODBC Driver 17 已安裝在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\170\SDK 中。msodbcsql.h for ODBC Driver 13 已安裝在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\130\SDK 中。msodbcsql.h for ODBC Driver 11 已安裝在 %PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\110\SDK 中。 |
msodbcsql18.lib 或msodbcsql17.lib 或msodbcsql13.lib 或msodbcsql11.lib |
呼叫 bcp 公用程式函式 (屬於驅動程式的一部分) 所需的程式庫檔案。 注意:若您在程式中參考此程式庫檔,請確定其在您的系統路徑中,且在使用應用程式之系統的系統路徑中。 msodbcsql18.lib 已安裝在%PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\180\SDK 中。msodbcsql17.lib 已安裝在%PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\170\SDK 中。msodbcsql13.lib 已安裝在%PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\130\SDK 中。msodbcsql11.lib 已安裝在%PROGRAMFILES%\Microsoft SQL Server\Client SDK\ODBC\110\SDK 中。 |