INIや設定: データベース設定/特性/オプション

オプションデータベース特性のオプションラベルについて。

Pervasive.SQLを使うときは、図のような設定がデフォルトかと思います。
OracleやMS_SQL_Serverでは若干異なります。
(Magicロックが「N=なし」になっている等。)
通常は、デフォルト設定で特に支障は無いと思いますが、意味を知っておくのも悪くないでしょう。

ここで、個人的に一番重要だと思うのは「開発モードでのテーブル変換」です。
これが「True」のときは、テーブルリポジトリでの変更が物理テーブルにも影響します。

具体的には、Magicのテーブルリポジトリでカラム(項目)やインデックス(キー)を追加したり、 変更したりすると、「変更しますか」という確認画面が表示され、 「はい」で進めるとデータベース内の物理テーブルを自動変更してくれるという機能が有効になります。
また、テーブルリポジトリで削除(F3)を実行すると物理テーブルも削除されます。
テーブル定義だけ削除するつもりで押したF3によって実データも消えてしまった、というケースのことです。

逆に、「開発モードでのテーブル変換」が「False」であれば、テーブルリポジトリで削除キー(F3)を押しても、 実データが消される心配は無い、ということです。
これは、使うデータベースがPervasiveでもOracleでもMS_SQL_Serverでも共通の動作になります。
デフォルトは「True」なので、注意が必要です。
但し、データベースの権限として、Magic開発者にテーブル削除の権限が与えられていなければ、 Magicの設定が何であってもテーブルを削除することはありません。

「定義チェック」は、Magicのテーブルリポジトリでの設定とデータベースの物理テーブルの設定が一致しているかをチェックする機能です。
しかし、OracleやMS_SQL_Serverでは機能していないようです。
カラム名が合っていれば、型や桁数が異なっていてもエラーにならないようです。

「インデックスチェック」もOracleやMS_SQL_Serverでは機能しませんが、ここは無効なデータベースの場合、初めからグレーになっています。
OracleやMS_SQL_Serverで、ユニークインデックスの重複チェックを項目単位で検出したいときは、SQLタブの設定を使います。
データベース設定/特性/SQLを参照してください。

「Magicロック」は、mglock.datでテーブルロックやレコードロックを監視させる設定です。
OracleやMS_SQL_Serverではデフォルトが「N=なし」になりますが、DBMSのロック機能にMagicも従っているので、 「N=なし」のままで特に問題無いと思います。
しかし、使い道が無いわけではありません。
遅延トランザクションを使うときのロック制御として、Magicロックを使いたいときがあります。
但し、遅延トランザクションは難しいので、実際には、あまり用いられていないようですが。

「ロックパス」は、上記のようにOracleやMS_SQL_ServerでMagicロックを使いたいときに、 mglock.datを作成するフォルダを指定します。
通常は、サーバ上の共有フォルダを使うことが多いかと思います。
例:\\Server1\Magic\

「共通データ辞書」は使ったことがありません。