반응형
작업환경 : node v16.19.1, nest v9.2
npm에서 mssql, @types/mssql 패키지를 설치합니다.
(typescript환경이 아니라면 @types/mssql은 설치안하셔도 됩니다. 저는 nestjs를 사용했기 때문에 설치했습니다.)
npm i mssql @types/mssql
제가 설치한 버전입니다.
"mssql": "^9.1.1",
"@types/mssql": "^8.1.2",
root에 dbconfig.ts 파일을 만들고 접속정보를 입력해줍니다.
(※dbconfig.ts는 꼭 gitignore에 등록해서 git서버에 올라가지 않도록 주의합니다)
//dbconfig.ts
export const mssqlDbConfig = {
user: 'USER',
password: 'PASSWORD',
server: '서버정보(ip)',
database: '연결할 DB',
options: {
encrypt: false,
},
};
src폴더에 mssql.ts 파일을 만들고 dbconfig.ts와 mssql 패키지를 import합니다.
그리고 쿼리를 실행시킬 함수를 만들어줍니다.
import { mssqlDbConfig } from 'dbconfig';
import * as mssql from 'mssql';
export async function msQuery(query: string) {
const pool = new mssql.ConnectionPool(mssqlDbConfig);
await pool.connect(); //DB 연결
const result = await pool.query(query); //query 실행
await pool.close(); //연결 해제
return result;
}
main.ts에서 mssql.ts를 import 하고 쿼리가 잘 실행되는지 확인해봅니다.
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { msQuery } from 'src/mssql';
async function init() {
const app = await NestFactory.create(AppModule);
app.enableCors();
let result = await msQuery("select 1");
console.log(result);
await app.listen(3001);
}
init();
4번째 라인에 셀렉트 내용이 출력되는 것을 확인하실 수 있습니다.
궁금한점이 있다면 댓글로 남겨주시면 답변해드리겠습니다.
'Server > NodeJs' 카테고리의 다른 글
[NodeJS] NestJs socket.io 로 실시간 채팅 구현 (0) | 2023.06.13 |
---|---|
[NodeJS] NestJs nodemailer 모듈로 메일 전송 (0) | 2023.06.05 |
[NodeJS] NestJs Oracle DB 연결하기 (4) | 2023.03.23 |