內容面板收納
現在資料庫的型別越來越多,比如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);