ジョブ変数は、以下の場所でセットアップできます。
- ジョブ スクリプト内: ジョブ変数の値の指定場所として優先順位が最下位なのは、ジョブ スクリプト内部で指定する方法です。 その場合、以下の例のようにDEFINE JOB文の前にオプションのSET宣言を指定してください。
SET MyTdpId = 'database1'; SET MyUserName = 'johndoe'; SET MyUserPassword = 'johndoe'; DEFINE JOB CREATE_SOURCE_EMP_TABLE ( DEFINE OPERATOR DDL_OPERATOR DESCRIPTION 'Teradata Parallel Transporter DDL Operator' TYPE DDL ATTRIBUTES ( VARCHAR TdpId = @MyTdpId, VARCHAR UserName = @MyUserName, VARCHAR UserPassword = @MyUserPassword ); APPLY ('DROP TABLE SOURCE_EMP_TABLE;'), ('CREATE TABLE SOURCE_EMP_TABLE(EMP_ID INTEGER, EMP_NAME CHAR(10));'), ('INSERT INTO SOURCE_EMP_TABLE(1,''JOHN'');'), ('INSERT INTO SOURCE_EMP_TABLE(2,''PETER'');') TO OPERATOR (DDL_OPERATOR); );
- グローバル ジョブ変数ファイル: ジョブ変数の値の指定場所として優先順位が下から2番目なのは、グローバル ジョブ変数ファイル内部で指定する方法です。 グローバル ジョブ変数ファイルは、すべてのeradata PTジョブによって読み取られます。 共通の、システム全体のジョブ変数をこのファイル内に入力してから、GlobalAttributeFileパラメータを使用して、グローバル ジョブ変数のパスをTeradata PT構成ファイル内で指定します。 例えば、グローバル ジョブ変数で以下のようにテキストを指定します。
MyTdpId = 'database1', MyUserName = 'johndoe', MyUserPassword = 'johndoe'
グローバル ジョブ変数ファイルはUNIXおよびWindowsシステムで使用できます。 - ローカル ジョブ変数ファイル: ジョブ変数の値の指定場所として優先順位が上から2番目なのは、ローカル ジョブ変数ファイル内部で指定する方法です。ジョブ変数の値が格納されているローカル ジョブ変数ファイルを指定するには、次のようにコマンド ラインで-vオプションを使用します。
tbuild -f weekly_update.txt -v jobvars.txt
例えば、jobvars.txtファイルに以下のようなテキストを指定します。MyTdpId = 'database1', MyUserName = 'johndoe', MyUserPassword = 'johndoe'
多くのジョブ変数ファイルはスクリプトのコマンド ラインで宣言することもできます。tbuild -f weekly_update.txt -v jobvars_def.txt -v jobvars_user_info.txt
例えば、jobvars_def.txtファイルに以下のようなテキストを指定します。SourceFileName = 'flatfile1.dat', Format = 'delimited', TextDelimiter = '|', SourceOpenMode = 'Read'
また、jobvars_user_info.txtファイルに以下のようなテキストを指定します。
MyTdpId = 'database1', MyUserName = 'johndoe', MyUserPassword = 'johndoe'
コマンド ラインで宣言された複数のジョブ変数ファイルは、1つの大きなジョブ変数として動作します。複数のジョブ変数ファイルを定義する場合は、ジョブ変数の使用の注意事項で説明されているように、すべてのファイルのソースの優先順位値が同じになります。複数のファイルのジョブ変数を再定義すると、Teradata PTでエラーとして認識されます。z/OSでは、ATTRFILEのDDNAMEによってローカル ジョブ変数ファイルを指定します。 - コマンド ラインで:ジョブ変数の指定方法として優先順位が最も高いのは、-uオプションを使用してコマンド ラインの引数として渡す方法です。
tbuild -f weekly_update.txt -u "MyTdpId = 'database1', MyUserName = 'johndoe', MyUserPassword = 'johndoe'"
コマンド ラインによるジョブ変数の指定方法の詳細については、コマンド ラインにおけるジョブ変数の割り当てを参照してください。
詳細については、ジョブ変数ファイルのセット アップを参照してください。