Подключение 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
Смотри также: