Database 매뉴얼 · Chapter 2
연결 설정
DB_Sqlite 샘플은 단일 SQLite 연결 한 개로 동작합니다. 연결 정보는 두 곳에 같이 들어 있고
한 쪽이 단일 진실의 원천(SoT) 이며 다른 쪽은 동기화된 사본 입니다.
| 위치 | 역할 |
|---|---|
DB_Sqlite.xmp → "DatabaseOption" 블록 | SoT — 프로젝트가 빌드/배포될 때 함께 패키징 |
XDatabase/connections.json | DB 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 / PasswordEnc | SQLite 에선 비워둠. MSSQL 에서만 사용 |
| ConnectionTimeout | 연결 시도 타임아웃(초). 기본 15 |
| CommandTimeout | 단일 SQL 실행 타임아웃(초). 기본 30 |
| PingIntervalSec | 연결 상태 확인 주기(초). 기본 10. SQLite 에서는 영향 거의 없음 |
| ReconnectRetries | 연결 끊김 시 자동 재시도 횟수. 기본 3 |
| Description | 사람이 읽는 설명. 화면에 표시되며 동작에 영향 없음 |
옵션 (Connections 배열 바깥)
| 키 | 의미 |
|---|---|
| BackupFolder | 자동 백업 / 수동 백업 파일이 저장되는 폴더. 9장에서 다룸 |
| AutoBackupEnabled | true 면 주기적으로 백업 실행 |
| AutoBackupIntervalHours | 백업 주기(시간). 기본 24 |
| BackupKeepLast | 보관할 백업 개수. 초과분 자동 삭제 |
| JournalMode | SQLite 저널 모드. 권장값 "WAL". 9장에서 다룸 |
SQLite 와 MSSQL 의 차이 — 한 표
| 항목 | SQLite | MSSQL |
|---|---|---|
Type | "sqlite" | "mssql" |
| 필수 키 | Path | Server, Database, User, PasswordEnc |
| 비고 | 파일 1 개로 완결, 배포 단순 | 외부 서버 필요, 동시 접속 강함 |
같은 스크립트 코드(DB[...].RunSqlSelect(...))가 두 엔진 모두에서 동작합니다.
신규 연결을 등록하는 두 가지 방법
A. DB Studio (권장)
Solution Explorer
└── Data Editor Pages
└── Database
└── Database Connections[+ Add] → 위 표의 항목을 채우고 저장. connections.json 과 .xmp 의
DatabaseOption 이 함께 갱신됩니다.
B. 직접 편집
DB_Sqlite.xmp 또는 XDatabase/connections.json 을 텍스트 에디터로 열어
Connections 배열에 객체를 추가해도 됩니다. 두 파일을 같이 갱신 하지 않으면
도구마다 보이는 정보가 달라질 수 있어 주의하세요.
다음 챕터로
연결 설정이 끝나면 다음은 테이블 만들기 입니다.
샘플은 order_history 한 개의 테이블로 모든 시연을 처리합니다.