É possível capturar a saída de impressão de um procedimento armazenado T-SQL no .NET?
Tenho muitos procs legados que usam a impressão como meio de mensagem de erro. Por exemplo, é possível acessar a saída 'palavra' a partir do PROC seguinte?
-- 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
Peter
fonte
fonte
Respostas:
Você pode fazer isso adicionando um manipulador de eventos para o InfoMessage evento na conexão.
fonte
Isso é realmente útil se você deseja capturar a saída de impressão no console de saída do LinqPad:
fonte
Para obter a saída em uma variável:
fonte