MS SQL. Способ подключения: через Db.Proxy

Экстрактор 1С позволяет подключится к базам данных Microsoft SQL Server через Db.Proxy.
Важно!

Данный способ подключения реализован начиная с релиза 3.6.1.9 Экстрактора 1С.

Подходит для серверов 1С, развернутых как в Windows, так и в Linux.

Этот способ подключения использует специальный Db.Proxy.Service и необходим в случаях, когда невозможно использовать ADO. Например, для серверов 1С, работающих на Linux.

Помимо описанного, у Db.Proxy есть еще ряд преимуществ:

  • Код Db.Proxy открыт и доступен для ревизии, в том числе, и службой безопасности;

  • Db.Proxy — это, в целом, стандартный прокси, который транслирует команды от 1С в MS SQL;

  • Если Db.Proxy поставить за Nginx (то есть, использовать Nginx в качестве обратного прокси для доступа к базе данных), то можно обеспечить и дополнительную авторизацию, и безопасное соединение https и, в целом, хорошую секьюрность;

  • Db.Proxy не хранит никаких данных (data-less).

Файлы проекта proxy-сервиса для работы с СУБД из 1С через http находятся в публичном репозитории по адресу: pub / db-proxy-service · GitLab

  • сервис можно запустить на любой машине, главное, чтобы она была доступна вашему серверу 1С.

  • Прежде, чем приступать к запуску сервиса, установите Docker — это платформа, которая позволяет упаковать в контейнер приложение со всем окружением и зависимостями, а затем доставить и запустить его в целевой системе.

Создание подключения

Чтобы создать подключение к MS SQL через Db.Proxy-сервис, зайдите в меню «Экстрактор 1С» — выберите «Подключения» и в открывшейся форме списка нажмите «Создать».

Настройки подключения для способа выгрузки «Блоками»

Откроется окно создания подключения, в нем необходимо заполнить все поля последовательно:

  • Наименование.

  • Тип подключения: MS SQL.

  • Партиции в нижнем регистре. Оставьте эту галку установленной (значение по умолчанию). Она добавлена для других типов СУБД.

  • Способ подключения: «Db.Proxy».

  • Подключение к proxy:

    • адрес сервера и порт, где развернут сервис.

    • данные авторизации (пользователь и пароль) для доступа к сервису.

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

  • Установите значение «Способ доставки файла в каталог загрузки» — «Не используется» для выгрузки только «Блоками».

  • Далее, нажимаете кнопку «Проверить подключение». Если будут на каком то из шагов ошибки, то:

    • убедиться, что у расширения «Экстрактор 1С» снят флаг «Безопасный режим»

    • Далее, идти к вашим системным администраторам и просить их починить доступы.

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

Настройки подключения для способа выгрузки «Через файл»

Для создания этого типа подключения надо повторить все шаги, как и для способа выгрузки «Блоками», дополнительно настроив каталоги выгрузки и загрузки Чтобы их настроить, установите переключатель «способ доставки в каталог загрузки» в положение «Каталог».

Обратите внимание!

При размере сегмента от 100 000 строк рекомендуется использовать способ выгрузки *«*Через файл», а если нет возможности, то рекомендуем уменьшить размер сегмента и сделать его не более 10 000 строк.

Тут надо понимать, что по сути, в физическом смысле, это один каталог (одна и та же папка). А каталоги выгрузки и загрузки — это пути к этой папке со стороны 1С сервера и MS SQL сервера соответственно.

Важно!

Необходимо настроить доступ и Сервера 1С и Сервера MS SQL к этой папке. Как это сделать знает ваш сисадмин.

Также необходимо помнить, что для работы способа выгрузки «Через файл» у пользователя SQL-сервера должны быть права bulkadmin.

--добавим нашему пользователю SQL-сервера роль "bulkadmin" чтобы он мог выполнять инструкции bulk insert ALTER SERVER ROLE [bulkadmin] ADD MEMBER [Username]