Подключение MS SQL

Используется для подключения к базе данных MS SQL.

Для операционной системы Windows подключение осуществляется через Microsoft OLE DB Driver for SQL Server или SQL Server Native Client. В обоих случаях требуется предварительная установка драйвера.

При работе на операционной системе Linux по умолчанию подключение выполняется через ODBC-клиент MSODBCSQL или FreeTDS. Для этого требуется установка соответствующих драйверов. Дополнительно имеется возможность подключения без клиента СУБД.

Параметры подключения

При настройке подключения задаются следующие параметры:

  • Автоматическая метка — переключатель режима формирования метки узла. Если выбран режим Автоматическая метка, то она формируется по правилу: Строка подключения. Если выбран режим Пользовательская метка — метка задается пользователем.
  • Строка подключения — строка вида host[:port]:database (параметр, заключенный в [ ], является опциональным):

    • host — хост сервера СУБД;
    • port — порт TCP, используемый сервером СУБД для взаимодействия с клиентом, если параметр пустой, то порт по умолчанию 1433;
    • database — имя базы данных.

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

Окно имеет два поля:

  • Сервер — хост SQL-сервера. При необходимости через «\» указывается именованный экземпляр SQL-сервера.

  • База данных — имя базы данных.

Примеры строки подключения:

srv-db:db

srv-db:1433:db

  • Тестировать — тест указанных настроек подключения.

Примечание: Если опция Спрашивать пароль активна, то при тестировании подключения будет запрошен логин/пароль.

  • Логин — логин пользователя БД.
  • Пароль — пароль пользователя БД.

При работе Loginom Server на Linux, если подключение выполняется через драйвер FreeTDS, имеется возможность использовать способ авторизации Windows Authentication. В таком случае в поле Логин необходимо ввести строку вида <домен>\<имя_пользователя>, а в качестве пароля указать пароль пользователя домена.

Важно: На Windows, если логин/пароль не указан, то будет осуществляться попытка подключения под доменной учетной записью пользователя, из-под которого в системе запущена служба Loginom. При использовании данного способа необходимо, чтобы у этой учетной записи были права для авторизации в MS SQL.

  • Спрашивать пароль — при установке этого флага пароль, введенный в мастере настройки, не сохранится. Он будет запрошен единовременно при первой активации Импорта или Экспорта из БД и больше не будет запрашиваться до деактивации узла Подключения. Диалоговое окно ввода логина/пароля имеет тайм-аут 60 секунд.

Примечание: Во время работы в Пакетном режиме, а также при запуске пакета из Планировщика задач или через Loginom Integrator, при включенной опции Спрашивать пароль будет выполняться попытка подключения без пароля (логи будут содержать сообщение о том, что пароль не указан).

Параметры SQL Server

  • Шифровать протокол — флаг по умолчанию отключен.
  • Не проверять сертификат сервера — флаг по умолчанию отключен, то есть сертификат проверяется.

Настройки Шифровать протокол и Не проверять сертификат сервера могут игнорироваться в зависимости от глобальных настроек OLE DB драйвера в реестре Windows и версии OLE DB драйвера.

Параметры

  • Показывать системные таблицы — при установке этого флага в мастере импорта, использующего данное подключение, становятся видимы доступные пользователю системные таблицы БД.
  • Обрамлять имена кавычками — если имена объектов базы данных (например, имена таблиц, полей) содержат пробелы или зарезервированные символы, то необходимо использовать обрамляющие символы, фиксирующие начало и конец имени.
  • Язык сообщений — позволяет задать язык сообщений сервера БД.
  • Не использовать клиент СУБД — для MS SQL этот параметр можно изменить только при работе Loginom Server на ОС Linux: если опция включена, то подключение выполняется без клиента СУБД; если отключена — через ODBC-драйвер MSODBCSQL или FreeTDS. Для ОС Windows опция отключена, подключение выполняется через Microsoft OLE DB Driver for SQL Server или SQL Server Native Client.
  • Очищать пул при деактивации — при включенном флаге пул подключений, связанный с узлом Подключения, очищается сразу при деактивации узла. При отключенном флаге подключения начинают постепенно деактивироваться и удаляться из пула после деактивации узла.
  • Работать в одной сессии — при установке этого флага подключение может использоваться только одним узлом. При попытке запроса сессии от второго узла будет выдано сообщение о том, что подключение к БД занято. В этом режиме созданная временная таблица становится доступна для использования в нескольких узлах.
  • Тайм-аут ожидания сессии (с) — определяет время ожидания освобождения сессии при параллельном использовании подключения в режиме «Работать в одной сессии». Попытка параллельного использования подключения завершится с ошибкой, если за указанный тайм-аут эта единственная сессия не освободилась. То есть второй узел будет ожидать сессию в течение тайм-аута. Минимальное значение параметра — 0, максимальное — 2073600 (24 суток).

Примечание: процесс ожидания сессии может быть отменён из Панели «Процессы».

  • Тайм-аут подключения (c) — задает предельное время подключения, значение по умолчанию 20 секунд. Если импорт из базы данных или экспорт в базу данных будет выполняться в режиме игнорирования ошибок, то в случае неудавшегося подключения в течение установленного времени, соответствующая ошибка будет записана в выходной порт Статус выполнения узла Импорт из БД/Экспорт в БД, а при импорте/экспорте в обычном режиме — выполнение узла завершится ошибкой.
  • Тайм-аут блокировки (с) — устанавливает тайм-аут ожидания снятия блокировки с ресурса (таблицы, строки). Задаётся выпадающим списком с редактируемым полем ввода, которое принимает целые положительные значения. Предустановленный список значений:
    • По умолчанию — используется значение по умолчанию сервера БД.
    • — время ожидания не ограничивается.
    • Числовые значения — выбор из следующих значений: 5, 10, 20, 30, 60, 120.
  • Комментарий — в этой форме можно оставить любую справочную информацию о подключении.

Примечание: Для подключения к базе данных клиенты или драйвер ODBC должны быть той же разрядности, что и разрядность приложения/сервера Loginom.

Особенности и ограничения при работе через ODBC

На ОС Linux при работе через ODBC-драйверы MSODBCSQL и FreeTDS имеется ряд ограничений:

  • Не поддерживается функция Тайм-аут блокировки. Данный параметр можно указать вручную в SQL-запросе узла Импорта из БД:

    SET LOCK_TIMEOUT timeout_period;
    

    где timeout_period — время в миллисекундах.

  • Локальные временные таблицы удаляются после завершения выполнения скрипта, в котором они создаются.

  • Полноценно не поддерживается тип sql_variant. Для работы с данными из таких столбцов требуется явное приведение типов, например, с помощью CAST или CONVERT в SQL-запросе.
  • Ограничения для MSODBCSQL:
    • Нет возможности подключиться к старым серверам баз данных, например к SQL Server 2008.
    • Если в системе unixODBC собран без параметра DEFAULT_ICONV_ENCODING UTF-16, то запросы, в тексте которых используются Unicode символы с кодом выше 65535, могут обрабатываться некорректно.
  • Ограничения для FreeTDS:
    • Не поддерживается опция подключения Не проверять сертификат сервера.
    • Если не включена опция Шифровать протокол, то пакет с логином и паролем не шифруется.
    • Не восстанавливается соединение в случае разрыва.

Примечание: На Linux имеется возможность жестко задать параметр подключения Не использовать клиент СУБД, а также указать, какой именно ODBC-драйвер будет использоваться для подключения к SQL Server. Для этого можно использовать переменные окружения LOGINOM_MSSQL_ODBC_ONLY и LOGINOM_MSSQL_ODBC_DRIVER. Подробная информация в статье руководства администратора Подключение к MS SQL через ODBC.

Совместимость

  • Клиенты:

    • SQL Native Client
    • Microsoft OLE DB Driver 18, 19
  • Серверы:

    • SQL Server 2016, 2014, 2012, 2008 R2, 2008, 2019, 2022
    • SQL Server 2000 (включая MSDE)
    • SQL Server 7

Смотри также:

Новости, материалы по аналитике, кейсы применения, активное сообщество