文档
安装
npm install tedious
示例代码
var Connection = require('tedious').Connection;
var config = {
server: 'your_server.database.windows.net', //update me
authentication: {
type: 'default',
options: {
userName: 'your_username', //update me
password: 'your_password' //update me
}
},
options: {
// If you are on Microsoft Azure, you need encryption:
encrypt: true,
database: 'your_database' //update me
}
};
var connection = new Connection(config);
connection.on('connect', function(err) {
// If no error, then good to proceed.
console.log("Connected");
});
connection.connect();
Express中集成数据库
Express中集成数据库比较方便,具体可参考Express中文网的数据库集成:Express-Database integration
使用tedious连接数据库
// 封装 tedious
const { Connection, Request } = require('tedious')
const config = {
server: 'your_server.database.windows.net', // 数据库地址
authentication: {
type: 'default',
options: {
port: 1433, // 端口号
userName: 'your_username', // 用户名
password: 'your_password', // 密码
},
},
options: {
encrypt: true,
database: 'test', // 数据库名
},
}
const querySQL = (sql, callback) => {
let connection = new Connection(config)
var rows = []
connection.connect()
connection.on('connect', err => {
if (err) {
callback({ message: err['message'] })
} else {
let request = new Request(sql, (err, rowCount) => {
if (err) callback(err)
callback(err, rows)
connection.close()
})
let i = 0
request.on('row', columns => {
rows[i] = {}
columns.forEach(column => {
rows[i][column.metadata.colName] = column.value
})
i++
})
connection.execSql(request) //执行sql语句
}
})
}
module.exports = {
querySQL: querySQL,
}
// 使用 tedious
const { querySQL } = require('./index')
querySQL(
"select 42, 'hello world'",
(err, data) => {
if (!err) {
console.log(data) // 打印数据
} else {
console.log(err) // 打印错误
}
}
)
博客参考
NodeJs——使用tedious连接 sql server
NodeJS中使用mssql和tedious模块连接SQLServer数据库