Skip to content

Commit 3e1acb5

Browse files
committed
DB접속 체크 기능 추가
1 parent 5fbe6a3 commit 3e1acb5

File tree

3 files changed

+537
-4
lines changed

3 files changed

+537
-4
lines changed

README.md

Lines changed: 140 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
- 다양한 SQL 쿼리 결과를 여러 시트로 엑셀 파일로 저장하는 Node.js CLI 도구
55
- 멀티 DB 지원, 쿼리/엑셀/시트별 다양한 옵션 지원
66
- XML/JSON 쿼리 정의 파일 지원
7+
- 데이터베이스 연결 테스트 및 검증 기능
78

89
---
910

@@ -14,7 +15,41 @@
1415
```bash
1516
npm install
1617
```
17-
3. DB 접속정보 설정: `resources/config.json` 참고
18+
3. DB 접속정보 설정: `config/dbinfo.json` 파일 설정
19+
20+
### 새로운 CLI 명령어
21+
22+
v1.1부터 새로운 CLI 인터페이스가 추가되었습니다:
23+
24+
```bash
25+
# 엑셀 파일 생성
26+
node src/excel-cli.js export --xml ./queries/sample-queries.xml
27+
28+
# 쿼리 파일 검증
29+
node src/excel-cli.js validate --xml ./queries/sample-queries.xml
30+
31+
# 데이터베이스 연결 테스트
32+
node src/excel-cli.js list-dbs
33+
34+
# 도움말
35+
node src/excel-cli.js help
36+
```
37+
38+
### NPM 스크립트
39+
40+
```bash
41+
# 엑셀 내보내기
42+
npm run export -- --xml ./queries/sample-queries.xml
43+
44+
# 쿼리 파일 검증
45+
npm run validate -- --xml ./queries/sample-queries.xml
46+
47+
# DB 연결 테스트
48+
npm run list-dbs
49+
50+
# 도움말
51+
npm run help
52+
```
1853

1954
---
2055

@@ -547,5 +582,108 @@ build-release.bat
547582

548583
---
549584

550-
## 8. 문의/기여
585+
## 8. CLI 명령어 참조
586+
587+
### 1. 데이터베이스 연결 테스트
588+
589+
```bash
590+
# 모든 설정된 데이터베이스 연결 테스트
591+
node src/excel-cli.js list-dbs
592+
593+
# 또는 NPM 스크립트 사용
594+
npm run list-dbs
595+
```
596+
597+
**출력 예시:**
598+
```
599+
📋 데이터베이스 연결 테스트 시작
600+
601+
총 2개 데이터베이스 연결 테스트:
602+
603+
sampleDB: ✅ 연결 성공
604+
erpDB: ❌ 연결 실패 - ConnectionError: Failed to connect to localhost:1433
605+
606+
================================================================================
607+
📊 연결 테스트 결과 요약
608+
================================================================================
609+
총 데이터베이스: 2개
610+
연결 성공: 1개
611+
연결 실패: 1개
612+
613+
❌ 연결 실패한 데이터베이스:
614+
- erpDB: ConnectionError: Failed to connect to localhost:1433
615+
616+
✅ 연결 성공한 데이터베이스:
617+
- sampleDB: localhost/SampleDB:1433
618+
```
619+
620+
### 2. 쿼리 파일 검증
621+
622+
```bash
623+
# XML 쿼리 파일 검증
624+
node src/excel-cli.js validate --xml ./queries/sample-queries.xml
625+
626+
# JSON 쿼리 파일 검증
627+
node src/excel-cli.js validate --query ./queries/sample-queries.json
628+
629+
# NPM 스크립트 사용
630+
npm run validate -- --xml ./queries/sample-queries.xml
631+
```
632+
633+
**출력 예시:**
634+
```
635+
📋 쿼리 파일 검증 시작
636+
637+
파일 경로: ./queries/sample-queries.xml
638+
파일 형식: XML
639+
✅ 파일 존재 확인
640+
✅ XML 형식 검증
641+
시트 개수: 3개
642+
✅ 데이터베이스 설정 로드
643+
설정된 DB 개수: 2개
644+
645+
✅ 모든 검증이 완료되었습니다.
646+
```
647+
648+
### 3. 엑셀 파일 생성
649+
650+
```bash
651+
# XML 파일로 엑셀 생성
652+
node src/excel-cli.js export --xml ./queries/sample-queries.xml
653+
654+
# JSON 파일로 엑셀 생성
655+
node src/excel-cli.js export --query ./queries/sample-queries.json
656+
657+
# 변수 지정하여 실행
658+
node src/excel-cli.js export --xml ./queries/sample-queries.xml --var "year=2024" --var "dept=IT"
659+
660+
# 사용자 정의 DB 설정 파일 사용
661+
node src/excel-cli.js export --xml ./queries/sample-queries.xml --config ./config/custom-db.json
662+
663+
# NPM 스크립트 사용
664+
npm run export -- --xml ./queries/sample-queries.xml --var "year=2024"
665+
```
666+
667+
### 4. 모든 옵션
668+
669+
| 옵션 | 단축형 | 설명 | 예시 |
670+
|------|--------|------|------|
671+
| `--xml` | `-x` | XML 쿼리 정의 파일 경로 | `--xml ./queries/sample.xml` |
672+
| `--query` | `-q` | JSON 쿼리 정의 파일 경로 | `--query ./queries/sample.json` |
673+
| `--config` | `-c` | DB 설정 파일 경로 (기본: config/dbinfo.json) | `--config ./config/custom.json` |
674+
| `--var` | `-v` | 쿼리 변수 설정 (여러 개 가능) | `--var "year=2024" --var "dept=IT"` |
675+
676+
### 5. 기존 호환성
677+
678+
기존 방식도 계속 지원됩니다:
679+
680+
```bash
681+
# 기존 방식 (여전히 동작)
682+
node src/index.js --xml ./queries/sample-queries.xml
683+
node src/index.js --query ./queries/sample-queries.json
684+
```
685+
686+
---
687+
688+
## 9. 문의/기여
551689
- 개선 요청, 버그 제보, 추가 기능 문의는 언제든 환영합니다!

package.json

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
{
22
"name": "sql2excel-exporter",
3-
"version": "1.0.0",
3+
"version": "1.1.0",
44
"description": "SQL 쿼리 결과를 엑셀 파일로 저장하는 도구 (시트별 쿼리, 변수, XML/JSON 지원)",
55
"main": "src/index.js",
66
"scripts": {
7-
"start": "node src/index.js"
7+
"start": "node src/index.js",
8+
"export": "node src/excel-cli.js export",
9+
"validate": "node src/excel-cli.js validate",
10+
"list-dbs": "node src/excel-cli.js list-dbs",
11+
"help": "node src/excel-cli.js help"
812
},
913
"dependencies": {
1014
"mssql": "^10.0.0",

0 commit comments

Comments
 (0)