使用 SQL Server Native Client 标头和库文件

SQL Server Native Client 标头和库文件随 SQL Server 一起安装。 开发应用程序时,请务必将开发所需的所有文件复制并安装到开发环境。 有关安装和重新分发 SQL Server Native Client 的详细信息,请参阅 安装 SQL Server Native Client

SQL Server Native Client 标头和库文件安装在以下位置:

%PROGRAM 文件%\Microsoft SQL Server\110\SDK

SQL Server Native Client 头文件 (sqlncli.h) 可用于将 SQL Server Native Client 数据访问功能添加到自定义应用程序。 SQL Server Native Client 头文件包含利用 SQL Server 2005 中引入的新功能所需的所有定义、属性、属性和接口。

除了 SQL Server Native Client 头文件外,还有一个 sqlncli11.lib 库文件,该文件是 ODBC 的 SQL Server 大容量复制程序(BCP)功能的导出库。

SQL Server Native Client 头文件与用于Microsoft数据访问组件(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 头文件,必须在 include C/C++编程代码中使用语句。 以下部分介绍如何对 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,则应省略上面所示的第一行代码。 此外,如果应用程序具有 include sqloledb.h 的语句,则 include sqlncli.h 的语句必须位于该语句之后。

通过 SQL Server Native Client 创建与数据源的连接时,请使用“SQLNCLI11”作为提供程序名称字符串。

ODBC

若要在 ODBC 应用程序中使用 SQL Server Native Client 头文件,请使用以下编程代码行:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

注释

如果应用程序同时使用 OLE DB 和 ODBC API,则应省略上面所示的第一行代码。 此外,如果应用程序具有 #include odbcss.h 的语句,则应将其删除。

通过 SQL Server Native Client 创建与数据源的连接时,请使用“SQL Server Native Client 11.0”作为驱动程序名称字符串。

按版本排序的组件名称和属性

资产 SQL Server Native Client

SQL Server 2005
SQL Server Native Client 10.0

SQL Server 2008
SQL Server Native Client 11.0

SQL Server 2014
MDAC
ODBC 驱动程序名称 SQL Native Client SQL Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
ODBC 头文件名 Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
ODBC 驱动程序 DLL Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
BCP API 的 ODBC 库文件 Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
BCP API 的 ODBC DLL Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
OLE DB PROGID SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
OLE DB 头文件名 Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
OLE DB 访问接口 DLL Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h 通过SQLNCLI_VER宏支持多个版本的 SQL Server Native Client。 默认情况下,SQLNCLI_VER默认为最新版本的 SQL Server Native Client。 若要生成使用 sqlncli10.dll 而不是 sqlncli11.dll的应用程序,请将SQLNCLI_VER设置为 10。

静态链接和 BCP 函数

当应用程序使用 BCP 函数时,应用程序必须在连接字符串中指定驱动程序与用于编译应用程序的头文件和库一起提供的同一版本的驱动程序。

例如,如果使用 SQL Server Native Client 编译应用程序,以及 \Program Files\Microsoft SQL Server\110\SDK 中的关联库文件(sqlncli11.lib)和头文件(sqlncli.h),请确保在连接字符串中指定(使用 ODBC 作为示例)“DRIVER={SQL Server Native Client 11.0}”。

有关详细信息,请参阅 执行大容量复制作

另请参阅

使用 SQL Server Native Client 生成应用程序