Czy jest możliwe przechwycenie wydruku z procedury składowanej T-SQL w .NET?
Mam wiele starszych procesów, które używają print jako środka do przesyłania komunikatów o błędach. Na przykład, czy można uzyskać dostęp do nadruku „słowo” z następującej procedury 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 = ???
c#
.net
stored-procedures
Piotr
źródło
źródło
Odpowiedzi:
Możesz to zrobić, dodając procedurę obsługi zdarzeń do zdarzenia InfoMessage w połączeniu.
źródło
Jest to bardzo przydatne, jeśli chcesz przechwycić wydruk w konsoli wyjściowej LinqPad:
źródło
Aby uzyskać dane wyjściowe w zmiennej:
źródło