Действительно ли возможно получить вывод печати из хранимой процедуры T-SQL в.NET?
У меня есть много наследия procs, которые используют печать в качестве средств errorMessaging. Пример, действительно ли возможно получить доступ к outprint 'слову' от следующего 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 = ???
Вы можете сделать это, добавив обработчик событий к событию InfoMessage в соединении.
myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);
void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
myStringBuilderDefinedAsClassVariable.AppendLine(e.Message);
}