Node

Node.js MS-SQL 연동하기

김태웜 2021. 2. 4. 14:37

App.js

var express = require('express');
var app = express();
var sql = require('mssql');
var config = {
    user: 'ID',
    password: 'PassWord',
    server: 'IP', // You can use 'localhost\\instance' to connect to named instance
    database: '데이터베이스이름',
    requestTimeout: 100000,   //요청시간이 길어지면 저 시간이되면 끊어짐 Defalut : 15000 현재는 100초임
    options:{
      encrypt:false,
      enableArithAbort:true,
    },
}

이런식으로 config에 설정값을 넣는다

 

App.js

sql.connect(config, err => {
      // ... error checks
     if(err){
       console.log(err);
     }
     // 저장프로시저 사용법
     new sql.Request()
       .input('변수명', sql.NVarChar(30), urlpram)//이건 urlpram에 변수명이 들어가는데 전체코드를 봤을때 이해함
       .execute('저장프로시저명', (err, result) => {
           // ... error checks
           if(err){
             return res.json(err);		//에러가났을때 에러메세지 리턴
           }else{
             return res.json(result.recordset)	//보면 이게 result에 값이 여러개 저장되어있는데 recordset으로 리턴한거임
           }
       })
  });

config를 이런식으로 사용해서 데이터를 추출한다

result에 비슷한 형식으로 값이 여러개 저장되어있는데 recordset이 잘 정돈된 값이었고 그걸 가져다 리턴한거임

API를 이런식으로 값을 뿌려주게 리턴해놨으니까 안드로이드나 API 사용하시는곳에서 그냥 가져다 값만 불러다 골라쓰면됨

 

App.js

sql.connect(config, err => {
      // ... error checks
     if(err){
       console.log(err);
     }
       //일반쿼리 사용법
       new sql.Request()
       .query("쿼리문", (err, result) => {
         // ... error checks
         if(err){
           return res.json(err)
         }else{
          //데이터값 html로 옮기고 싶을때 ejs랑 이거 써서 옮길수있음
          //res.render('testPage.ejs',{'test' : result.recordset[0].BkNm,'test1' : result.recordset[0].BkCd})
          return res.json(result.recordset)
         }
     })
  });

아래에있는건 쿼리문으로 직접 불러다 쓰고싶을때 사용하는 방법

방법은 비슷한데 .query로 쿼리작성해서 result값을 가져온다

 

 

※ 이거 API만든거 부분부분 가져다 쓴거라서 그냥 쭉 복사해서 붙여 넣기하면 안될수도있음 result.recordset을 변수에 집어넣어서 사용하거나 해야됨

'Node' 카테고리의 다른 글

외부변수 모듈 사용하기  (0) 2021.03.24
Node.js API 만들기 GET 방식  (0) 2021.02.05
Node.js Http 서버 구축 (Https)  (0) 2021.02.05