このページでは4Dデータベースが使用するデータストレージに関する設定を行います。
- ストラクチャーファイルが読み込みのみのときに警告を表示しない: ストラクチャーファイルが読み込みのみモードのデータベースを開く際、4Dはその旨を通知するダイアログを表示します。そのデータベースを開いた場合、ストラクチャーに対する変更は保存されません。
CD-ROMで配布されるデータベースなど、特定のケースではこの警告を表示させたくない場合があります。その場合このオプションをチェックしてください。 - 読み込みのみのデータファイルの使用を許可する: このオプションを使用すると、OSレベルでロックされているデータファイルをアプリケーションから開けるようになります。
4Dはロックされたデータファイルを開かないようにする自動的なメカニズムを実装しています。データファイルがロックされていると、4Dはデータベースを開かず、以下のような警告メッセージを表示します:
![](../../picture/460216/pict460216.en.png)
このオプションを選択しないかぎり、ロックされたデータファイルを開くことはできません (4Dデータベースのデフォルト動作)。
ロックされたファイルについて: ロックされたファイルは読むことはできても内容を変更することはできません。例えば (DVDのような) 編集不可のメディアに格納されたファイルや、このようなメディアからコピーされたファイルは、ロックされていることがあります。DVDに格納されたデータベースを使用するような場合、ロックされたデータファイルを使用できるようアプリケーションを設定することができます。
しかしこの場合、データを追加したり変更したりできない点に注意してください。不注意にこのような状況にならないよう、4Dではデフォルトでロックさrたデータファイルを開くことを禁止しています。
このエリアでは、4D実行中に作成されるテンポラリファイルの場所を設定できます。テンポラリファイルフォルダーは必要に応じて、一時的にメモリ中のデータをディスクに保存するためにアプリケーションが使用します。
現在のフォルダーの場所は“現在:”エリアに表示されます。このエリアをクリックするとパス名がスクロールダウンリスト形式で表示されます:
![](../../picture/460231/pict460231.en.png)
3つのオプションが提供されます:
- システム: このオプションが選択されると、4DテンポラリファイルはOSが指定する場所に配置されたフォルダーに作成されます。使用するシステムが指定する場所はTemporary folderコマンドで知ることができます。ファイルはデータベース名とユニークな識別子からなるサブフォルダーに置かれます。
- データファイルフォルダー (デフォルト): このオプションが選択されると、4Dテンポラリファイルはデータベースのデータファイルと同階層に配置される“temporary files”フォルダーに作成されます。
- ユーザー指定: このオプションは場所をカスタマイズするために使用します。
場所のオプションを変更したら、設定を有効にするためにアプリケーションを再起動する必要があります。4Dは選択されたフォルダーに書き込みアクセス権があるかを確認します。アクセス権がなければ、4Dは使用できるフォルダーが見つかるまで他のオプションを試します。
注: このオプションは、ストラクチャー定義がXML形式で書き出されたとき、ストラクチャーの“extra properties”に格納されます (
ストラクチャー定義の書き出しと読み込み参照)。
これらのオプションのいずれかを変更した場合、新しい設定を有効にするためにアプリケーションを終了し、再起動しなければなりません。データベースが再び開かれると、すべてのインデックスが自動で再作成されます。
- @がテキストパターンの最初または最後にある場合のみ、ワイルドカードとして扱う: クエリ条件や文字列比較の際に"@"をどのように解釈するかを設定します。
このオプションが選択されていない場合 (デフォルト設定)、@はワイルドカードとして扱われ、あらゆる文字の代わりとみなされます (ワイルドカード記号 (@)参照)。
このオプションが選択されている場合、@が単語中にある場合に普通の文字として扱われます。この設定は電子メールアドレスの検索などに有効です。このオプションは検索、並び替え、文字列比較、およびテーブルに格納されるデータや配列などメモリ中のデータに影響を与えます。(インデックス付きか否かにかかわらず) 文字型やテキスト型のフィールドおよび変数が、検索や並び替え時に@文字がどのように解釈されるかの影響を受けます。
注:
- 検索の場合、@が条件の先頭か最後にある場合、"@"がワイルドカードとして扱われることに注意することが重要です。単語の中に"@"文字がある場合のみ (例: bill@cgi.com)、4Dは異なった扱いをします。
- このオプションはobject引数に"@"ワイルドキャラクターを受け入れるオブジェクト(フォーム)テーマのコマンドの動作にも影響を与えます。
- セキュリティの理由で、データベースのAdministratorまたはDesignerのみがこのパラメターを変更できます。
- 現在のデータ言語: 文字列の処理と比較に使用する言語を設定します。言語の選択は直接的にテキストの検索や並び替え、および文字種の判定に影響を与えます。しかし翻訳テキストや日付、時間、通貨単位などには影響を与えず、システム言語が使用されます。デフォルトで4Dはシステム言語を使用します。
この設定を変更することで4Dデータベースはシステム言語とは異なる言語で動作することができます。データベースが開かれると、4Dエンジンはデータファイルが使用する言語を検知し、ランゲージに通知します (インタープリターおよびコンパイルモード)。データベースエンジンあるいはランゲージいずれで実行されるにしても、テキスト比較は同じ言語で実行されます。
注: 4D環境設定でも言語を設定できます (一般ページ参照)。この場合その設定は新規に作成されるデータベースに適用されます。 - 非文字・非数字のみをキーワード区切り文字とする: 4Dが使用するキーワード区切り文字の設定を変更し、その結果、作成されるキーワードインデックスに影響を与えます。このオプションが選択されていない場合、4Dは言語上の特質を考慮する洗練されたアルゴリズムを使用します。このアルゴリズムは、文字列中をダブルクリックされたときに選択範囲を決定するためワープロソフトが使用するものと同じです。このアルゴリズムに関する詳細は以下のWebページを参照してください: http://userguide.icu-project.org/boundaryanalysis
このオプションが選択されている場合、4Dは簡易的なアルゴリズムを使用します。この設定では文字でも数字でもない文字がキーワード区切り文字として扱われます。この設定は日本語など特定の言語の要求に沿うものです。 - 旧バージョン互換の文字列比較を使用する: このオプションはデータ言語に日本語が選択されている場合にのみ表示され、4Dが文字列比較の際に使用するアルゴリズムのパラメターを変更するために使用されます。この設定は文字列の検索や並び替え、および文字列の比較に影響します。
このオプションが選択されない場合、デフォルトのパラメターを使用した文字列比較アルゴリズムが使用されます。結果、例えば長音記号は直前の文字の繰り返し文字として解釈されます。直前に文字がない場合は記号として解釈されます。これはUnicodeのデフォルト設定ですが、4D2004以前とは異なる動作です。
このオプションを選択することで、検索や並び替え、文字列比較の結果が4D2004と同じになります。例えば長音記号は直前に文字があるかないかにかかわらず、常に記号として扱われます。
このオプションはICUのコレーションオプションの"Traditional Sorting Order"に対応します。
日本語版の4Dでは、 Mecab ライブラリーがサポートされており、日本語用に調整されたキーワードのインデックスアルゴリズムを兼ね備えています。
v14以降の日本語版の4Dではこの新しいアルゴリズムがデフォルトで使用されています。Mecab ライブラリーを使用するために必要なファイルは全て4Dアプリケーションの Resources フォルダ内の mecab フォルダー内にインストールされています(日本語版のみ)。
必要であれば Mecab アルゴリズムを無効にして、以前と同じ ICU ライブラリーを使用することもできます。
Mecab を無効化するためには、データベース設定内の非文字・非数字のみをキーワード区切り文字とするのオプションにチェックを入れるだけです:
![](../../picture/1334022/pict1334022.en.png)
注:日本語版4Dの、 Resources/mecab folderフォルダを削除または改名することによっても Mecab を無効化することができます。