存取 .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中文網其他相關文章!