> 백엔드 개발 > C++ > .NET에서 T-SQL 저장 프로시저 PRINT 출력을 캡처하려면 어떻게 해야 합니까?

.NET에서 T-SQL 저장 프로시저 PRINT 출력을 캡처하려면 어떻게 해야 합니까?

Susan Sarandon
풀어 주다: 2025-01-17 16:42:10
원래의
485명이 탐색했습니다.

How Can I Capture T-SQL Stored Procedure PRINT Output in .NET?

.NET에서 저장 프로시저 PRINT 출력 캡처

.NET의 T-SQL 저장 프로시저에서 생성된 PRINT 출력에 어떻게 액세스하나요? 예를 들어, PRINT를 사용하여 "word"라는 단어를 표시하는 다음 저장 프로시저를 생각해 보세요.

<code class="language-sql">CREATE PROC usp_PrintWord AS
    PRINT 'word'</code>
로그인 후 복사

C# 코드를 사용하여 이 프로세스의 출력을 어떻게 캡처할 수 있나요?

해결책에는 데이터베이스 연결에서 InfoMessage 이벤트를 구독하는 것이 포함됩니다. 이 이벤트는 연결된 SQL Server 인스턴스가 PRINT 문을 포함하여 정보 메시지를 보낼 때마다 발생합니다.

<code class="language-csharp">SqlCommand cmd = new SqlCommand("usp_printWord", TheConnection);
cmd.CommandType = CommandType.StoredProcedure;
myConnection.InfoMessage += new SqlInfoMessageEventHandler(myConnection_InfoMessage);

void myConnection_InfoMessage(object sender, SqlInfoMessageEventArgs e)
{
    string ProcPrint = e.Message;
}</code>
로그인 후 복사

저장 프로시저가 실행되면 InfoMessage 이벤트가 트리거되고 메시지 핸들러가 호출됩니다. 메시지 텍스트는 SqlInfoMessageEventArgs 개체의 Message 속성을 통해 액세스할 수 있습니다.

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

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿