使用 SQL Server Native Client 標頭檔與程式庫檔案
SQL Server Native Client 標頭檔與程式庫檔案會與 SQL Server 一起安裝。開發應用程式時,將開發所需的所有檔案複製並安裝到您的開發環境相當重要。如需有關安裝及轉散發 SQL Server Native Client 的詳細資訊,請參閱<安裝 SQL Server Native Client>。
SQL Server Native Client 標頭檔和程式庫檔案會安裝到下列位置:
%PROGRAM FILES%\Microsoft SQL Server\100\SDK
SQL Server Native Client 標頭檔 (sqlncli.h) 可用於將 SQL Server Native Client 資料存取功能加入到您的自訂應用程式中。SQL Server Native Client 標頭檔包含使用 SQL Server 2005 中所導入之新功能所需的所有定義、屬性 (Attribute)、屬性 (Property) 與介面。
除了 SQL Server Native Client 標頭檔之外,還包含一個 sqlncli10.lib 程式庫檔,這是適用於 ODBC 之 SQL Server 大量複製程式 (BCP) 功能的匯出程式庫。
SQL Server Native Client 標頭檔與搭配 Microsoft Data Access Components (MDAC) 所使用的 sqloledb.h 和 odbcss.h 標頭檔具回溯相容性,但是不包含適用於 SQLOLEDB 的 CLSID (適用於 MDAC 隨附之 SQL Server 的 OLE DB 提供者) 或適用於 XML 功能的符號 (不受 SQL Server Native Client 所支援)。
ODBC 應用程式在相同的程式中,無法參考 SQL Server Native Client 標頭 (sqlncli.h) 和 odbcss.h。即使您不使用 SQL Server 2005 中所導入的任何功能,SQL Server Native Client 標頭檔也會就地使用舊版的 odbcss.h。
使用 SQL Server Native Client OLE DB 提供者的 OLE DB 應用程式僅需要參考 sqlncli.h。如果應用程式同時使用 MDAC (SQLOLEDB) 和 SQL Server Native Client OLE DB 提供者,則可以同時參考 sqloledb.h 和 sqlncli.h,但是必須先參考 sqloledb.h。
使用 SQL Server Native Client 標頭檔
若要使用 SQL Server Native Client 標頭檔,您必須在 C/C++ 程式碼中使用 include 陳述式。下列章節描述如何同時針對 OLE DB 和 ODBC 應用程式執行此動作。
[!附註]
SQL Server Native Client 標頭檔和程式庫檔案僅能使用 Visual Studio C++ 2002 或更新版本編譯。
OLE DB
透過下列幾行程式碼,在 OLE DB 應用程式中使用 SQL Server Native Client 標頭檔:
#define _SQLNCLI_OLEDB_
include "sqlncli.h";
[!附註]
如果應用程式同時使用 OLE DB 和 ODBC API,以上顯示的第一行程式碼應該省略。此外,如果應用程式有適用於 sqloledb.h 的 include 陳述式,適用於 sqlncli.h 的 include 陳述式必須緊跟在後。
透過 SQL Server Native Client 建立資料來源的連接時,請使用 "SQLNCLI10" 當做提供者名稱字串。
ODBC
透過下列幾行程式碼,在 ODBC 應用程式中使用 SQL Server Native Client 標頭檔:
#define _SQLNCLI_ODBC_
include "sqlncli.h";
[!附註]
如果應用程式同時使用 OLE DB 和 ODBC API,以上顯示的第一行程式碼應該省略。此外,如果應用程式有適用於 odbcss.h 的 #include 陳述式,則必須移除該陳述式。
透過 SQL Server Native Client 建立資料來源的連接時,請使用 "SQL Server Native Client 10.0" 當做驅動程式名稱字串。
依版本排列的元件名稱和屬性
屬性 |
SQL Server Native Client SQL Server 2005 |
SQL Server Native Client 10.5 SQL Server 2008 R2 |
MDAC |
---|---|---|---|
ODBC 驅動程式名稱 |
SQL Server Native Client |
SQL Server Native Client 10.0 |
SQL Server |
ODBC 標頭檔名稱 |
Sqlncli.h |
Sqlncli.h |
Odbcss.h |
ODBC 驅動程式 DLL |
Sqlncli.dll |
Sqlncl10.dll |
sqlsrv32.dll |
適用於 BCP API 的 ODBC 程式庫檔 |
Sqlncli.lib |
Sqlncli10.lib |
Odbcbcp.lib |
適用於 BCP API 的 ODBC DLL |
Sqlncli.dll |
Sqlncli10.dll |
Odbcbcp.dll |
OLE DB PROGID |
SQLNCLI |
SQLNCLI10 |
SQLOLEDB |
OLE DB 標頭檔名稱 |
Sqlncli.h |
Sqlncli.h |
Sqloledb.h |
OLE DB 提供者 DLL |
Sqlncli.dll |
Sqlncli10.dll |
Sqloledb.dll |
sqlncli.h 可透過 SQLNCLI_VER 巨集來支援多個版本的 SQL Server Native Client。根據預設,SQLNCLI_VER 預設為最新版本的 SQL Server Native Client。若要建立使用 sqlncli.dll 而非 sqlncli10.dll 的應用程式,請將 SQLNCLI_VER 設定為 90。
靜態連結與 BCP 函數
當應用程式使用 BCP 函數時,應用程式最好在連接字串中指定用來編譯應用程式之標頭檔與程式庫隨附相同版本的驅動程式。
例如,如果您使用 SQL Server 2008 Native Client 以及 \Program Files\Microsoft SQL Server\100\SDK 中的相關程式庫檔案 (sqlncli10.lib) 和標頭檔 (sqlncli.h) 編譯應用程式,請務必在連接字串中指定 (使用 ODBC 當做範例) “DRIVER={SQL Server Native Client 10.0}”。
如需詳細資訊,請參閱<執行執行大量複製作業>。