Захват вывода на печать хранимых процедур in.NET
можно ли захватить вывод печати из хранимой процедуры TSQL в .NET?
У меня есть много устаревших процессов, которые используют печать как средство errorMessaging. Например, можно ли получить доступ к outprint 'word' из следующего PROC?
-- The PROC
CREATE PROC usp_PrintWord AS
PRINT 'word'
// Some C# Code to would like to pull out 'word'
SqlCommand cmd = new SqlCommand("usp_printWord", TheConnection);
cmd.CommandType = CommandType.StoredProcedure;
// string ProcPrint = ???
2 ответа:
вы можете сделать это, добавив обработчик событий в InfoMessage событие на связи.
myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage); void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e) { myStringBuilderDefinedAsClassVariable.AppendLine(e.Message); }