ワークステーション接続システムの場合、以下のBTEQコマンド ライン オプションを使用します。
- -V
- BTEQは"Teradata BTEQ <version> for <platform>"形式を使用して自身のバージョン情報を返します。
- -Vs
- バージョン値自体のみで構成される、短い形式のBTEQバージョン情報が生成されます。
- -c [Charset Encoding]
- 起動時のBTEQの初期セッション文字セットのエンコーディングを定義します。この値には、文字セット名または文字セット コードを指定できます。デフォルトでは、このオプションによって、-eオプションと-mオプションが使用されていない場合にBTEQが使用するI/Oエンコーディングも定義されます(下記を参照)。
-cオプションは、clispb.datファイルで定義されている文字セット値を上書きします。UTF-16セッションを開始するためには、このオプションが必要です。続いてSESSION CHARSETコマンドを使用して(ある特定の制限が適用されます。SESSION CHARSETを参照してください)、BTEQのセッション文字セットを変更できます。セッション文字セットを定義する場合に-cオプションとclispb.datファイルを使用していない場合、BTEQはデフォルトでASCIIに設定します。
- -e [I/O Encoding]
- BTEQが使用するI/Oエンコーディングを定義します。このオプションは、BTEQが(-cオプションまたはclispb.datファイルで)UTF8またはUTF16セッション文字セットを使用するように初期設定されている場合にのみ有効です。指定可能な値は、UTF8またはUTF16の名前またはコード(それぞれ63と62)です。-eオプションが使用されている場合、そのセッションのI/Oエンコーディングを変更することはできません。-eオプションは-cオプションの前に使用することを推奨します。
- -m
- 対話形式のUnicodeセッションのI/Oエンコーディングが、実際のUnicodeコード ポイントではなくシステムのロケールに基づいたマルチバイト文字でエンコードされていることを指示します。このオプションでは引数は使用されず、-eオプションではなく-cオプションを使用する必要があります。このオプションが指定されていない場合、BTEQは常にデフォルトの“C”ロケールを使用します。
免責事項: あるロケールが(-mオプションによって)有効となっている場合、BTEQは、そのロケールで処理できる種類の文字に制限されます。例えば、ロシア語のロケールの使用時にはタイ語の読み取りや表示を行なうことはできません。多くの場合、ロケール外の文字は疑問符('?')で置き換えられます。
Windowsでのロケールの定義例:
- コントロール パネルを開きます。
- 地域と言語のオプションを選択します。
- Unicode対応でないプログラムの言語の値を選択します。
必要な言語が使用可能になっていない場合は、適切な言語サポートを先に導入しておく必要があります。
- 再起動が必要になることがあります。
Unixオペレーティング システムでのロケールの定義例:
- locale -aを使用して、使用可能なロケールを表示します。
- LC_CTYPE環境変数に、使用可能なロケールの1つを設定します。
- -ob
- リダイレクトされているstdoutおよびstderrストリームに、バイト オーダー マーク(BOM)を書き込む必要があることを指示します。このオプションは、Unicode出力を生成するワークステーションBTEQのセッションに対してのみ有効であり、そのI/Oエンコーディングは-cオプション、-eオプション、またはstdinスクリプトのエンコーディングでの指定に基づきます。BTEQでは、端末に表示されていない出力ストリームに対してのみBOMを書き込むことが意図されています。stdoutとstderrが同じファイルまたは同じデバイスにリダイレクトされている場合、BOMは1つだけ書き込まれます。stdoutとstderrが個別にリダイレクトされている場合、各ストリームにBOMが書き込まれます。ただし、stdoutまたはstderrがファイルの末尾に追加されている場合、そのファイルは確立済みであるため、BOMは書き込まれません。同様に、stdoutまたはstderrにテキストが書き込まれない場合にBOMだけが書き込まれることはありません。-obオプションは、出力ストリームをパイプにリダイレクトしている場合にも使用できます。
コマンド ラインでこれらのオプションやBTEQコマンドを指定する場合、まずコマンド ライン オプションを定義する必要があります。コマンド ライン オプションの使用例を次のテーブルに示します。
コマンド ライン オプション | 説明 |
---|---|
bteq | 対話モード。文字セットとI/OエンコードはデフォルトでASCIIに設定される |
bteq -c ASCII < script | ASCIIスクリプトを使用するバッチ モード。文字セットとI/OエンコードはASCIIになる |
bteq -c KANJISJIS_0S | Interactive mode:文字セットとI/OエンコードはKanjiShift-JISになる |
bteq -c UTF8 < script | UTF-8スクリプトを使用するバッチ モード。文字セットとI/OエンコードはUTF8になる |
bteq -ob -c UTF16 < script > out 2>&1 | UTF-16スクリプトを使用するバッチ モード。文字セットとI/OエンコーディングはUTF16になる。1つのBOMが"out"ファイルの先頭に書き込まれる |
bteq -e UTF8 -c UTF16 < script | UTF-8スクリプトを使用するバッチ モード。文字セットはUTF16、I/OエンコードはUTF8になる |
bteq -e 62 -c 63 < script | UTF-16スクリプトを使用するバッチ モード。文字セットはUTF8、I/OエンコードはUTF16になる |
bteq -c utf16 -m | Interactive mode:文字セットはUTF16になり、I/Oエンコードはロケールに基づいて設定される |
bteq -c utf8 -m | Interactive mode:文字セットはUTF8になり、I/Oエンコードはロケールに基づいて設定される |
メインフレームBTEQの場合、コマンド ラインの入力はBTEQ STEPのJCL PARMパラメータに入れて渡すことができます。実行時オプションおよびプログラム引数を指定する場合は、次のIBM/Cルールに従う必要があります。
状況 | 形式 |
---|---|
実行時オプションのみが存在する場合 | run-time options/ |
プログラム引数のみが存在する場合
|
次のいずれかです。
|
実行時オプションとプログラム引数が両方存在する場合 | run-time options / program arguments |
例:
//BTEQ00 EXEC PGM=BTQMAIN,PARM='.RUN DDNAME RUNFILE'
(ログオン文字列に'/'が含まれるため、先行する'/'は必須です)
//BTEQ00 EXEC PGM=BTQMAIN,PARM='/.LOGON TDP0/DBC,DBC'