Connect to SQL Server database from Node.js Connect to SQL Server database from Node.js node.js node.js

Connect to SQL Server database from Node.js


This is mainly for future readers. As the question (at least the title) focuses on "connecting to sql server database from node js", I would like to chip in about "mssql" node module.

At this moment, we have a stable version of Microsoft SQL Server driver for NodeJs ("msnodesql") available here: https://www.npmjs.com/package/msnodesql. While it does a great job of native integration to Microsoft SQL Server database (than any other node module), there are couple of things to note about.

"msnodesql" require a few pre-requisites (like python, VC++, SQL native client etc.) to be installed on the host machine. That makes your "node" app "Windows" dependent. If you are fine with "Windows" based deployment, working with "msnodesql" is the best.

On the other hand, there is another module called "mssql" (available here https://www.npmjs.com/package/mssql) which can work with "tedious" or "msnodesql" based on configuration. While this module may not be as comprehensive as "msnodesql", it pretty much solves most of the needs.

If you would like to start with "mssql", I came across a simple and straight forward video, which explains about connecting to Microsoft SQL Server database using NodeJs here: https://www.youtube.com/watch?v=MLcXfRH1YzE

Source code for the above video is available here: http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft-sql-server-using-node-js

Just in case, if the above links are not working, I am including the source code here:

var sql = require("mssql");var dbConfig = {    server: "localhost\\SQL2K14",    database: "SampleDb",    user: "sa",    password: "sql2014",    port: 1433};function getEmp() {    var conn = new sql.Connection(dbConfig);        conn.connect().then(function () {        var req = new sql.Request(conn);        req.query("SELECT * FROM emp").then(function (recordset) {            console.log(recordset);            conn.close();        })        .catch(function (err) {            console.log(err);            conn.close();        });            })    .catch(function (err) {        console.log(err);    });    //--> another way    //var req = new sql.Request(conn);    //conn.connect(function (err) {    //    if (err) {    //        console.log(err);    //        return;    //    }    //    req.query("SELECT * FROM emp", function (err, recordset) {    //        if (err) {    //            console.log(err);    //        }    //        else {     //            console.log(recordset);    //        }    //        conn.close();    //    });    //});}getEmp();