建立驅動程式應用程式

適用於: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),請參閱此 支援生命週期例外狀況

ODBC 架構有四個元件,可執行下列函式。

元件 函式
Application 呼叫 ODBC 函式來與 ODBC 資料來源通訊、提交 SQL 語句,以及處理結果集。
驅動程式管理員 管理應用程式與應用程式所使用的所有 ODBC 驅動程式之間的通訊。
驅動程式 處理應用程式的所有 ODBC 函數呼叫、連接到資料來源、將 SQL 語句從應用程式傳遞至資料來源,並將結果傳回應用程式。 如有必要,驅動程式會將 ODBC SQL 從應用程式轉譯為數據源所使用的原生 SQL。
資料來源 包含驅動程式存取 DBMS 中特定資料實例所需的所有資訊。

使用 SQL Server Native Client ODBC 驅動程式與 SQL Server 實例通訊的應用程式會執行下列工作:

  • 與資料來源連線

  • 將 SQL 語句傳送至資料來源

  • 處理資料來源中語句的結果

  • 處理錯誤和訊息

  • 終止與資料來源的連接

針對 SQL Server Native Client ODBC 驅動程式撰寫的較複雜應用程式,也可能執行下列工作:

  • 使用資料指標來控制結果集中的位置

  • 要求交易控制的認可或回復作業

  • 執行涉及兩部或多部伺服器的分散式交易

  • 在遠端伺服器上執行預存程式

  • 呼叫目錄函式以查詢結果集的屬性

  • 執行大量複製作業

  • 管理大型資料 ( Varchar(max) Nvarchar(max) Varbinary(max) 資料行) 作業

  • 設定資料庫鏡像時,使用重新連線邏輯來加速容錯移轉

  • 記錄效能資料和長時間執行的查詢

若要進行 ODBC 函式呼叫,C 或 C++ 應用程式必須包含 sql.h、sqlext.h 和 sqltypes.h 標頭檔。 若要呼叫 ODBC 安裝程式 API 函式,應用程式必須包含 odbcinst.h 標頭檔。 Unicode ODBC 應用程式必須包含 sqlucode.h 標頭檔。 ODBC 應用程式必須與 odbc32.lib 檔案連結。 呼叫 ODBC 安裝程式 API 函式的 ODBC 應用程式必須與 odbccp32.lib 檔案連結。 這些檔案包含在 Windows 平臺 SDK 中。

許多 ODBC 驅動程式,包括 SQL Server Native Client ODBC 驅動程式,都提供驅動程式特定的 ODBC 延伸模組。 若要利用 SQL Server Native Client ODBC 驅動程式特定的擴充功能,應用程式應該包含 sqlncli.h 標頭檔。 此標頭檔包含:

  • SQL Server Native Client ODBC 驅動程式特定的連接屬性。

  • SQL Server Native Client ODBC 驅動程式特定的語句屬性。

  • SQL Server Native Client ODBC 驅動程式特定的資料行屬性。

  • SQL Server 特定的資料類型。

  • SQL Server 特定的使用者定義資料類型。

  • SQL Server Native Client ODBC 驅動程式特定的 SQLGetInfo 類型。

  • SQL Server Native Client ODBC 驅動程式診斷欄位。

  • SQL Server 特定的診斷動態函式程式碼。

  • SQL Server 特定原生 C 資料類型的 C/C++ 類型定義(當系結至 C 資料類型的資料行SQL_C_BINARY時傳回)。

  • SQLPERF 資料結構的型別定義。

  • 大量複製宏和原型,可透過 ODBC 連線支援大量複製 API 使用方式。

  • 呼叫分散式查詢中繼資料 API 函式,以取得連結伺服器及其目錄的清單。

任何使用 SQL Server Native Client ODBC 驅動程式大量複製功能的 C 或 C++ ODBC 應用程式都必須與 sqlncli11.lib 檔案連結。 呼叫分散式查詢中繼資料 API 函式的應用程式也必須與 sqlncli11.lib 連結。 sqlncli.h 和 sqlncli11.lib 檔案會散發為 SQL Server 開發人員工具的一部分。 SQL Server Include 和 Lib 目錄應該位於編譯器的 INCLUDE 和 LIB 路徑中,如下所示:

LIB=c:\Program Files\Microsoft Data Access SDK 2.8\Libs\x86\lib;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Lib;  
INCLUDE=c:\Program Files\Microsoft Data Access SDK 2.8\inc;C:\Program Files\Microsoft SQL Server\100\Tools\SDK\Include;  

在建置應用程式的過程中,早期做出的設計決策是應用程式是否需要同時發出多個 ODBC 呼叫。 有兩種方法可支援多個並行 ODBC 呼叫,本節的其餘主題會說明這兩種方法。 如需詳細資訊,請參閱 ODBC 程式設計人員參考資料

本節內容

另請參閱

SQL Server Native Client (ODBC)