4D v14.3

Compact data file

ホーム

 
4D v14.3
Compact data file

Compact data file 


 

Compact data file ( structurePath ; dataPath {; archiveFolder {; option {; method}}} ) -> 戻り値 
引数   説明
structurePath  テキスト in ストラクチャファイルのパス名
dataPath  テキスト in 圧縮するデータファイルのパス名
archiveFolder  テキスト in オリジナルのデータファイルを置く、フォルダのパス名
option  倍長整数 in 圧縮オプション
method  テキスト in 4Dコールバックメソッド名
戻り値  テキスト in 元のデータファイルが置かれたフォルダの完全パス名

説明   

Compact data fileコマンドは、ストラクチャーstructurePathに関連付けられている、dataPath 引数で指定されたデータファイルを圧縮します。圧縮に関する詳細は4D Design Referenceマニュアルを参照してください。

データベースの操作の継続を確かなものにするため、圧縮された新しいデータファイルが自動で元のファイルと置き換えられます。安全のため、元のファイルは変更されず、“Replaced files (compacting) YYYY-MM-DD HH-MM-SS”という特別なフォルダに移動されます。YYYY-MM-DD HH-MM-SSはバックアップが行われた日付と時刻を表します。例えば“Replaced files (compacting) 2007-09-27 15-20-35”のようになります。

コマンドは、元のデータファイルを格納するために作成されたフォルダの、実際の完全なパス名を返します。このコマンドはローカルモードの4D、または4D Serverのストアドプロシージャでのみ実行できます。圧縮するデータファイルは、structurePathで指定するストラクチャファイルに対応するものでなければなりません。さらにコマンド実行時にデータファイルが開かれていてはなりません。そうでなければエラーが生成されます。
圧縮処理中にエラーが発生した場合、元のファイルが最初の場所に保持されます。インデックスファイル (.4DIndxファイル) がデータファイルに関連付けられていれば、それも圧縮されます。データファイルと同様元のファイルは保存され、新しく圧縮されたファイルと置き換えられます。

  • structurePath 引数には、圧縮するデータファイルに関連付けられたストラクチャファイルの完全パス名を渡します。この情報は圧縮プロシージャのために必要です。パス名はOSのシンタックスで表現されなければなりません。なお空の文字列を渡すと、標準のファイルを開くダイアログボックスが表示され、使用するストラクチャファイルを選択させることができます。
  • dataPath 引数には、空の文字列、ファイル名、またはOSのシンタックスで表現された完全パス名を渡すことができます。空の文字列を渡すと、標準のファイルを開くダイアログボックスが表示され、圧縮するデータファイルを選択させることができます。このファイルはstructurePath 引数で指定されたストラクチャファイルに対応するものでなければなりません。データファイル名のみを渡すと、4Dはストラクチャファイルと同階層でデータファイルを探します。
  • オプションのarchiveFolder 引数を使用して、元のデータファイルとインデックスファイルを保存する“Replaced files (compacting) DateTime”フォルダの場所を指定できます。
    このコマンドは、実際に作成されたこのフォルダのパス名を返します。
    - この引数を省略すると、元のファイルは自動で、ストラクチャファイルと同階層に作成される“Replaced files (compacting) DateTime”フォルダに置かれます。
    - 空の文字列を渡すと、標準のフォルダを開くダイアログが表示され、ユーザは作成するフォルダの場所を選択できます。
    - OSのシンタックスを使用してパス名を指定すると、コマンドは指定された場所に“Replaced files (compacting) DateTime”フォルダを作成します。
  • オプションのoptions 引数を使用して、さまざまな圧縮オプションを指定できます。これを行うにはData File Maintenanceテーマの以下の定数を使用してください。加算することで複数のオプションを指定できます:
    定数 コメント
    Compact address table 倍長整数 131072 強制的にレコードのアドレステーブルを更新します (圧縮時間は長くなります)。このオプションのみを指定すると、4Dは自動でレコードの再保存オプションを有効にします。この場合、レコード番号が更新される点に留意してください。
    Create process 倍長整数 32768 このオプションが渡されると圧縮は非同期で行われ、コールバックメソッドを使用して結果を管理しなければなりません。4Dは進捗状況を表示しません (コールバックメソッドを使用して表示させることができます)。プロセスが正しく起動されるとOKシステム変数が1に設定され、他の場合は0に設定されます。このオプションが渡されない時、圧縮が行われればOK変数に1が設定され、そうでなければ0が設定されます。
    Do not create log file 倍長整数 16384 通常このコマンドはXMLフォーマットのログファイルを作成します。このオプションを使用すればログファイルは作成されません。
    Update records 倍長整数 65536 現在のストラクチャー定義に基づき、すべてのレコードを強制的に再保存します。
  • method 引数は、Create processオプションを渡したときに、圧縮中定期的に呼び出されるコールバックメソッドを指定するために使用します。このオプションが指定されていなければ、コールバックメソッドが呼び出されることはありません。このメソッドに関する詳細は、VERIFY DATA FILEコマンドの説明を参照してください。
    コールバックメソッドがデータベースに存在しない場合、エラーが生成され、OKシステム変数に0が設定されます。

デフォルトで、Compact data fileコマンドはXMLフォーマットのログファイルを作成します (Do not create log fileオプションを指定しない場合。options 引数の説明を参照)。名称はデータファイルに基づき、元のデータファイルと同じ階層に作成されます。例えば、データファイルの名称が“data.4dd,”であるとき、ログファイルの名称は“data_compact_log.xml”となります。

例題  

以下の例題 (Windows) は、データファイルの圧縮を実行します:

 $structFile:=Structure file
 $dataFile:="C:\Databases\Invoices\January\Invoices.4dd"
 $origFile:="C:\Databases\Invoices\Archives\January\"
 $archFolder:=Compact data file($structFile;$dataFile;$origFile)

圧縮処理が正しく終了したら、OKシステム変数に1が設定されます。そうでなければ0が設定されます。

 
プロパティ 

プロダクト: 4D
テーマ: 4D環境
番号: 937

このコマンドはOKシステム変数を更新します

 
履歴 

初出: 4D v11 SQL
変更: 4D v13

 
参照 

Get table fragmentation
VERIFY DATA FILE

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v14 R2)
ランゲージリファレンス ( 4D v14 R3)
ランゲージリファレンス ( 4D v13.5)
ランゲージリファレンス ( 4D v14.3)
ランゲージリファレンス ( 4D v14 R4)

Inherited from : Compact data file ( 4D v11 SQL Release 6)