Microsoft odbc driver 17 for sql server что это

Обновлено: 04.07.2024

Там версия 17, при этом есть ещё отдельный компонент с припиской sdk

В системе (windows 10) четыре варианта других
odbc driver 13 for sql server
sql server
sql server native client 11.0
sql server native client rda 11.0

Выбрал свежую 17, sdk ставить не стал
Если бы знать, что не помешает - поставил бы
Это вроде как некий прямой доступ при разработке приложений
Тоже непонятно какой

Если несложно - подскажите плз, правильно ли выбрал
Приложенька особых требований не имеет, так что нужно просто чтобы как можно быстрее работало
Доступ используется для только для заливки данных в сервер, и она построчная
Поток данных довольно большой, критично время записи каждой записи))

Также интересно было бы прочитать, что за прямой доступ, и что за остальные версии в системе, и зачем они там

Видите, на рисунке, запущен 64 бит администратор ODBC, но драйверы есть 32 битные, и есть, внимание, 32/64 битные.
Вот как раз SQL Server Native Client, и SQL Server ODBC именно такие, двойной разрядностию

Так что вы ставили не "64битный драйвер 17 версии", а драйвер двойной разрядности, что внутри устроено как 2 драйвера, а приложение обращается к нужному - это обеспечивает менеджер ODBC, то есть приложения сами файл DLL драйвера не ищут.

всё, увидел, спасибо
я и спрашивал "значит там внутри и 32битный есть?" ))

тогда последний тупой вопрос

если приложение 32битное, то ведь не хуже с ним использовать именно этот 64/32 драйвер, чем отдельный 32битный?
на странице загрузки - два драйвера, 64/32 (как выяснили), и только 32битный

или там идет замедление из-за необходимости выбора?
хотя тогда был бы отдельный 64битный, наверное

ну и исходный нетупой вопрос - какой драйвер быстрее и лучше из перечисленных в начале

из видимых сейчас в Администраторе (64):
odbc driver 17 for sql server
odbc driver 13 for sql server
sql server
sql server native client 11.0
sql server native client rda 11.0

из видимых сейчас в Администраторе (32)
odbc driver 17 for sql server
odbc driver 13 for sql server
sql server
sql server native client 11.0

это понятно
может я тоже программист или буду чуть позже))

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

Драйвер 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 для указания времени ожидания входа

Организация пулов соединений с учетом драйвера

Асинхронное выполнение (метод уведомления)

Устойчивость подключения

Чтобы обеспечить сохранение подключения приложений к Базе данных SQL Microsoft Azure, драйвер ODBC в Windows может восстанавливать неактивные соединения. Дополнительные сведения см. в статье Устойчивость подключения в драйвере ODBC в Windows.

Microsoft ODBC Driver for SQL Server

ODBC — это основной собственный интерфейс API для доступа к данным, предназначенный для приложений, написанных на языках C и C++ для SQL Server. Драйвер ODBC существует для большинства источников данных. К другим языкам, которые могут использовать ODBC, относятся COBOL, Perl, PHP и Python. ODBC активно применяется для интеграции данных.

Драйвер ODBC поставляется с такими средствами как sqlcmd и bcp. Служебная программа sqlcmd позволяет выполнять инструкции Transact-SQL, системные процедуры и сценарии SQL. Служебная программа bcp используется для массового копирования данных в нужном вам формате между экземпляром Microsoft SQL Server и файлом данных. Также можно использовать bcp для импорта большого количества новых строк в таблицы SQL Server или экспорта данных из таблиц в файлы данных.

Пример кода на C++

В следующем примере показано, как использовать API-интерфейсы ODBC для подключения и доступа к базе данных:

Функции Microsoft ODBC Driver for SQL Server в Windows

Установка ODBC Driver for SQL Server версий 13 и 17

Эти версии драйвера есть в репозитории, предоставляемом Microsoft, просто добавляйте репозиторий и устанавливайте драйвер.

Из репозитория Microsoft будет установлена более новая версия unixODBC, чем та, что доступна в репозиториях CentOS 6, обязательно пересоберите Asterisk, чтобы модуль res_odbc.so был собран с включением только что установленной версии unixODBC.

Установка ODBC Driver for SQL Server версии 11

Опять-таки Asterisk нужно будет пересобрать после установки более нового пакета unixODBC.

Настройка ODBC-подключения в Asterisk
Создание ODBC DSN
Сперва нужно добавить DSN в файл /etc/odbc.ini. Формат DSN:

[<имя_DSN>]
Driver = <имя_драйвера_из_файла_/etc/odbcinst.ini>
Server = <адрес_сервера>
Port = <номер_порта>
Database = <имя_базы_данных>

Протестировать DSN можно следующей командой:

isql MS_SQL_ASTERISK <имя_пользователя> <пароль>

Если с подключением возникают проблемы, можно временно добавить следующие параметры:

Trace = Yes
TraceFile = /tmp/MS_SQL_ASTERISK_ODBC.log

В файл /tmp/MS_SQL_ASTERISK_ODBC.log будет записан лог подключения.

[<имя_ODBC-подключения>]
enabled => yes
dsn => <имя_DSN_из_файла_/etc/odbc.ini>
username => <имя_пользователя>
password => <пароль>
pre-connect => yes
max_connections => <максимальное_количество_одновременных_подключений> ; для Asterisk 12+
pooling => <максимальное_количество_одновременных_подключений> ; для Asterisk 11

MS SQL Server поддерживает одновременно только один запрос через одно соединение, поэтому можно указать более одного соединения, если планируется большая интенсивность запросов к БД.
Пример ODBC-подключения:

[ms_sql]
enabled => yes
dsn => MS_SQL_ASTERISK
username => db_user
password => db_secret
pre-connect => yes
max_connections => 3

Подключение Asterisk к Microsoft SQL Server с помощью ODBC Driver for SQL Server

Asterisk к Microsoft SQL Server

Изменения в поведении

В SQL Server Native Client параметр -y0 для sqlcmd.exe привел к усечению выходных данных на 1 МБ при значении ширины экрана "0".

Начиная с ODBC Driver 11 for SQL Server ограничение на объем данных, извлекаемых в одном столбце, при указанном -y0 отсутствует. Теперь sqlcmd.exe осуществляет потоковую передачу столбцов размером до 2 ГБ (максимальное значение для типа данных SQL Server).

-y0 может значительно снизить производительность сервера и сети в зависимости от объема возвращаемых данных.

Драйвер 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\<DSN Name> , а для драйвера — в . \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 секунда.

Читайте также: