使用 SQL Server Native Client 的時機

適用於:SQL ServerAzure SQL DatabaseAzure SQL 受控執行個體Azure Synapse AnalyticsAnalytics Platform System (PDW)

重要

SQL Server Native Client (通常縮寫為 SNAC) 已從 SQL Server 2022 (16.x) 和 SQL Server Management Studio 19 (SSMS) 中移除。 不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 開發新的應用程式。 往後請改用新的 Microsoft OLE DB Driver (MSOLEDBSQL) for SQL Server 或最新的 Microsoft ODBC Driver for SQL Server。 如需 SQL Server 資料庫引擎元件隨附的 SQLNCLI(版本 2012 到 2019),請參閱此 支援生命週期例外狀況

SQL Server Native Client 是一種技術,可用來存取 SQL Server 資料庫中的資料。 如需不同資料存取技術的討論內容,請參閱 Data Access Technologies Road Map (資料存取技術藍圖)

在決定是否使用 SQL Server Native Client 作為應用程式的資料存取技術時,您應該考慮幾個因素。

對於新的應用程式而言,如果您正在使用 Microsoft Visual C# 或 Visual Basic 等受控程式語言,且需要存取 SQL Server 中的新功能,則應該使用 .NET Framework Data Provider for SQL Server (屬於 .NET Framework 的一部分)。

如果您要開發以 COM 為基礎的應用程式,而且需要存取 SQL Server 中引進的新功能,您應該使用 SQL Server Native Client。 如果您不需要存取 SQL Server 的新功能,則可以繼續使用 Windows Data Access Components (WDAC)。

對於現有的 OLE DB 和 ODBC 應用程式,主要問題是您是否需要存取 SQL Server 的新功能。 如果您具有不需要 SQL Server 新功能的完整應用程式,則可以繼續使用 WDAC。 但是,如果您需要存取這些新功能,例如 xml 資料類型 ,您應該使用 SQL Server Native Client。

SQL Server Native Client 和 MDAC 都支援使用資料列版本設定來讀取認可交易隔離,但只有 SQL Server Native Client 支援快照集交易隔離。 (在程式設計的詞彙中,含有資料列版本設定的讀取認可交易隔離與讀取認可的交易相同)。

如需 SQL Server Native Client 與 MDAC 之間差異的詳細資訊,請參閱 從 MDAC 將應用程式更新至 SQL Server Native Client。

另請參閱

SQL Server Native Client 程式設計
ODBC 操作說明主題
OLE DB 的使用說明主題