mirror of
https://github.com/Microsoft/sql-server-samples.git
synced 2025-12-08 14:58:54 +00:00
69 lines
1.7 KiB
JavaScript
69 lines
1.7 KiB
JavaScript
function createConnection() {
|
|
|
|
var config = {
|
|
server : "SERVER.database.windows.net",
|
|
userName: "USER",
|
|
password: "PASSWORD",
|
|
// If you're on Azure, you will need this:
|
|
options: { encrypt: true, database: 'DATABASE' }
|
|
};
|
|
|
|
var Connection = require('tedious').Connection;
|
|
var connection = new Connection(config);
|
|
|
|
return connection;
|
|
}
|
|
|
|
function createRequest(query, connection) {
|
|
var Request = require('tedious').Request;
|
|
var req =
|
|
new Request(query,
|
|
function (err, rowCount) {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
connection && connection.close();
|
|
});
|
|
|
|
return req;
|
|
}
|
|
|
|
function stream (query, connection, output, defaultContent) {
|
|
|
|
errorHandler = function (ex) { throw ex; };
|
|
var request = query;
|
|
if (typeof query == "string") {
|
|
request = this.createRequest(query, connection);
|
|
}
|
|
|
|
var empty = true;
|
|
request.on('row', function (columns) {
|
|
empty = false;
|
|
output.write(columns[0].value);
|
|
});
|
|
|
|
request.on('done', function (rowCount, more, rows) {
|
|
if (empty) {
|
|
output.write(defaultContent);
|
|
}
|
|
output.end();
|
|
});
|
|
|
|
request.on('doneProc', function (rowCount, more, rows) {
|
|
if (empty) {
|
|
output.write(defaultContent);
|
|
}
|
|
output.end();
|
|
});
|
|
|
|
connection.on('connect', function (err) {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
connection.execSql(request);
|
|
});
|
|
}
|
|
|
|
module.exports.createConnection = createConnection;
|
|
module.exports.createRequest = createRequest;
|
|
module.exports.stream = stream; |