У меня есть приложение консоли C#, которое будет запущено из агента SQL Server. Если консольное приложение завершилось неудачно, я хотел бы иметь сообщение об ошибке, указанное в журнале событий агента SQL Server. Но он, похоже, не захватывает ничего из консольного приложения. Он только говорит:Как правильно вернуть сообщение об ошибке из Console в агент SQL Server
Сообщение Выполнено как пользователь: domain \ account. Шаг не генерировал никакого вывода. Код выхода процесса 1. Не удалось выполнить шаг.
Так как я должен построил мой консольное приложение, так что агент SQL Server будет выведено сообщение об ошибке вместо «Стадию не генерирует никаких выходных данных.» сообщение?
Вот простой код, который я испытал:
class Program
{
static void Main(string[] args)
{
var x = 0;
// division by zero error
var y = 1/x;
//Console.Error.WriteLine("error message");
}
}
вы пробовали заявления попробовать/поймать? http://msdn.microsoft.com/en-us/library/0yd65esw.aspx Поскольку выполнение, скорее всего, приведет к сбою/завершению вашего приложения, поэтому оно даже не достигнет выходной линии. – ChrisK
вы правы, я просто поставил try/catch и написал ошибку в Console.Error, и все отлично работало с агентом SQL Server. Большое спасибо! –