目的
この制御によって、ユーザーは、BTEQがエラー メッセージの書き込みに使用する出力ストリームを指定できます。
構文
次のような場合に当てはまります。
- STDOUT
- エラー メッセージは、標準出力ストリーム(メインフレーム接続システムのSYSPRINT)に書き込まれます。これが、メインフレームBTEQの初期デフォルト設定です。
- STDERR
- エラー メッセージは、標準エラー ストリーム(メインフレーム接続システムのSYSTERM)に書き込まれます。これが、ワークステーションBTEQの初期デフォルト設定です。
使用上の注意
エラー メッセージは、BTEQ自体によって生成されたメッセージ、またはCLIやデータベースによってBTEQに渡されたメッセージで構成されます。
ワークステーション接続システム上のUnicodeセッションで、stdoutまたはstderrがファイルまたはパイプにリダイレクトされている場合、‑obコマンド ライン オプションを使用すると、一方または両方のストリームに適切なBOM(バイト オーダー マーク)を挿入できます。
ERROROUTコマンドは、Teradata SQLマクロで使用できます。
例1 – マクロによって出力されるERROROUT
BTEQの出力(stdout/SYSPRINT)を以下に示しています。最初の無効なコマンドでのみ、このストリームにエラー メッセージが生成されていることが分かります。2番目の無効なコマンドでは、エラー メッセージはstderr/SYSTERMストリームに出力されます(以下には示していません)。
+---------+---------+---------+---------+----- .set errorout stdout *** Error messages now directed to STDOUT. +---------+---------+---------+---------+----- .set badcmd1 *** Error: Unrecognized command 'BADCMD1'. +---------+---------+---------+---------+----- .set errorout stderr *** Error messages now directed to STDERR. +---------+---------+---------+---------+----- .set badcmd2 +---------+---------+---------+---------+-----
例2 – マクロによって出力されるERROROUT
Teradata SQLマクロがERROROUTコマンドを発行するようにするには、次のようにSQL ECHO文の文字列部分に埋め込みます。
ECHO '.SET ERROROUT STDERR';