9.3. ファイルトランスレーター
タイプ名ファイルにより認識されるファイルトランスレーターは、 ファイル リソースを利用するためのストアドプロシージャーを公開します。トランスレーターは通常 TEXTTABLE 関数または XMLTABLE 関数と共に使用され、CSV または XML 形式のデータを消費します。
| 名前 | 説明 | デフォルト |
|---|---|---|
| エンコーディング | getTextFiles の手順によって返される CLOB に使用するエンコーディング。この値は、Data Virtualization に認識されるエンコーディングと一致する必要があります。詳細は、String 関数 の TO_CHARS および TO_BYTES を参照してください。 | システムのデフォルトのエンコーディング。 |
| ExceptionIfFileNotFound | 指定されたファイル/ディレクトリーが存在しない場合は、getFiles または getTextFiles で例外をスローします。 | true |
プロパティーの設定方法に関する情報は、以下の例を参照してください。また、Translators で 実行プロパティーを上書き します。
例: Virtual datbase DDL override
CREATE SERVER "file-override"
FOREIGN DATA WRAPPER file
OPTIONS(
Encoding 'ISO-8859-1', "ExceptionIfFileNotFound" false
);
CREATE SCHEMA file SERVER "file-override";
getFiles
getFiles(String pathAndPattern) returns
TABLE(file blob, filePath string, lastModified timestamp, created timestamp, size long)
指定されたパスとパターンに一致する BLOB としてすべてのファイルを取得します。
call getFiles('path/*.ext')
パスがディレクトリーである場合は、ディレクトリー内の全ファイルが返されます。パスが 1 つのファイルと一致する場合は、ファイルが返されます。
* 文字は、パス名内の任意の数の文字に一致するワイルドカードとして処理されます。ゼロまたは一致するファイルが返されます。
*' が使用されておらず、パスが存在しない場合に 'ExceptionIfFileNotFound が true の場合、例外が発生します。
getTextFiles
getTextFiles(String pathAndPattern) returns
TABLE(file clob, filePath string, lastModified timestamp, created timestamp, size long)
サイズはバイト数を報告します。
指定されたパスとパターンに一致する CLOB としてすべてのファイルを取得します。
call getTextFiles('path/*.ext')
getFiles ファイルを取得しますが、結果が文字セットとしてエンコーディングの実行プロパティーを使用する CLOB 値であることが異なります。
saveFile
CLOB、BLOB、または XML の値を指定されたパスに保存します。
call saveFile('path', value)
deleteFile
指定されたパスでファイルを削除します。
call deleteFile('path')
パスは既存のファイルを参照する必要があります。ファイルが存在しないで ExceptionIfFileNotFound が true の場合、例外が発生します。ファイルを削除できない場合も例外が発生します。
この機能は、File translator には該当しません。
この機能は、File translator には該当しません。