SQL Server Native Client
Применимо: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure azure Synapse Analytics Analytics Platform System (PDW)
Собственный клиент SQL Server, также известный как SNAC или SQLNCLI, относится к драйверам ODBC и OLE DB для SQL Server до SQL Server 2022 (16.x).
Внимание
SQL Server Native Client (SNAC) не поставляется с:
- SQL Server 2022 (16.x) и более поздних версий
- SQL Server Management Studio 19 и более поздних версий
Собственный клиент SQL Server (SQLNCLI или SQLNCLI11) и устаревший поставщик Microsoft OLE DB для SQL Server (SQLOLEDB) не рекомендуется для разработки новых приложений.
Для новых проектов используйте один из следующих драйверов:
Сведения о SQLNCLI, которые поставляется в качестве компонента SQL Server ядро СУБД (версии 2012–2019), см. в этом исключении жизненного цикла поддержки.
Примечание.
Дополнительные сведения и скачивание драйверов SNAC или ODBC см. в статье о жизненном цикле SNAC, описанной в записи блога. Дополнительные сведения о драйвере ODBC для SQL Server см. в статье Microsoft ODBC Driver for SQL Server.
Сведения о функциях собственного клиента SQL Server, выпущенных с sql Server 2012 (11.x), последней доступной версией собственного клиента SQL Server:
- Поддержка SQL Server Native Client для LocalDB
- Обнаружение метаданных
- Поддержка UTF-16 в SQL Server Native Client 11.0
- Поддержка высокого уровня доступности и аварийного восстановления собственного клиента SQL Server
- Доступ к диагностическим сведениям в журнале расширенных событий
ODBC в собственном клиенте SQL Server поддерживает три функции, добавленные в стандартный ODBC в пакете SDK для Windows 7:
Асинхронное выполнение операций, связанных с соединением. Дополнительные сведения см. в разделе Асинхронное выполнение.
Расширяемость типа данных C. Дополнительные сведения о типах данных см. в разделе Типы данных C в ODBC.
Для поддержки этой функции в собственном клиенте
SQLGetDescField
SQL Server можно вернуть SQL_C_SS_TIME2 (для типов времени ) или SQL_C_SS_TIMESTAMPOFFSET (для datetimeoffset) вместо SQL_C_BINARY, если приложение использует ODBC 3.8. Дополнительные сведения см. в разделе "Поддержка типов данных" для улучшения даты и времени ODBC.Многократный вызов метода
SQLGetData
с небольшим буфером для получения значения параметра большого объема. Дополнительные сведения см. в разделе Получение выходных параметров с помощью метода SQLGetData.
В следующих статьях описаны изменения поведения собственного клиента SQL Server в SQL Server 2012 (11.x).
Значение,
pwszName
переданное параметру, должно быть допустимым идентификатором при вызовеICommandWithParameters::SetParameterInfo
. Дополнительные сведения см. в разделе ICommandWithParameters.SQLDescribeParam
последовательно возвращает спецификацию ODBC, соответствующую значению. Дополнительные сведения см. в разделе SQLDescribeParam.Изменение поведения драйвера ODBC при обработке преобразования символов