Database 매뉴얼 · Chapter 2

연결 설정

DB_Sqlite 샘플은 단일 SQLite 연결 한 개로 동작합니다. 연결 정보는 두 곳에 같이 들어 있고 한 쪽이 단일 진실의 원천(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사람이 읽는 설명. 화면에 표시되며 동작에 영향 없음

옵션 (Connections 배열 바깥)

의미
BackupFolder자동 백업 / 수동 백업 파일이 저장되는 폴더. 9장에서 다룸
AutoBackupEnabledtrue 면 주기적으로 백업 실행
AutoBackupIntervalHours백업 주기(시간). 기본 24
BackupKeepLast보관할 백업 개수. 초과분 자동 삭제
JournalModeSQLite 저널 모드. 권장값 "WAL". 9장에서 다룸

SQLite 와 MSSQL 의 차이 — 한 표

항목SQLiteMSSQL
Type"sqlite""mssql"
필수 키PathServer, Database, User, PasswordEnc
비고파일 1 개로 완결, 배포 단순외부 서버 필요, 동시 접속 강함

같은 스크립트 코드(DB[...].RunSqlSelect(...))가 두 엔진 모두에서 동작합니다.

신규 연결을 등록하는 두 가지 방법

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 한 개의 테이블로 모든 시연을 처리합니다.