>백엔드 개발 >C++ >.NET의 저장 프로시저에서 PRINT 출력을 어떻게 캡처할 수 있습니까?

.NET의 저장 프로시저에서 PRINT 출력을 어떻게 캡처할 수 있습니까?

DDD
DDD원래의
2025-01-17 16:37:11317검색

How Can I Capture PRINT Output from Stored Procedures in .NET?

.NET 애플리케이션의 저장 프로시저에서 PRINT 출력 검색

.NET 애플리케이션의 저장 프로시저에서 PRINT 출력을 효과적으로 캡처하는 것은 특히 오류 처리 및 로깅을 위해 PRINT 문을 사용하는 이전 시스템을 처리할 때 필수적입니다. 저장 프로시저 "usp_PrintWord"에서 출력 "word"를 캡처하는 방법을 살펴보겠습니다.

<code class="language-sql">-- Stored Procedure
CREATE PROC usp_PrintWord
AS
BEGIN
    PRINT 'word'
END;</code>

.NET 솔루션:

다음 단계에서는 .NET 코드 내에서 이 PRINT 출력을 캡처하는 방법을 보여줍니다.

  1. 이벤트 핸들러 연결: SQL 연결의 InfoMessage 이벤트를 구독합니다. 이 이벤트는 데이터베이스 상호 작용 중에 생성된 정보 메시지에 대해 발생합니다.
<code class="language-csharp">myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);</code>
  1. 이벤트 처리: 이벤트 핸들러 내에서 MessageSqlInfoMessageEventArgs 속성에 액세스하여 PRINT 출력을 검색합니다.
<code class="language-csharp">void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    Console.WriteLine(e.Message);
}</code>
  1. 저장 프로시저 실행: 평소처럼 SqlCommand을 사용하여 저장 프로시저를 실행합니다. PRINT 출력은 캡처되어 콘솔(또는 이벤트 핸들러가 출력을 지시하는 모든 위치)에 표시됩니다.

이 접근 방식은 저장 프로시저의 PRINT 출력에 액세스하는 간단하고 효과적인 방법을 제공합니다.

위 내용은 .NET의 저장 프로시저에서 PRINT 출력을 어떻게 캡처할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.