Из режима Предприятие получить адрес и тип используемого SQL сервера, название базы данных
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
СтрокаСоединенияИнформационнойБазы() Вам поможет.
Возвращает значение типа "Строка соединения" информационной базы, которая может содержать все необходимые параметры. Другое дело, что не все параметры являются обязательными :(
Возвращает значение типа "Строка соединения" информационной базы, которая может содержать все необходимые параметры. Другое дело, что не все параметры являются обязательными :(
Прекрасная обработка!
Для получения нужной информации мы фактически пользуемся консолью сервера 1С. Отлично!
Возник вопрос - я не администратор кластера или сервера 1С, но в консоли имею доступ к серверу без аутентификации. (Точнее, наверное аутентифицируюсь с пустым пользователем/паролем). Но в обычной консоли для получения данных об информационной базе я ввожу пользователя-администратора с паролем этой базы.
В этой же обработке мы аутентифицируемся на кластере, а для идентификации на конкретной базе кода нет. Как это грамотнее сделать?
Получаем список баз из GetInfoBases. Прочитал в СП: "... для чтения значений всех их свойств, кроме Name, необходимы административные права.". Как это сделать?
Для получения нужной информации мы фактически пользуемся консолью сервера 1С. Отлично!
Возник вопрос - я не администратор кластера или сервера 1С, но в консоли имею доступ к серверу без аутентификации. (Точнее, наверное аутентифицируюсь с пустым пользователем/паролем). Но в обычной консоли для получения данных об информационной базе я ввожу пользователя-администратора с паролем этой базы.
В этой же обработке мы аутентифицируемся на кластере, а для идентификации на конкретной базе кода нет. Как это грамотнее сделать?
Получаем список баз из GetInfoBases. Прочитал в СП: "... для чтения значений всех их свойств, кроме Name, необходимы административные права.". Как это сделать?
Так.
Перед получением списка соединений и свойств базы прописал СоединениеРП.AddAuthentication с несколькими вариантами пользователей (у разных баз - разные пользователи).
Соединения выводятся, свойства баз не выдают ошибки, но по прежнему выводят только имя информационной базы, но не сервер SQL и прочее.
Перед получением списка соединений и свойств базы прописал СоединениеРП.AddAuthentication с несколькими вариантами пользователей (у разных баз - разные пользователи).
Соединения выводятся, свойства баз не выдают ошибки, но по прежнему выводят только имя информационной базы, но не сервер SQL и прочее.
GetInfoBases() получаем не из рабочего процесса, в РП делаем авторизацию пользователем базы с админ правами.
Коннектор = Новый COMОбъект("V83.COMConnector");
Агент = Коннектор.ConnectAgent(Сервер);
Кластеры = Агент.GetClusters();
Для каждого Кластер из Кластеры Цикл
АдминистраторКластера = "";
ПарольКластера = "";
Агент.Authenticate(Кластер, АдминистраторКластера, ПарольКластера);
Процессы = Агент.GetWorkingProcesses(Кластер);
Для каждого Процесс из Процессы Цикл
Порт = Процесс.MainPort;
// теперь есть адрес и порт для подключения к рабочему процессу
РабПроц = Коннектор.ConnectWorkingProcess(Сервер + ":" + СтрЗаменить(Порт, Символы.НПП, ""));
РабПроц.AddAuthentication("Админ в базе", "Пароль админа");
Базы = РабПроц.GetInfoBases();
Для каждого База из Базы Цикл
Попытка
Сообщить("-------------");
Сообщить(База.name);
Сообщить(База.DBName);
Сообщить(База.ScheduledJobsDenied);
//...
Исключение
Сообщить("-------------");
Сообщить(База.name);
Сообщить("-------------");
КонецПопытки;
КонецЦикла;
КонецЦикла;
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот