.NET 애플리케이션 내에서 저장 프로시저 인쇄 출력에 액세스
애플리케이션 현대화에는 레거시 시스템 통합, 오류 로깅을 위한 PRINT
문을 사용하여 저장 프로시저 처리와 같은 과제를 제시하는 경우가 많습니다. 이 방법은 SQL Server Management Studio 또는 명령줄 인터페이스에서 작동하지만 .NET에서는 직접 액세스할 수 없습니다. 이 문서에서는 이 출력을 캡처하고 더 나은 관리를 위해 리디렉션하는 방법을 보여줍니다.
해결책은 InfoMessage
클래스의 SqlConnection
이벤트를 활용하는 것입니다. 이 이벤트를 구독하면 .NET 애플리케이션이 저장 프로시저PRINT
에서
다음은 예시입니다.
<code class="language-csharp">using System.Data.SqlClient; using System.Data; // Connection string (replace with your actual connection string) string connectionString = @"<conn_string>"; using (SqlConnection connection = new SqlConnection(connectionString)) { // Subscribe to the InfoMessage event connection.InfoMessage += Connection_InfoMessage; // Prepare the stored procedure call SqlCommand cmd = new SqlCommand("usp_printWord", connection); cmd.CommandType = CommandType.StoredProcedure; connection.Open(); // Execute the stored procedure cmd.ExecuteNonQuery(); connection.Close(); } // Event handler to process the captured output void Connection_InfoMessage(object sender, SqlInfoMessageEventArgs e) { // Display the captured message Console.WriteLine(e.Message); }</code>
이 접근 방식을 사용하면 통합 프로세스 중에 레거시 저장 프로시저의 중요한 오류 메시지를 간과하지 않고 데이터 무결성을 유지하고 .NET으로의 전환을 간소화할 수 있습니다.
위 내용은 .NET 응용 프로그램에서 저장 프로시저 인쇄 출력을 어떻게 캡처할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!