现在数据库的类型越来越多,比如node.js经常使用的MySQL,mongdb等,由于之前经常用SQL Server数据库,所以打算做一个node链接SQL Server的demo,网上找了很多方法,查到了好几个方法比如node-sqlserver模块和msnodesql 模块,但这两者对环境的要求比较高,感觉很麻烦,继续百度到了mssql模块,还是挺简单的。
(1)安装mssql模块
npm install mssql
(2)数据库连接,数据库封装 创建mssqldb.js
/* 链接sql数据库 */
var mssql = require('mssql')
var mssqldb = {}
var config = {
user: 'sa',
password: '密码',
server: '服务器',
port: 1433,
driver: 'msnodesql',
database: '数据库名称',
options: {
encrypt: false // 是否加密,本地为false, 部署后为true
},
pool: {
min: 0,
max: 10,
idleTimeoutMillis: 3000
}
}
// 数据库封装
mssqldb.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 = mssqldb
(3)写接口
var express = require('express')
var router = express.Router()
var mssqldb = require('../../utils/mssqldb')
/* GET users listing. */
router.get('/', function(req, res, next) {
var arr = []
mssqldb.sql('select * from MENU', function(err, result) {
if (err) {
console.log(err)
return
}
let response = {
status: 200,
message: '成功',
returnValue: result.returnValue,
data: result.recordsets[0]
}
return res.send(response)
return next()
})
})
module.exports = router
(4)数据库
(5)接口返回