tediousjs.github.io
github.com
$ node index.js
db connected
{ deptno: 10, dname: 'ACCOUNTING', loc: 'NEW YORK' }
{ deptno: 20, dname: 'RESEARCH', loc: 'DALLAS' }
{ deptno: 30, dname: 'SALES', loc: 'CHICAGO' }
{ deptno: 40, dname: 'OPERATIONS', loc: 'BOSTON' }
request completed
db disconnected
const Connection = require("tedious").Connection
const Request = require("tedious").Request
const config = {
server: "user-server",
authentication: {
type: "default",
options: {
userName: "user-name",
password: "user-pass",
},
},
options: {
encrypt: true,
database: "user-database-name",
trustServerCertificate: true,
rowCollectionOnDone: true,
},
}
const connection = new Connection(config)
connection.on("connect", function (err) {
if (err) {
console.log(`sql server connect error: ${err}`)
return
}
console.log("db connected")
execute()
})
connection.on("end", () => {
console.log("db disconnected")
})
connection.connect()
function getQuery() {
return "select deptno, dname, loc from dept"
}
function execute() {
const request = new Request(getQuery(), function (err, rows) {
if (err) {
console.log(`request error: ${err}`)
}
})
let result = {}
request.on("row", function (columns) {
columns.forEach(function (column) {
if (column.value === null) {
console.log("NULL")
} else {
result[column.metadata.colName] = column.value
}
})
console.log(result)
})
request.on("requestCompleted", () => {
console.log("request completed")
connection.close()
})
connection.execSql(request)
}