| 4D v18Compact data file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 Compact data file 
         | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Compact data file ( structurePath ; dataPath {; archiveFolder {; option {; method}}} ) -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| structurePath | テキスト |   | ストラクチャーファイルのパス名 | |||||
| dataPath | テキスト |   | 圧縮するデータファイルのパス名 | |||||
| archiveFolder | テキスト |   | 元のデータファイルを置く、フォルダーのパス名 | |||||
| option | 倍長整数 |   | 圧縮オプション | |||||
| method | テキスト |   | 4Dコールバックメソッド名 | |||||
| 戻り値 | テキスト |   | 元のデータファイルが置かれたフォルダーの完全パス名 | |||||
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ファイル) がデータファイルに関連付けられていれば、それも圧縮されます。データファイルと同様元のファイルは保存され、新しく圧縮されたファイルと置き換えられま す。
| 定数 | 型 | 値 | コメント | 
| Compact address table | 倍長整数 | 131072 | 強制的にレコードのアドレステーブルを更新します (圧縮時間は長くなります)。このオプションのみを指定すると、4Dは自動でレコードの再保存オプションを有効にします。この場合、レコード番号が更新される点に留意してください。 | 
| Create process | 倍長整数 | 32768 | このオプションが渡されると圧縮は非同期で行われ、コールバックメソッドを使用して結果を管理しなければなりません。4Dは進捗状況を表示しません (コールバックメソッドを使用して表示させることができます)。プロセスが正しく起動されるとOKシステム変数が1に設定され、他の場合は0に設定されます。このオプションが渡されない時、圧縮が行われればOK変数に1が設定され、そうでなければ0が設定されます。 | 
| Do not create log file | 倍長整数 | 16384 | 通常このコマンドはXMLフォーマットのログファイルを作成します。このオプションを使用すればログファイルは作成されません。 | 
| Timestamp log file name | 倍長整数 | 262144 | このオプションが渡された場合、生成されたログファイルの名前は作成された日時を含みます。結果として、以前に生成されていたログファイルをどれも上書きする事はありません。このオプションが渡されていなかった場合、デフォルトではログファイル名はタイムスタンプされることはなく、生成されたログファイルはそれぞれ古いものを上書きします。 | 
| Update records | 倍長整数 | 65536 | 現在のストラクチャー定義に基づき、すべてのレコードを強制的に再保存します。 | 
デフォルトで、Compact data fileコマンドはXMLフォーマットのログファイルを作成します (Do not create log fileオプションを指定しない場合。options 引数の説明を参照)。このファイルはデータベースのLogsフォルダーに作成され、名前もカレントデータベースのストラクチャーファイルに基づいたものがつけられます。例えば、“myDB.4db”という名前のストラクチャーファイルに対しては、ログファイルは“myDB_Compact_Log.xml”という名前が付けられます。
Timestamp log file nameオプションを渡していた場合、ログファイル名には"YYYY-MM-DD HH-MM-SS"という形式で作成時の日時の情報が含まれます。ファイル名は例として次のような形になりま す:“myDB_Compact_Log_2015-09-27 15-20-35.xml” これはつまりそれぞれの新しいログファイルは以前のものを置き換える事はない一方、不要なファイルを削除するためにはいくつかのファイルを手動で削除しな ければならない可能性があることを意味します。
選択されたオプションに関わらず、ログファイルが生成されるとそのファイルへのパスはコマンド実行後にDocumentシステム変数へと返されます。
以下の例題 (Windows) は、データファイルの圧縮を実行します:
 $structFile:=Structure file
 $dataFile:="C:\\Databases\\Invoices\\January\\Invoices.4dd"
 $origFile:="C:\\Databases\\Invoices\\Archives\\January\\"
 $archFolder:=Compact data file($structFile;$dataFile;$origFile)以下の例題はデータファイルを圧縮して、Compacting log file を表示します:
 $folder:=Compact data file(Structure file;Data file)
 SHOW ON DISK(File(Compacting log file).platformPath)圧縮処理が正しく終了したら、OKシステム変数に1が設定されます。そうでなければ0が設定されます。ログファイルが生成されていた場合、その完全パス名がDocumentシステム変数へと返されます。
	プロダクト: 4D
	テーマ: 4D環境
	番号: 
        937
        
        
        
	
	初出: 4D v11 SQL  
	変更: 4D v13
	変更: 4D v15 R3
	ランゲージリファレンス ( 4D v18)
	
	
	
 コメントを追加
コメントを追加