建立驅動程式應用程式
適用於: SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)
重要
SQL Server Native Client (SNAC) 未隨附:
- SQL Server 2022 (16.x) 及更新版本
- SQL Server Management Studio 19 與更新版本
不建議使用 SQL Server Native Client (SQLNCLI 或 SQLNCLI11) 和舊版 Microsoft OLE DB Provider for SQL Server (SQLOLEDB) 進行新的應用開發。
針對新專案,請使用下列其中一個驅動程式:
針對 SQL Server 資料庫引擎 (2012 到 2019 版) 的隨附元件 SQLNCLI,請參閱支援生命週期例外狀況。
ODBC 架構有四個元件,可執行下列函式。
元件 | 函式 |
---|---|
申請 | 呼叫 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 程式設計人員參考資料。