1С 8.3 Модуль для получения параметров подключения к SQL Server и проверки соединения с ним прямо из 1С - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Модуль для получения параметров подключения к SQL Server и проверки соединения с ним прямо из 1С

Данные > Примеры кода 1С > 1С 8.3 Приложение, система, интерфейс
Программное подключение к базе MS SQL в 1С 8.3:
// Функция возвращает структуру с параметрами подключения к SQL Server
Функция ПолучитьПараметрыSQL() Экспорт

   // Инициализация переменных по умолчанию
   ИмяСервераSQL = ""; ПользовательSQL = ""; ПарольSQL = ""; БазаДанныхSQL = "";

   // Поиск выбранного подключения в списке параметров
   Для Каждого Подключение Из Объект.ПараметрыПодключения Цикл
       Если НЕ Подключение.Выбор Тогда
           Продолжить; // Пропускаем, если подключение не выбрано
       КонецЕсли;

       ИмяСервераSQL = Подключение.Server;
       ПользовательSQL = Подключение.User;
       ПарольSQL = Подключение.Password;
       БазаДанныхSQL = Подключение.Base;

       Прервать; // Нашли нужное подключение
   КонецЦикла;

   // Проверка, что параметры заполнены
   Если ПустаяСтрока(ИмяСервераSQL) Или ПустаяСтрока(БазаДанныхSQL) Тогда
       ВызватьИсключение "Не выбрано подключение или отсутствуют параметры сервера.";
   КонецЕсли;

   // Строка соединения без указания пользователя и пароля (для стандартной аутентификации)
   Сервер_СтрокаСоединения =
     "driver={SQL Server};" +
     "server=" + ИмяСервераSQL + ";" +
     "database=" + БазаДанныхSQL + ";";

   // Строка соединения с указанием пользователя и пароля
   СтрокаСоединенияССервером =
     "driver={SQL Server};" +
     "server=" + ИмяСервераSQL + ";" +
     "uid=" + ПользовательSQL + ";" +
     "pwd=" + ПарольSQL + ";" +
     "database=" + БазаДанныхSQL + ";";

   // Формируем структуру с параметрами
   ПараметрыSQL = Новый Структура;
   ПараметрыSQL.Вставить("Сервер_СтрокаСоединения", Сервер_СтрокаСоединения);
   ПараметрыSQL.Вставить("Сервер_АутентификацияСтандартная", Истина);
   ПараметрыSQL.Вставить("Сервер_ИмяПользователя", ПользовательSQL);
   ПараметрыSQL.Вставить("Сервер_Пароль", ПарольSQL);
   ПараметрыSQL.Вставить("Сервер_СУБД", "MS SQL Server");
   ПараметрыSQL.Вставить("Сервер_БД", БазаДанныхSQL);
   ПараметрыSQL.Вставить("СтрокаСоединенияССервером", СтрокаСоединенияССервером);

   Возврат ПараметрыSQL;

КонецФункции

// Процедура проверяет подключение к SQL Server на сервере
&НаСервере
Процедура ПроверитьПодключениеНаСервере()

   // Получаем параметры подключения
   ПараметрыSQL = ПолучитьПараметрыSQL();

   // Создаём объект параметров соединения с внешним источником данных
   ПараметрыСоединенияСБазой = Новый ПараметрыСоединенияВнешнегоИсточникаДанных;
   ПараметрыСоединенияСБазой.СтрокаСоединения = ПараметрыSQL.Сервер_СтрокаСоединения;
   ПараметрыСоединенияСБазой.АутентификацияСтандартная = ПараметрыSQL.Сервер_АутентификацияСтандартная;
   ПараметрыСоединенияСБазой.ИмяПользователя = ПараметрыSQL.Сервер_ИмяПользователя;
   ПараметрыСоединенияСБазой.Пароль = ПараметрыSQL.Сервер_Пароль;
   ПараметрыСоединенияСБазой.СУБД = ПараметрыSQL.Сервер_СУБД;

   // Устанавливаем параметры соединения для сессии
   ВнешниеИсточникиДанных.ForRestPOS.УстановитьПараметрыСоединенияСеанса(ПараметрыСоединенияСБазой);

   // Пробуем подключиться
   Попытка
       ВнешниеИсточникиДанных.ForRestPOS.УстановитьСоединение();
       Сообщить("Подключение успешно!");
   Исключение
       Сообщить("Подключение не установлено! Проверьте параметры.");
   КонецПопытки;

КонецПроцедуры
Можно использовать:
  • В интеграциях 1С с внешними системами, где данные хранятся в MS SQL Server.
  • В обменах данными между 1С и POS-системами, CRM, ERP, BI-платформами.
  • В администрировании. Для проверки доступности серверов и баз.
  • В автоматизации. Например, перед выполнением выгрузки или загрузки данных проверять, что соединение рабочее.
  • В отладке. Быстро понять, проблема в сети, в SQL Server или в параметрах.

Функция ПолучитьПараметрыSQL() - ищет в списке настроек подключения то, которое помечено как выбранное. Возвращает структуру с полным набором параметров для подключения.

Извлекает из него:
  • имя сервера SQL (Server)
  • имя пользователя (User)
  • пароль (Password)
  • имя базы данных (Base)

Формирует:
  • строку соединения для стандартной аутентификации (Windows)
  • строку соединения с логином и паролем (SQL Authentication)

Зачем нужно:
  • Чтобы централизованно хранить и получать все параметры подключения в одном месте.
  • Чтобы не дублировать строки соединения в разных процедурах.
  • Чтобы легко переключаться между разными серверами или базами, просто меняя настройки.

Процедура ПроверитьПодключениеНаСервере()

  • Вызывает ПолучитьПараметрыSQL() и получает готовую структуру с параметрами.
  • Создаёт объект ПараметрыСоединенияВнешнегоИсточникаДанных и заполняет его.
  • Передаёт эти параметры в внешний источник данных ForRestPOS.
  • Пробует установить соединение:
    • Если успешно: выводит сообщение "Подключение успешно!"
    • Если ошибка: выводит "Подключение не установлено!"

Зачем нужно:
  • Для быстрой проверки, что указанные параметры подключения рабочие.
  • Чтобы убедиться, что сервер SQL доступен и принимает соединения.
  • Для диагностики проблем с доступом (неверный логин, пароль, имя сервера, база).
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 03.07.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Назад к содержимому