TIL/Node.js

Tedious

Art Rudy
728x90
반응형

Tedious?

Tedious Node.js에서 MSSQL을 사용하기 위해 개발된 모듈 패키지이다.

 

사용 방법

Database 환경 설정

var Connection = require('tedious').Connection;

// Create connection to database 
var config = {
    authentication: {
        options: {
            userName: '[userName]',
            password: '[password]'
        },
        type: 'default'
    },
    server: '[Server_url]', // server 주소 
    options: {
        database: '[db_name]',
        encrypt: false // 암호화 여부
    }
};

const connection = new Connection(config);

// Attempt to connect and execute queries if connection goes through 
connection.on('connect', function (err) {
    // If no error, then good to proceed. 
    if (err) {
        console.error(err.message);
    } else {
        console.log("Connected");
    }
});

 

연결 시도

connection.connect();

 

쿼리 실행

var Request = require('tedious').Request;

function executeStatement() {
    request = new Request("select [Column1], [Column2] ... from [Table]", function (err, rowCount) {
        if (err) { // 에러 발생 시
            console.log(err);
        } else { // 요청 성공 시
            console.log(rowCount + ' rows');
        }
    });

    request.on('row', function (columns) {
        columns.forEach(function (column) {
            console.log(column.value);
        });
    });

    connection.execSql(request);
}

 

프로시저 실행

var Request = require('tedious').Request;
var TYPES = require('tedious').TYPES;

function executeStatement() {
    request = new Request("[Procedure_name]", function (err, rowCount, rows) {
        if (err) { // 에러 발생 시
            console.log(err);
        } else {
            console.log(rowCount);
            console.log(rows);
        }
    });

    request.addParameter('[parameter_name]', TYPES. [TYPE], data);

    request.on('doneInProc', function (rowCount, more, rows) {
        console.log('event doneInProc');
        console.log('rowCount : ' + rowCount);
        console.log('more : ' + more);
        console.log('rows : ' + rows);
        console.log('-------------------------------------');
    });
    
    connection.callProcedure(request);
}
728x90
반응형

'TIL > Node.js' 카테고리의 다른 글

Sass  (0) 2021.07.21
Babel  (0) 2021.07.21
Express  (0) 2021.07.21
Module  (0) 2021.07.21
Event  (0) 2021.07.21