[FIX] xp_findnextmsg は出力時に @msg_id パラメータの値を返さない

この記事は、以前は次の ID で公開されていました: JP281238
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
現象
@msg_id パラメータおよび OUTPUT キーワードを使用して xp_findnextmsg ストアド プロシージャを実行すると、出力時にパラメータに正しいメッセージ ID が含まれません。
解決方法
この問題を解決するために、SQL Server 2000 の最新の Service Pack の適用をお願いいたします。
最新の SQL Server サービスパックのダウンロードおよびインストールについて詳しくは以下をご覧下さい。

http://www.microsoft.com/japan/sql/download/default.asp (日本語版)
http://www.microsoft.com/sql/downloads/default.htm(英語版)
状況
弊社では、これを Microsoft SQL Server version 2000 の問題として確認しています。
この問題は、Microsoft SQL Server version 2000 Service Pack 1 で修正されています。
詳細
xp_findnextmsg ストアド プロシージャは SQL Mail 受信トレイ内の次の電子メール メッセージの ID を取得するために使用します。SQL Server 2000 SP1 よりも前のバージョンでは、@msg_id 入出力パラメータが出力時に正しいメッセージ ID を含みません。

たとえば、次のステートメントはデータを返しません。
DECLARE @status int, @message_id varchar(255)EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUTSELECT @message_id     --データを返しません。  
ストアド プロシージャを実行する前に変数に値が設定されている場合、その値は変更されません。
DECLARE @status int, @message_id varchar(255)SELECT @message_id = '0x00000000DC66A212B5A2D31180E200805F9F5E780100CBC49A5D9F4C90409F87850197457A2000000139A8560000'EXEC @status = xp_findnextmsg @msg_id = @message_id OUTPUTSELECT @message_id     -- '0x00000000DC66A212B5A2D31180E200805F9F5E780100CBC49A5D9F4C90409F87850197457A2000000139A8560000' を返します 
sp_processmail システム ストアド プロシージャ内で xp_findnextmsg が呼び出されることに注意してください。
関連情報
この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 281238 (最終更新日 2001-06-13) をもとに作成したものです。

プロパティ

文書番号:281238 - 最終更新日: 01/16/2015 21:14:27 - リビジョン: 2.1

  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive _ik kbbug kbfix kbsqlserv2000bug kbsqlserv2000sp1fix KB281238
フィードバック