Запустите консольное приложение c # с Selenium из SSIS - PullRequest
0 голосов
/ 02 июля 2018

У меня есть консольное приложение C #, которое использует пакет Selenium NuGet. Этот процесс открывает некоторые URL-адреса и сохраняет все данные со страниц в SQL Server.

Вопрос в том, когда я запускаю только приложение c #, оно работает нормально.

Затем я создаю пакет служб SSIS и задачу сценария в SSIS и вызываю это приложение c #.

Опять же, когда я выполняю из SSIS, он работает нормально, но когда я планирую пакет SSIS из агента SQL, процесс показывает, что он работает, но никогда не запускается и никогда не завершается.

У кого-нибудь есть идея, если я должен что-то изменить?

Привет!

EDIT:

Это деталь моего развития.

Изображение решения

Мое решение SSIS содержит только один dtsx, в котором я создаю 2 шага

Синий шаг - разработка c #, использующая Selenium

Первый шаг - это скрипт, который отправляет письмо, указывающее, что процесс запускается.

Второй шаг - это задача процесса, которая выполняет «Scrap.exe». Scrap.exe - это разработка c #, которая использует Selenium для удаления некоторых URL. Когда я запускаю это решение из Visual Studio, результат успешен.

Затем я создаю задание в агенте SQL (SQL Server 2016). Это задание имеет только один шаг, который выполняет dtsx.

Это работа

Наконец, когда я выполняю это задание (щелкните правой кнопкой мыши -> запустить задание на шаге), задание запускается правильно, но никогда не завершается.

Как это

Извините за мой английский, я из Аргентины.

1 Ответ

0 голосов
/ 29 сентября 2018

Учетная запись агента SQL Server является не пользовательской (служебной) учетной записью, поэтому не имеет доступа к активному сеансу рабочего стола для какого-либо взаимодействия.

Нет способа «Взаимодействие с рабочим столом» из непользовательских учетных записей Windows. начиная с Windows 6.1 (Longhorn, Vista), даже если вы запускаете SQL-агент под своей учетной записью Windows и включаете «Взаимодействие с рабочим столом», вы получите тот же результат, который считается дырой в безопасности,

Возможно, вам потребуется создать приложение Windows, которое получает запросы от служб SSIS, обрабатывает и отвечает на них в БД. Это приложение должно быть запущено для реальной учетной записи пользователя, а сеанс должен оставаться открытым,

Имейте в виду, что пользователь может заблокировать экран, но не может выйти из системы, так как приложение закроется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...