ホームページ > バックエンド開発 > 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート