Updateオペレータの必須および任意の属性値を宣言するためには、Teradata PTのDEFINE OPERATOR文で属性定義リスト構文を使用します。
構文規則:
構文要素 | 説明 |
---|---|
AddBOMToFile = ‘option’ | XML、JSON、またはCLOBのデータ ファイルの先頭にUTFバイト オーダー マーク(BOM)を追加するかどうかを指定する任意選択の属性。 有効な値は次のとおりです。
AddBOMToFileは、次の2つの条件が満たされている場合にのみ使用できます。 ジョブ スキーマに、AS DEFERRED BY NAMEで定義されているXML、JSON、またはCLOBの列が1列以上ある。 ロード ジョブのクライアント文字セットが、Unicode文字セットである。 この2つの条件が満たされていないと、この属性で指定した値は無視されます。 このオペレータは、遅延モードでBLOB列から抽出されたデータ ファイルにはBOMを追加しません。
|
ConnectString = 'connectString' | データ ソースに接続するための代替方法を指定する任意の属性。 指定されている場合、この属性の設定は、DSNname、UserName、およびUserPassword属性の設定に取って代わります。 この文字列には、使用するODBCドライバに適した有効な接続またはドライバに関する情報を含めることができます。 この属性での設定は、ODBC初期化ファイルのデフォルト設定を上書きします。 |
DataBlockSize = KBytes | ODBCオペレータのパフォーマンスを微調整できる任意選択の属性。この調整は、単一の取得呼び出しで複数の行を保持するバッファのデータ ブロック サイズを動的に調整することで行ないます。 行のサイズにより、このデータ ブロックに取り込める行数が変化します。 属性の制限事項については、DataBlockSizeを参照してください。 |
DriverManagerName = 'DriverManagerName' | ODBCドライバ マネージャ名のフルパスを指定するオプションの属性です。 DriverManagerName属性が使用されない場合は、Teradata Parallel Transporterにバンドルされているデフォルトのドライバ マネージャを使用します。
DriverManagerName属性は、z/OSとWindowsではサポートされません。Windowsでは、ODBCオペレータはWindowsのデフォルトのドライバ マネージャを使用します。
|
DSNname = 'dsnName' | データ ソース名を指定する任意の属性。 使用できるのは、システム データ ソース名のみです。 ユーザー データ ソース名は機能しません。 この名前は、ODBC初期化ファイルにも入力され、そのファイルで接続情報を提供するラベルとして使用できます。 この属性での設定は、ODBC初期化ファイルのデフォルト設定をオーバーライドします。 ConnectString 属性は、この設定をオーバーライドします。 |
LobDirectoryPath = ‘pathName’ | すべてのLOB、JSON、およびXMLのデータ ファイルが書き込まれる既存のディレクトリの完全なパス名を指定する任意の属性。 |
LobFileBaseName = ‘fileName’ | LOB、JSON、およびXMLのデータ ファイルの名前の先頭に付加される文字列を定義する任意選択の属性。ODBCオペレータで作成されるファイル名の形式は以下のとおりです。<column-name>_c<#>_<job-id>_p<#>_r<#>
説明
列名は、Windowsファイル名に対して無効と見なされる文字をアンダースコア'_'に置き換えるためにサニタイズされます。置き換えられる9文字は次のとおりです。 \ / : * ? " < > |
一貫性を保つために、UNIXプラットフォームでも置き換えが行われます。生成されたファイル名の一意性を確保するために、'_c<#>'が追加されています。 例えば、以下のスキーマがあるとします。 DEFINE SCHEMA <schema-name> (
COL2 BLOB AS DEFERRED BY NAME,
COL3 CLOB AS DEFERRED BY NAME,
COL4 XML AS DEFERRED BY NAME,
COL5 JSON(1000000) AS DEFERRED BY NAME,
);
LobFileBaseNameの値が"my_test"であれば、ファイル名は次のようになります。
以下同様に続きます。 作成されたファイルには、LobFileExtension属性で指定されている場合を除き、拡張子はありません。 |
LobFileExtension = ‘fileExtension’ | LOB、JSON、およびXMLのデータ ファイル名の拡張子を指定する任意選択の属性。 'fileExtension'の例を以下に示します。
|
OutLimit = maxRecords | オペレータの各インスタンスで処理される最大レコード数を指定する任意選択の属性。 INTEGER OutLimit = 1000 指定する場合、OutLimit値は1以上である必要があります。 OutLimitを指定しない場合、処理レコード数に制限はありません。 OutLimitを指定すると、制限がジョブ全体ではなく、エクスポート オペレータの各インスタンスに適用されます。 |
PrivateLogName = 'logName' | Teradata PT Loggerによってパブリック ログ内部に保持されるログの名前を指定する任意の属性。 プライベート ログには、オペレータによる出力がすべて記録されます。 プライベート ログは、tlogviewコマンドを次のように使用すると表示できます。ここで、jobidはTeradata PTのジョブ名を、privatelognameはオペレータのPrivateLogName属性の値を示します。 tlogview -j jobid -f privatelogname プライベート ログを指定しない場合、出力はすべてパブリック ログに格納されます。 tlogviewコマンドの詳細については、Teradata PTユーティリティのコマンドを参照してください。 |
SelectStmt = 'SELECT statements;' | ODBC準拠のデータ ソースに送信されるSQL SELECT文を指定する必須の属性。 結果テーブルとして行データが返されます。 オペレータは、ステートメントの正当性を確認するための構文解析を実行しません。 ステートメントは、どのようなタイプの処理も実行されず、そのまま送られます。 SELECT文には、その構文がODBCオペレータと接続するデーターベースによってサポートされているあらゆるSQL SELECT文を使用できます。 すべてのデータベースが複文のSELECTをサポートするとは限りません。異なるデータ ソースは異なる構文をサポートしているため、指定したODBC準拠のデータ ソースのSQLリファレンスを参照して、SelectStmt属性に対して有効なSQL SELECT文のみを入力します。 |
TraceLevel = 'level' | オペレータの各インスタンスによってパブリック ログ(PrivateLogName属性で指定されている場合はプライベート ログ)に書き込まれる診断メッセージの種類を指定する任意選択の属性。診断トレース機能は、ログ ファイルで詳細な情報を提供するため、問題の追跡や診断に役立ちます。 有効なトレース レベルは次のいずれかです。
VARCHAR ARRAYを使用すると、複数の値を指定できます。以下に例を示します。 VARCHAR TraceLevel = 'PX' VARCHAR TraceLevel = 'OPER' VARCHAR ARRAY TraceLevel = [ 'PX' ] VARCHAR ARRAY TraceLevel = [ 'PX', 'OPER' ] TraceLevel属性は、診断を支援するためにのみ指定します。 この属性によって得られる追加情報の量と種類は、ニーズの変化に合わせてリリースごとに変わります。
|
TruncateData = 'option' | データ ソースから受け取ったデータを、Teradataの列型に合うように切り捨てるかどうかを指定する属性。 Teradata以外のデータベース(Oracle、DB2など)がTeradataの列型を使用しない場合があるため、この属性は必須です。 例えば、DB2の列型LONGはVARCHAR列に相当しますが、その最大サイズは2MBです。 Teradataの最大列サイズは1MBです。 データはこの列から抽出できます(サイズが2MBとして定義されているからといって、実際のデータがその大きさであるとは限りません)。ただし、実際のデータが1MBを超過する場合は、そのデータを切り捨てるのか、またはエラーとしてジョブを中止するのかをODBCオペレータに知らせる必要があります。 値は次のいずれかです。
|
UserName = 'userId' | データ ソースに含まれるアカウントまたはデータベースのユーザー名を指定する任意の属性。 この属性を指定しない場合、ODBCドライバは初期化ファイル内を検索してユーザー名情報を取得します。 この属性での設定は、ODBC初期化ファイルのデフォルト設定をオーバーライドします。 ConnectString 属性は、この設定をオーバーライドします。 |
UserPassword = 'password' | データ ソースに含まれるアカウントまたはデータベースのUserNameに関連するパスワードを指定する任意の属性。 この属性を指定しない場合、ODBCドライバはODBC初期化ファイル内を検索してユーザー パスワード情報を取得します。 この属性での設定は、ODBC初期化ファイルのデフォルト設定をオーバーライドします。 ConnectString属性は、この設定をオーバーライドします。 |