2144 (0860) (RC2144): MQRC_TARGET_LENGTH_ERROR

説明

MQXCNVC 呼び出しで、以下のいずれかの理由により、TargetLengthパラメーターが無効です。
  • TargetLengthがゼロより小さいです。
  • TargetLengthパラメーター・ポインターが無効です。 (無効なパラメーター・ポインターを必ず検出できるわけではありません。 検出されなかった場合は予測不可能な結果が発生します。)
  • MQDCC_FILL_TARGET_BUFFER オプションが指定されていますが、TargetLengthの値は、有効な文字でターゲット・バッファーを完全に埋めることができないようなものです。 これは、TargetCCSIDが純粋な DBCS 文字セット (UTF-16など) ですが、TargetLengthが奇数バイトの長さを指定している場合に発生することがあります。

MQGMO_CONVERT オプションが指定されているときに、MQGET 呼び出しでこの理由コードが戻される場合があります。 この場合これは、MQRC_TARGET_LENGTH_ERROR 理由コードが、データ変換出口ルーチンにより発行された MQXCNVC 呼び出しによって戻されたことを示します。

完了コード

MQCC_WARNING または MQCC_FAILED

プログラマー応答

ゼロ以上の長さを指定してください。 MQDCC_FILL_TARGET_BUFFER オプションが指定され、TargetCCSIDが純粋な DBCS 文字セットである場合は、TargetLengthに 2 の倍数の長さが指定されていることを確認してください。

理由コードが MQGET 呼び出しで発行された場合は、データ変換出口ルーチンの論理が正確であるかを調べてください。