Database マニュアル · Chapter 2

接続設定

DB_Sqlite サンプルは単一 SQLite 接続ひとつで動作します。接続情報は 2 箇所に併存し、片方が単一の真実(SoT)、もう片方が同期されたコピー です。

場所役割
DB_Sqlite.xmp → "DatabaseOption" ブロックSoT — プロジェクトのビルド / デプロイ時に同梱
XDatabase/connections.jsonDB Studio が参照する同期コピー — ツールで編集すると自動更新

スクリプト(Data.xms 等)からは DB["local"] の一行でこの接続にアクセスします。

サンプルの実設定

DB_Sqlite.xmp から抜粋した DatabaseOption ブロックです。

"DatabaseOption": {
  "Connections": [
    {
      "Name": "local",
      "Type": "sqlite",
      "Path": "XDatabase/LocalDB.db",
      "Server": "",
      "Database": "",
      "User": "",
      "PasswordEnc": "",
      "ConnectionTimeout": 15,
      "CommandTimeout": 30,
      "PingIntervalSec": 10,
      "ReconnectRetries": 3,
      "Description": "テスト用 db"
    }
  ],
  "BackupFolder": "XDatabase/Backup",
  "AutoBackupEnabled": false,
  "AutoBackupIntervalHours": 24,
  "BackupKeepLast": 30,
  "JournalMode": "WAL"
}

connections.json も同じ内容を持ち、DB Studio の GUI で編集すると両方が同時に更新されます。

項目詳細

接続本体

キー値 / 意味
Name"local" — スクリプトで DB["local"] として参照する識別子。英小文字推奨
Type"sqlite"(代替: "mssql")
Path"XDatabase/LocalDB.db" — SQLite ファイルパス(プロジェクトルート相対)
Server / Database / User / PasswordEncSQLite では空。MSSQL のみ使用
ConnectionTimeout接続試行タイムアウト(秒)。既定 15
CommandTimeout単一 SQL 実行タイムアウト(秒)。既定 30
PingIntervalSec接続状態確認周期(秒)。既定 10。SQLite ではほぼ影響なし
ReconnectRetries切断時の自動再試行回数。既定 3
Description人が読む説明。UI に表示され動作には影響なし

オプション(Connections 配列の外)

キー意味
BackupFolder自動 / 手動バックアップファイルの保存フォルダ。第 9 章で扱う
AutoBackupEnabledtrue で定期バックアップを実行
AutoBackupIntervalHoursバックアップ周期(時間)。既定 24
BackupKeepLast保持するバックアップ数。超過分は自動削除
JournalModeSQLite ジャーナルモード。推奨 "WAL"。第 9 章で扱う

SQLite と MSSQL の違い — 一覧

項目SQLiteMSSQL
Type"sqlite""mssql"
必須キーPathServer, Database, User, PasswordEnc
備考単一ファイルで完結、デプロイ簡単外部サーバ必要、同時アクセスに強い

同じスクリプトコード(DB[...].RunSqlSelect(...))が両エンジンで動作します。

新規接続を登録する 2 つの方法

A. DB Studio(推奨)

Solution Explorer
└── Data Editor Pages
    └── Database
        └── Database Connections

[+ Add] → 上記表の項目を埋めて保存。connections.json.xmpDatabaseOption が同時更新されます。

B. 直接編集

DB_Sqlite.xmp または XDatabase/connections.json をテキストエディタで開き、Connections 配列にオブジェクトを追加することもできます。両方のファイルを一緒に更新 しないと、ツールごとに見える情報が異なってしまうので注意してください。

次の章へ

接続設定が終わったら、次はテーブル作成です。サンプルは order_history の 1 テーブルで全デモを行います。