Драйвер Microsoft ODBC для SQL Server в Windows
Драйверы Microsoft ODBC Driver for SQL Server — это автономные драйверы ODBC, предоставляющие программный интерфейс (API), который реализует стандартные интерфейсы ODBC для Microsoft SQL Server.
Microsoft ODBC Driver for SQL Server можно использовать для создания приложений. Можно также обновить имеющиеся приложения, использующие старый драйвер ODBC. Драйвер ODBC для SQL Server поддерживает подключения к Базе данных SQL Azure, Azure Synapse Analytics и SQL Server.
Сводка
- Поддержка JDK 8.0
- Расширения для SQLGetData
- Параметр для отправки данных с типом SQL_LONG_* в виде данных с типом (max)
- Поддержка Always Encrypted для API BCP
- Новый атрибут строки подключения UseFMTONLY предписывает драйверу использовать старые метаданные в особых случаях, в которых требуются временные таблицы
- Always Encrypted
- Аутентификация Azure AD
- Группы доступности Always On (AG)
- Международное доменное имя (IDN)
- Организация пулов соединений с учетом драйвера
- Устойчивость подключений
- Асинхронное выполнение (метод опроса)
Документация
Эта документация для Microsoft ODBC Driver для SQL Server включает в себя следующее:
- Заметки о выпуске ODBC для SQL Server в Windows
- Функции Microsoft ODBC Driver for SQL Server в Windows
- Системные требования, установка и файлы драйвера
- Организация пулов соединений с учетом драйвера в ODBC Driver for SQL Server
- Образец асинхронного выполнения (метод уведомления)
- Устойчивость подключения в драйвере ODBC в Windows
- Использование функции Always Encrypted с драйвером ODBC
- Использование Azure Active Directory с драйвером ODBC
- Использование разрешения IP-адресов прозрачной сети
Сообщество
- Блог о драйверах SQL Server
- Форум по доступу к данным SQL Server
См. также:
- Построение приложений с использованием SQL Server Native Client
- SQL Server Native Client: вопросы и ответы
- Справочник по программированию ODBC
- SQL Server Native Client (ODBC)
Microsoft ODBC Driver for SQL Server on Windows
The Microsoft ODBC Drivers for SQL Server are stand-alone ODBC drivers which provide an application programming interface (API) implementing the standard ODBC interfaces to Microsoft SQL Server.
The Microsoft ODBC Driver for SQL Server can be used to create new applications. You can also upgrade your older applications which currently use an older ODBC driver. The ODBC Driver for SQL Server supports connections to Azure SQL Database, Azure Synapse Analytics, and SQL Server.
Summary
- Support for TDS 8.0
- Extensions to SQLGetData
- Option to send SQL_LONG_* types as (max) -types
- Always Encrypted support for BCP API
- New connection string attribute UseFMTONLY causes driver to use legacy metadata in special cases requiring temp tables
- Always Encrypted
- Azure AD Authentication
- Always On Availability Groups (AG)
- Internationalized Domain Name (IDN)
- Driver-Aware Connection Pooling
- Connection Resiliency
- Asynchronous execution (Polling Method)
Documentation
This documentation for the Microsoft ODBC Driver for SQL Server includes:
- Release Notes for ODBC to SQL Server on Windows
- Features of the Microsoft ODBC Driver for SQL Server on Windows
- System Requirements, Installation, and Driver Files
- Driver-Aware Connection Pooling in the ODBC Driver for SQL Server
- Asynchronous Execution (Notification Method) Sample
- Connection Resiliency in the Windows ODBC Driver
- Using Always Encrypted with the ODBC Driver
- Using Azure Active Directory with the ODBC Driver
- Using Transparent Network IP Resolution
Community
- SQL Server Drivers blog
- SQL Server Data Access Forum
See Also
- Building Applications with SQL Server Native Client
- SQL Server Native Client FAQ
- ODBC Programmer’s Reference
- SQL Server Native Client (ODBC)
Функции Microsoft ODBC Driver for SQL Server в Windows
Драйвер Microsoft ODBC Driver 18.0 for SQL Server в Windows
Драйвер ODBC 18.0 позволяет пользователям отправлять данные с типом «длинное целое» как данные с типом max с использованием ключевого слова LongAsMax для включения или отключения параметра. Если параметр включен, SQL-типы SQL_LONGVARCHAR, SQL_LONGVARBINARY и SQL_LONGWVARCHAR будут отправляться как varchar(max), varbinary(max) и nvarchar(max) вместо text, image и ntext соответственно.
Значения по умолчанию для шифрования подключения изменились. Теперь параметр Encrypt имеет значение по умолчанию Yes, а новые ключевые слова Optional (необязательно) и Mandatory (обязательно) представлены как синонимы для значений No и Yes соответственно. Для подключения с использованием протокола TDS 8.0 добавлен строгий режим ( Encrypt=Strict ). В этом режиме сертификат сервера всегда проверяется ( TrustServerCertificate игнорируется). Новое ключевое слово ( HostnameInCertificate ) можно использовать для указания ожидаемого имени узла, найденного в сертификате, если оно отличается от имени указанного сервера. Ключевое слово HostnameInCertificate можно использовать во всех режимах шифрования. Кроме того, оно применимо, если на стороне сервера включен параметр Force Encryption , в результате чего драйвер будет проверять сертификат в режимах Optional и Mandatory, если проверка не отключена с помощью TrustServerCertificate .
Драйвер ODBC 18 содержит расширения SQLGetData. Если эти расширения включены, SQLGetData можно использовать для получения данных столбца в любом порядке в строке, в том числе в обратном порядке. Эта возможность предоставляется в целях совместимости. При этом она значительно снижает производительность и увеличивает потребление памяти. Настоятельно рекомендуется, чтобы для приложения столбцы всегда были доступны в порядке по возрастанию. Для включения расширений SQLGetData можно использовать атрибут строки подключения GetDataExtensions либо использовать функцию SQLSetConnectAttr , чтобы установить для SQL_COPT_SS_GETDATA_EXTENSIONS значение SQL_EN_ON .
Поддержка Windows ARM64 включается начиная с ODBC Driver 18.2 и в настоящее время является предварительной версией. Драйвер ARM64 предназначен только для 64-разрядных приложений ARM64 и не включает 32-разрядные драйверы эмуляции ARM и x86/amd64.
Драйвер Microsoft ODBC Driver 17.4 for SQL Server в Windows
Драйвер ODBC 17.4 включает возможность настройки параметров поддержания активности TCP. Их можно изменить, добавив значения в разделы реестра драйвера или DSN. Ключи находятся в HKEY_LOCAL_MACHINE\Software\ODBC\ для системных источников данных и в HKEY_CURRENT_USER\Software\ODBC\ для источников данных пользователя. Для DSN значения следует добавить в . \Software\ODBC\ODBC.INI\ , а для драйвера — в . \Software\ODBC\ODBCINST.INI\ODBC Driver 17 for SQL Server .
Дополнительные сведения см. в статье Registry Entries for ODBC Components (Записи реестра для компонентов ODBC).
Возможны следующие значения в формате REG_SZ :
- KeepAlive управляет частотой попыток протокола TCP проверить работоспособность неактивного подключения путем отправки пакета keep-alive. По умолчанию это 30 секунд.
- KeepAliveInterval определяет интервал, разделяющий повторные передачи пакета keep-alive, до получения ответа. Значение по умолчанию — 1 секунда.
Драйвер Microsoft ODBC Driver 13.1 for SQL Server в Windows
Дайвер Driver 13.1 for SQL Server содержит все функции предыдущей версии (11). В нем добавлена поддержка проверки подлинности Always Encrypted и Azure Active Directory.
Функция Always Encrypted позволяет клиентам шифровать конфиденциальные данные в клиентских приложениях, не раскрывая ключи шифрования для SQL Server. Драйвер с поддержкой Always Encrypted, установленный на клиентском компьютере, реализует эту возможность безопасности за счет автоматического шифрования и расшифровки конфиденциальных данных в клиентском приложении SQL Server. Драйвер шифрует данные в конфиденциальных столбцах перед их передачей в SQL Server. Он также автоматически переписывает запросы, чтобы сохранить семантику приложения. Аналогичным образом драйвер прозрачно расшифровывает данные, хранящиеся в столбцах зашифрованной базы данных, которые содержатся в результатах запроса. Дополнительные сведения см. в статье Использование функции Always Encrypted с драйвером ODBC.
Azure Active Directory позволяет пользователям, администраторам баз данных и программистам приложений использовать проверку подлинности Azure Active Directory. Дополнительные сведения см. в статьях Использование Azure Active Directory с драйвером ODBC и Подключение к Базе данных SQL или Azure Synapse Analytics с помощью проверки подлинности Azure Active Directory.
Драйвер Microsoft ODBC 11 для SQL Server в Windows
Драйвер ODBC для SQL Server содержит все функциональные возможности драйвера ODBC Native Client SQL Server, который входит в состав SQL Server 2012 (11.x). Дополнительные сведения о SQL Server Native Client см. в этой статье. Драйвер ODBC Native Client SQL Server основан на драйвере ODBC, который входит в состав операционной системы Windows. Дополнительные сведения об этом драйвере см. в статье Пакет SDK компонентов доступа к данным Windows DAC.
Этот выпуск драйвера ODBC для SQL Server содержит следующие новые функции:
параметр bcp.exe -l для указания времени ожидания входа
Параметр -l задает время ожидания (в секундах) для входа bcp.exe в SQL Server при попытке соединения с сервером. Значение времени ожидания по умолчанию — 15 секунд. Время ожидания входа должно быть числом в диапазоне от 0 до 65 534. Если указанное значение не является числом или выходит за пределы указанного диапазона, программа bcp.exe выдает сообщение об ошибке. Значение 0 указывает на бесконечное время ожидания. Время ожидания входа, которое меньше 10 секунд (приблизительно), не является надежным.
Организация пулов соединений с учетом драйвера
Асинхронное выполнение (метод уведомления)
Устойчивость подключения
Чтобы обеспечить сохранение подключения приложений к Базе данных SQL Microsoft Azure, драйвер ODBC в Windows может восстанавливать неактивные соединения. Дополнительные сведения см. в статье Устойчивость подключения в драйвере ODBC в Windows.
Изменения в поведении
В SQL Server Native Client параметр -y0 для sqlcmd.exe привел к усечению выходных данных на 1 МБ при значении ширины экрана «0».
Начиная с ODBC Driver 11 for SQL Server ограничение на объем данных, извлекаемых в одном столбце, при указанном -y0 отсутствует. Теперь sqlcmd.exe осуществляет потоковую передачу столбцов размером до 2 ГБ (максимальное значение для типа данных SQL Server).
Другое отличие заключается в том, что указание как -h , так и -y0 теперь приводит к сообщению об ошибке, связанной с несовместимостью опций. Параметр -h , который указывает количество выводимых строк между заголовками столбцов, никогда не был совместим с -y0 и игнорировался, хотя заголовки не выводились.
-y0 может значительно снизить производительность сервера и сети в зависимости от объема возвращаемых данных.
При подготовке материала использовались источники:
https://learn.microsoft.com/Ru-Ru/sql/connect/odbc/windows/microsoft-odbc-driver-for-sql-server-on-windows?view=sql-server-ver16
https://learn.microsoft.com/en-us/sql/connect/odbc/windows/microsoft-odbc-driver-for-sql-server-on-windows?view=sql-server-ver16
https://learn.microsoft.com/RU-RU/sql/connect/odbc/windows/features-of-the-microsoft-odbc-driver-for-sql-server-on-windows?view=sql-server-2016