4D v16.3データをデータファイル外に保存 |
|||||||||||||||||||||||||||||||||||
|
4D v16.3
データをデータファイル外に保存
データをデータファイル外に保存
BLOB、ピクチャー、テキストフィールドごとにデータの保存先を指定することができます。既存の保存オプション(レコード内、またはレコード外)に加え、データファイル外への保存を選択できます。この場合データはディスク上の外部ファイルとして保存されます。外部ファイルはサードパーティアプリケーションで変更することができますが、この場合データ整合性は開発者が管理しなければなりません。 この動作はユーザーに対し透過的です。データの場所に関わらず、データへのアクセスは同じです。 ファイルの外に保存できることで、アプリケーションの動作を最適化することができます。例えば大量のデータを外部に保存できればその分データファイルのサイズを減らすことができます。またデータベースが開かれていないときでも OS からそれらのファイルにアクセスすることができます。 データファイル外部への保存は 2 つのモードで実行できます :
以下の表では自動およびカスタムモードの機能を比較します:
データファイルの外に保存されたデータは以下の原則に基づき整理されます:
自動モードでは、フィールドの外部ファイルへの記録はレコードがディスクに保存される際に行われます (必要であればトランザクションが有効にされた後):
カスタムモード(パスはSET EXTERNAL DATA PATH コマンドで定義)では、レコードがディスクへと保存された際に、4Dはファイルのパス名のみを保存します。ファイルの管理(作成と編集)はデベロッパ自身の手によって行われる必要があります。 データの格納場所は各データベースごとのローカルパラメーターです。データの同期や複製を行う場合、 これらのパラメーターはローカルデータベースとリモートのそれとでは異なるかもしれません。 この場合データの格納は各データベースのパラメーターに従います。 同期や複製は設定を変更しません。 例えばリモートデータベースにおいてピクチャーフィールドが外部ファイルとして保存され、同じフィールドがローカルデータベースではデータファイル内に保存されている場合、複製が行われると、ローカルデータベースのこのフィールドに追加されたすべての (データファイル内の) データは、リモートデータベースのデータファイル外に保存されます。 外部に格納されたファイルは 4D 以外のアプリケーション (OS、テキストやグラフィックエディター等 ) から読み書きモードでアクセスできます。しかしこれはアプリケーションの動作を変更してしまうかもしれないので、注意して行わなければなりません:
注: 外部テキストファイルは BOM なしの UTF-8 で保存されます。サードパーティアプリケーションでそのファイルを開き、BOM 付きで保存された場合、そのファイルを 4D で開くことはできますが、保存の際に BOMは失われます。 "読み込みのみ" モードでレコードをロードしても、このレコードの対象フィールドの外部ファイルはロックされません。ディスクファイルはその内容が 4D のメモリに読み込まれていますが、4D やその他のアプリケーションを使用して編集が可能です。
|
プロパティ
プロダクト: 4D
履歴
初出: 4D v13 ARTICLE USAGE
デザインリファレンス ( 4D v16) |
|||||||||||||||||||||||||||||||||