ジョブで遅延メソッドを使用する場合は、そのデータ内容によってLOB列を BLOB (lengthBytes) AS DEFERRED BY NAMEまたは CLOB (lengthBytes) AS DEFERRED BY NAMEとしてスキーマで定義する必要があります。
ジョブの実行中には次のイベントに注意してください。
- SQL Selectorオペレータは、遅延LOB列からデータを取得し、外部データ ファイルにそのデータを書き込みます。 これらのデータ ファイルは、LobDirectoryPath属性で指定されたディレクトリ、またはLobDirectoryPath属性を使用していない場合は現在の作業ディレクトリに一時的に置かれます。
- 1つのデータ ファイルは、1つのLOB列に対するデータを示します。
- これらのLOBデータ ファイルには、次のような定型の名前が付いています。
<file-basename>_<column-name>_<job-id>_p<#>_r<#>.<file-extension>
ここで
- <file-basename>は、LobFileBaseName属性で指定される値です。
- <column-name>は、ソース テーブルで定義される列の名前です。
- <job-id>は、tbuildコマンド ラインからのジョブ名です。
- <#>は、Teradata PTが内部で生成する整数です。
- <file-extension>は、LobFileExtension属性で指定する値です。
これらのLOBデータ ファイルのデータがターゲット テーブルに挿入されるとすぐに、LOBデータ ファイルは削除されます。
Teradata PTスクリプトのサンプルについては、<install-directory>/sample/userguideディレクトリの次のファイルを参照してください。
uguide18.txt: ある1つのTeradata DatabaseテーブルからBLOB/CLOBデータをエクスポートし、別のテーブルへロードする。