npm i dotenv express mssql
혼자서만 테스트 할 때는 무조건 작성하지는 않아도 되지만
나중에 Git에 올릴 때는 꼭 .gitignore 파일과 함께 작성하자
DB_IP='[연결할 DB서버 정보]' # DB IP 주소
DB_PORT='[연결할DB서버포트]' # DB PORT 정보
DB_NAME='[DB명]' # DB 이름
DB_ID='[DB 계정 ID]' # DB 사용자 이름 ( 스키마 )
DB_PW='[DB 계정 PW]' # DB 비밀번호
# 여기까지 꼭 필요한 내용
DB_ENCRYPT = 'false' # SSL 통신 여부 확인
DB_TRUST_CERT='false' # 안전한 인증서 연결 여부 확인
DB_SELECT_QUERY='[사용할 쿼리]' # DB에서 사용할 쿼리
require('dotenv').config()
const sql = require('mssql')
const dbConfig = {
server: process.env.DB_SERVER,
port: parseInt(process.env.DB_PORT, 10),
datebase: process.env.DB_NAME,
user: process.env.DB_USERNAME,
password: process.env.DB_PASSOWRD,
pool: {
max: 5,
min: 1
},
options: {
encrypt: process.env.DB_ENCRYPT === 'true',
trustServerCertificate: process.env.DB_TRUST_CERT === 'true',
cryptoCredentialsDetails: {
minVersion: 'TLSv1' // TLS 1.0 이상 허용
}
}
}
// 풀 연결
const poolPromise = new sql.ConnectionPool(dbConfig)
.connect()
.then(pool => {
console.log('--- MSSQL Connected!!! ---')
return pool
})
.catch(err => {
console.error('--- DB Connection Failed 8n8 ---', err)
throw err
})
module.exports = { sql, poolPromise }
이렇게 하면 연결 잘 됨