機能
連結機能を使用する実行環境を設定します。
連結処理において一時的に使用するファイルを格納する作業ディレクトリ、および使用するメモリサイズを指定します。
本関数は、連結条件式の結合関係式において、完全一致による連結の場合だけ指定できます。
結合関係式において、文字列の部分一致による連結の場合は、指定できません。指定するとエラーになります。結合関係式については“3.3.3 結合関係式”を参照してください。
本関数を呼び出さない場合、連結機能の一時ファイル処理は動作しません。大量のメモリを必要とする連結処理を実行した場合にメモリが不足すると、異常終了します。
記述形式
#include "libAsis.h" /* 公開ヘッダ */ int AsisSetEnvReplace( ASISHANDLE AHandle, /* ハンドル */ char *WorkFolder, /* 作業ディレクトリ名 */ int MemorySize, /* 利用メモリサイズ */ char *Reserve1, /* リザーブ(NULL) */ char *Reserve2); /* リザーブ(NULL) */ |
パラメタ
データ型 | パラメタ | 用途 | 説明 |
---|---|---|---|
ASISHANDLE | Ahandle | 出力 | ハンドルを指定します。 |
char* | 入力 | 一時ファイルを格納する作業ディレクトリを指定します。(注) | |
int | 入力 | 連結機能の一時ファイル処理を動作させる場合の、利用するメモリサイズをメガバイト(MB)で指定します。 | |
char* | Reserve1 | - | NULLを指定します。 |
char* | Reserve2 | - | NULLを指定します。 |
注) ファイル名に特殊な文字を指定した場合の扱いについては、 “パス名に指定する特殊な文字の扱い”を参照してください。
連結処理において、一時ファイルを格納する作業ディレクトリを指定します。
指定した作業ディレクトリに、以下の名前の一時ファイルが作成されます。一時ファイルは連結処理実行後に削除されます。
WorkFolderパラメタを指定して一時ファイルを利用したい場合は、MemorySizeパラメタを必ず指定してください。
パラメタの組合せについて、以下に示します。
組合せ | MemorySizeパラメタ指定あり | MemorySizeパラメタ指定なし |
---|---|---|
WorkFolderパラメタ指定あり | 連結機能の一時ファイル処理が、以下の順で動作します。 | 連結機能の一時ファイル処理は動作しません。(指定した作業ディレクトリは無効) |
WorkFolderパラメタ指定なし (省略時) | 連結機能の一時ファイル処理が、以下の順で動作します。 | 連結機能の一時ファイル処理は動作しません。 |
注1) 作成される一時ファイルの命名規約は、以下です。
一時ファイル:AsIs.[PID] [NO] |
[PID]:5桁の数字でプロセスIDを表します。
[NO]:3桁の数字です。
注2) 本パラメタを省略した場合(NULL指定時)、OSで設定されている一時ディレクトリ(/tmpディレクトリ)を利用します。
注意
WorkFolderパラメタに指定した作業ディレクトリには、全入力マスタファイルの合計サイズ以上の空き容量が必要です。
OSで設定されている一時ディレクトリが存在しない、または設定されていない場合、作業ディレクトリの指定を省略することはできません。
参考
OSによって設定されている作業ディレクトリは、他のプロセスからもアクセスされるため、アクセスが集中すると一時ファイルの読み書きが遅くなる可能性があります。
大量のデータを集計する場合など、一時ファイルを使用する可能性が高い場合は、他のプロセスから同時にアクセスされないディスクにWorkFolderパラメタを使って作業ディレクトリを指定してください。
連結機能の一時ファイル処理を動作させる場合の、利用するメモリサイズをメガバイト(MB)で指定します。
連結処理実行時、指定サイズを超えるメモリが必要となる場合、WorkFolderで指定した作業ディレクトリに、一時ファイルが作成されます。
参照
使用するメモリサイズの見積り式および設定例については、“1.3.2 連結条件ファイル”の“MemorySize”を参照してください。
注意
連結機能で利用するメモリサイズは本パラメタで指定したサイズに加え、データ加工用にメモリを使用します。
本パラメタに指定したサイズが、実行する環境の物理メモリサイズよりも大きい場合、実行する環境の物理メモリサイズが設定されます。このときAsisSetEnvReplace関数はエラーで復帰し、エラーレベル「警告」が設定されます。
復帰値
復帰値 | 説明 |
---|---|
ASIS_SUCCESS | 関数が正常に終了したことを示します。 |
ASIS_ERROR | 関数の実行時に問題が検出されたことを示します。 |