文檔
安裝
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中集成數(shù)據(jù)庫
Express中集成數(shù)據(jù)庫比較方便朽肥,具體可參考Express中文網(wǎng)的數(shù)據(jù)庫集成:Express-Database integration
使用tedious連接數(shù)據(jù)庫
// 封裝 tedious
const { Connection, Request } = require('tedious')
const config = {
server: 'your_server.database.windows.net', // 數(shù)據(jù)庫地址
authentication: {
type: 'default',
options: {
port: 1433, // 端口號
userName: 'your_username', // 用戶名
password: 'your_password', // 密碼
},
},
options: {
encrypt: true,
database: 'test', // 數(shù)據(jù)庫名
},
}
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) //執(zhí)行sql語句
}
})
}
module.exports = {
querySQL: querySQL,
}
// 使用 tedious
const { querySQL } = require('./index')
querySQL(
"select 42, 'hello world'",
(err, data) => {
if (!err) {
console.log(data) // 打印數(shù)據(jù)
} else {
console.log(err) // 打印錯誤
}
}
)
博客參考
NodeJs——使用tedious連接 sql server
NodeJS中使用mssql和tedious模塊連接SQLServer數(shù)據(jù)庫