1. 程式人生 > >Node.js運用mssql模組連結SQL Server資料庫

Node.js運用mssql模組連結SQL Server資料庫

現在資料庫的型別越來越多,比如node.js經常使用的MySQL,mongdb等,由於之前經常用SQL Server資料庫,所以打算做一個node連結SQL Server的demo,網上找了很多方法,查到了好幾個方法比如node-sqlserver模組和msnodesql 模組,但這兩者對環境的要求比較高,感覺很麻煩,繼續百度到了mssql模組,還是挺簡單的。

(1)安裝mssql模組

npm install mssql 

(2)資料庫連線  建立db.js

var mssql = require('mssql');
var db = {};
var config = {
    user: 'sa',
    password: '密碼',
    server: '伺服器',
    port:1433,
    driver: 'msnodesql',
    database: '資料庫',
    connectionString: "Driver={SQL Server Native Client 11.0};Server=#{server}\\sql;Database=#{database};Uid=#{user};Pwd=#{password};",
/*    options: {
        encrypt: true // Use this if you're on Windows Azure
    },*/
    pool: {
        min: 0,
        max: 10,
        idleTimeoutMillis: 3000
    }
};
(3)資料庫封裝
db.sql = function (sql, callBack) {
    var connection = new mssql.ConnectionPool(config, function (err) {
        if (err) {
            console.log(err);
            return;
        }
        var ps = new mssql.PreparedStatement(connection);
        ps.prepare(sql, function (err) {
            if (err){
                console.log(err);
                return;
            }
            ps.execute('', function (err, result) {
                if (err){
                    console.log(err);
                    return;
                }

                ps.unprepare(function (err) {
                    if (err){
                        console.log(err);
                        callback(err,null);
                        return;
                    }
                    callBack(err, result);
                });
            });
        });
    });
};

module.exports = db;
(4)引用 建立dbtest.js
var express = require('express');
var app = express();
var db = require('./db');

db.sql('select * from OuiesNews',function(err,result){

    if (err) {
        console.log(err);
        return;
    }
    app.get('/',function (req,res){
        res.send(result.recordsets[0][1].TITLE);
    })
});
app.listen(3000);