Ошибка отлова из задания агента SQL, вызывающего .exe - PullRequest
0 голосов
/ 25 октября 2019

Я хотел бы запустить .exe из задания агента SQL Server. .Exe находится в другом месте, чем мой агент SQL Server. Я определил свою работу как тип PowerShell в свойствах шага MSSMS и определил следующую команду:

Invoke-Command -ComputerName "myserver"   -ScriptBlock {
      try
       {
         C:\...\......\myexe.exe  2>&1  -ErrorAction Stop 
        } 
    catch
       {
        Exit 1
        }
    } 

, где myexe.exe - исполняемый файл, размещенный на диске удаленного сервера. Когда я это делаю, я получаю следующую ошибку:

Message
Unhandled exception. System.Exception: A Forced Exception for testing purpose
At line:3 char:13
+       $res= & C:\........... ...
+             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (Unhandled excep...testing purpose:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

.....

Это ошибка, которая была выдана в моем .exe, но на самом деле я ожидаю, что заданиебыть ошибочным, пока он успешен.

Итак, вопрос в том, как я могу обработать исключение, выброшенное в мой файл myexe.exe, и перехватить его в задании агента SQL? Я ожидаю, что задание агента sql было ошибочным и в выводе было написано мое выброшенное сообщение об исключении.

Большое спасибо за вашу помощь

1 Ответ

0 голосов
/ 25 октября 2019

Попробуйте сделать это:

$FilePath = "C:\...\.exe"
$ArgumentList = "your args if you need"
$consoleOutput = (cmd /s /c "$FilePath $ArgumentList")

Не используйте «-ErrorAction Stop»

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