Запустить job в MS SQL из 1С

1. mark_oilbass 01.04.24 13:17 Сейчас в теме
Коллеги, добрый день!
Мне необходимо запустить job из 1С. Видел команду sp_start_job но как прописать это в 1С не понимаю.
Соединение я прописал через com объект, подключение и запросы выполняются. А вот как job выполнить не разобрался.
По теме из базы знаний
Найденные решения
5. mark_oilbass 01.04.24 15:49 Сейчас в теме
Возможно кому то будет полезно

         
Попытка
Соединение  = Новый COMОбъект("ADODB.Connection");
Команда     = Новый COMОбъект("ADODB.Command");
                               
Соединение.ConnectionString = "driver={SQL Server};" +
"server="+ИмяСервераSQL+";"+
"uid="+ПользовательSQL+";"+
"pwd="+ПарольSQL+";"+
"database="+БазаДанныхSQL+";";

Соединение.ConnectionTimeout = 30;
Соединение.CommandTimeout = 600;
Соединение.Open();

Команда.ActiveConnection = Соединение;
Сообщить("Успешное подключение!");
                
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;             

Попытка
Команда.CommandText = "EXEC msdb.dbo.sp_start_job N'Имя вашего job'";
Команда.Execute();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
               
Попытка
  Соединение.Close();
  Сообщить("Соединение закрыто!");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. nomad_irk 76 01.04.24 14:15 Сейчас в теме
(1)Sp_start_job - это внутренняя процедура, она выполняется так же как и запрос.

Т.е. было что-то вроде:

Query.Text = "Select....."

будет
Query.Text = "Sp_start_job....."
3. mark_oilbass 01.04.24 14:32 Сейчас в теме
(2) я вот так пробовал и у меня ошибка.
Прикрепленные файлы:
4. nomad_irk 76 01.04.24 15:45 Сейчас в теме
(3) Как вариант: хранимая процедура не доступна пользователю, под которым осуществляется подключение.
5. mark_oilbass 01.04.24 15:49 Сейчас в теме
Возможно кому то будет полезно

         
Попытка
Соединение  = Новый COMОбъект("ADODB.Connection");
Команда     = Новый COMОбъект("ADODB.Command");
                               
Соединение.ConnectionString = "driver={SQL Server};" +
"server="+ИмяСервераSQL+";"+
"uid="+ПользовательSQL+";"+
"pwd="+ПарольSQL+";"+
"database="+БазаДанныхSQL+";";

Соединение.ConnectionTimeout = 30;
Соединение.CommandTimeout = 600;
Соединение.Open();

Команда.ActiveConnection = Соединение;
Сообщить("Успешное подключение!");
                
Исключение
Сообщить(ОписаниеОшибки());
Возврат;
КонецПопытки;             

Попытка
Команда.CommandText = "EXEC msdb.dbo.sp_start_job N'Имя вашего job'";
Команда.Execute();
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
               
Попытка
  Соединение.Close();
  Сообщить("Соединение закрыто!");
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Показать
6. dvk09 2 02.04.24 08:01 Сейчас в теме
Можно ещё использовать процедуры и функции внешних источников данных
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот