4D v16.3SET EXTERNAL DATA PATH |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
SET EXTERNAL DATA PATH
|
SET EXTERNAL DATA PATH ( aField ; path ) | ||||||||
引数 | 型 | 説明 | ||||||
aField | テキスト, BLOB, ピクチャー, Object |
![]() |
ストレージの場所を設定するフィールド | |||||
path | テキスト, 倍長整数 |
![]() |
外部ストレージのパス名およびファイル名、または 0 = ストラクチャー定義を使用する 1 = デフォルトフォルダーを使用する |
|||||
SET EXTERNAL DATA PATHコマンドはaField引数に渡したフィールドの、カレントレコードの、外部ストレージの場所を設定あるいは変更します。
4Dではテキスト、BLOB、ピクチャーおよびオブジェクト型のフィールドデータをデータファイルの外部に格納することができます。この機能に関する詳細な説明はDesign Referenceマニュアルを参照してください。
このコマンドで指定される設定は、カレントレコードがディスクに保存されるときにのみ適用されます。カレントレコードがキャンセルされると、コマンドはなにも行いません。アプリケーションストラクチャーに設定されたパラメー ターは変更されません。
pathにはカスタムパス名または自動的な場所を指定する定数いずれかを渡すことができます:
定数 | 型 | 値 | コメント |
Use default folder | 倍長整数 | 1 | 引数として渡されたフィールドのデータはdatabaseName.ExternalDataという名前のデフォルトフォルダーに保存されます。このフォルダーはデータファイルと同歳層に作成されます。このモードでは、外部データを、それがデータファイル内にあるときと同様に、4Dが管理します。 |
Use structure definition | 倍長整数 | 0 | 4Dはストラクチャーに設定されたフィールドデータの格納設定を使用します。外部ストレージから内部ストレージに変更しても、外部ファイルは削除されません。 |
一度コマンドが実行されると、4Dは自動でレコードフィールドとディスク上のファイルとのリンクを保守します。 path 引数を変更したい場合を除き、再度コマンドを実行する必要はありません。 4Dがフィールドのデータに(ストレージファイルの名前が変更された、ファイルが削除された、パスが変更された、等で)アクセスできなくなると、この フィールドは空になりますがエラーは生成されません。
注: SET EXTERNAL DATA PATHコマンドは4Dローカルモードまたは4D Serverでのみ実行できます。リモートモードの4Dではなにも行いません。
ピクチャーフィールド内の既存のファイルを、データベースのデータファイル外に相対パスを使って保存したい場合を考えます:
CREATE RECORD([Photos])
[Photos]Name:="Paris.png"
SET EXTERNAL DATA PATH([Photos]Thumbnail;Get 4D folder(Database folder)+"custom"+Folder separator+[Photos]Name)
//"/custom/Paris.png" ファイルはストラクチャーファイルのすぐ隣になければならない
SAVE RECORD([Photos])
プロダクト: 4D
テーマ: ストラクチャアクセス
番号:
1134
初出: 4D v13
変更: 4D v15
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)