Использование файлов заголовков и библиотек SQL Server Native Client

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

Внимание

Собственный клиент SQL Server (часто сокращенный SNAC) был удален из SQL Server 2022 (16.x) и SQL Server Management Studio 19 (SSMS). Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений. Перейдите на новый драйвер Microsoft OLE DB (MSOLEDBSQL) для SQL Server или последний драйвер Microsoft ODBC для SQL Server . Сведения о SQLNCLI, которые поставляется в качестве компонента ядра СУБД SQL Server (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.

Файлы заголовков и библиотек sql Server Native Client устанавливаются с ПОМОЩЬЮ SQL Server. При разработке приложения важно скопировать и установить все требуемые файлы для работы среды разработки. Дополнительные сведения об установке и распространении собственного клиента SQL Server см. в разделе "Установка собственного клиента SQL Server".

Файлы заголовка и библиотеки sql Server Native Client устанавливаются в следующем расположении:

%PROGRAM FILES%\Microsoft SQL Server\110\SDK

Файл заголовка собственного клиента SQL Server (sqlncli.h) можно использовать для добавления функций доступа к данным собственного клиента SQL Server в пользовательские приложения. Файл заголовка собственного клиента SQL Server содержит все определения, атрибуты, свойства и интерфейсы, необходимые для использования новых функций, представленных в SQL Server 2005 (9.x).

Помимо файла заголовка собственного клиента SQL Server существует файл библиотеки sqlncli11.lib, который является библиотекой экспорта для функций программы массового копирования SQL Server (BCP) для ODBC.

Файл заголовка собственного клиента SQL Server обратно совместим с файлами заголовков sqloledb.h и odbcss.h, используемыми с компонентами MICROSOFT Data Access (MDAC), но не содержит CLSID для SQLOLEDB (поставщик OLE DB для SQL Server, включенный в MDAC) или символы для функций XML (которые не поддерживаются собственным клиентом SQL Server).

Приложения ODBC не могут ссылаться на заголовок sql Server Native Client (sqlncli.h) и odbcss.h в той же программе. Даже если вы не используете какие-либо функции, представленные в SQL Server 2005 (9.x), файл заголовка собственного клиента SQL Server будет работать вместо старого odbcss.h.

Приложения OLE DB, использующие поставщик OLE DB собственного клиента SQL Server, должны ссылаться только на sqlncli.h. Если приложение использует mdAC (SQLOLEDB) и поставщик OLE DB собственного клиента SQL Server, оно может ссылаться как на sqloledb.h, так и на sqlncli.h, но ссылка на sqloledb.h должна появиться первым.

Использование файла заголовка собственного клиента SQL Server

Чтобы использовать файл заголовка собственного клиента SQL Server, необходимо использовать инструкцию включения в код программирования C/C++. В следующих подразделах описано, как это сделать для приложений OLE DB и ODBC.

Заметка

Файлы заголовка и библиотеки собственного клиента SQL Server можно скомпилировать только с помощью Visual Studio C++ 2002 или более поздней версии.

OLE DB

Чтобы использовать файл заголовка собственного клиента SQL Server в приложении OLE DB, используя следующие строки кода программирования:

#define _SQLNCLI_OLEDB_  
include "sqlncli.h";  

Заметка

Если приложение использует оба API-интерфейса (OLE DB и ODBC), то первая строка приведенного выше кода должна быть пропущена. Кроме того, если у приложения есть инструкция include для sqloledb.h, инструкция include для sqlncli.h должна прийти после нее.

При создании подключения к источнику данных с помощью собственного клиента SQL Server используйте "SQLNCLI11" в качестве строки имени поставщика.

ODBC

Чтобы использовать файл заголовка собственного клиента SQL Server в приложении ODBC, выполните следующие строки кода программирования:

#define _SQLNCLI_ODBC_  
include "sqlncli.h";  

Заметка

Если приложение использует оба API-интерфейса (OLE DB и ODBC), то первая строка приведенного выше кода должна быть пропущена. Кроме того, если приложение содержит инструкцию #include для файла odbcss.h, ее нужно удалить.

При создании подключения к источнику данных с помощью собственного клиента SQL Server используйте "SQL Server Native Client 11.0" в качестве строки имени драйвера.

Имена и свойства компонентов в зависимости от версии

Свойство собственный клиент SQL Server

SQL Server 2005
Sql Server Native Client 10.0

SQL Server 2008
SQL Server Native Client 11.0

SQL Server 2012 (11.x)
MDAC
Имя драйвера ODBC Собственный клиент SQL Sql Server Native Client 10.0 SQL Server Native Client 11.0 SQL Server
Имя файла заголовка ODBC Sqlncli.h Sqlncli.h Sqlncli.h Odbcss.h
DLL-библиотека драйвера ODBC Sqlncli.dll Sqlncl10.dll Sqlncl11.dll sqlsrv32.dll
Библиотека ODBC для API-интерфейсов программы BCP Sqlncli.lib Sqlncli10.lib Sqlncli11.lib Odbcbcp.lib
DLL-библиотека ODBC для API-интерфейсов программы BCP Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Odbcbcp.dll
Идентификатор PROGID OLE DB SQLNCLI SQLNCLI10 SQLNCLI11 SQLOLEDB
Имя файла заголовка OLE DB Sqlncli.h Sqlncli.h Sqlncli.h Sqloledb.h
DLL-библиотека поставщика OLE DB Sqlncli.dll Sqlncli10.dll Sqlncli11.dll Sqloledb.dll

sqlncli.h поддерживает несколько версий собственного клиента SQL Server через макрос SQLNCLI_VER. По умолчанию SQLNCLI_VER по умолчанию используется последняя версия собственного клиента SQL Server. Чтобы создать приложение, использующее sqlncli10.dll вместо sqlncli11.dll, установите SQLNCLI_VER в значение 10.

Статическая компоновка и функции BCP

Если в приложении используются функции BCP, важно указывать в строке подключения драйвер из той же версии, которая поставлялась с файлом заголовка и библиотекой, использованными при компиляции приложения.

Например, при компиляции приложения с помощью собственного клиента SQL Server и связанного файла библиотеки (sqlncli11.lib) и файла заголовка (sqlncli.h) из \Program Files\Microsoft SQL Server\110\SDK обязательно укажите (используя ODBC в качестве примера) "DRIVER={SQL Server Native Client 11.0}" в строке подключения.

Дополнительные сведения см. в разделе Performing Bulk Copy Operations (Выполнение операций массового копирования).

См. также

Построение приложений с использованием SQL Server Native Client