De oorspronkelijke vraag is oud en nu is het gebruik van node-mssql zoals beantwoord door @Patrik Šimek die Tedious omhult zoals beantwoord door @Tracker1 de beste manier om te gaan.
Het Windows/Azure node-sqlserver-stuurprogramma zoals vermeld in het geaccepteerde antwoord vereist dat u een gekke lijst met vereisten installeert:Visual C++ 2010, SQL Server Native Client 11.0, python 2.7.x en waarschijnlijk ook Windows 7 SDK voor 64-bits op uw server. Je wilt niet al deze GB's aan software op je Windows Server installeren als je het mij vraagt.
Je wilt echt Tedious gebruiken. Maar ook gebruik node-mssql om het in te pakken en het coderen een stuk eenvoudiger te maken.
Update augustus 2014
- Beide modules worden nog steeds actief onderhouden. Op problemen wordt vrij snel en efficiënt gereageerd.
- Beide modules ondersteunen SQL Server 2000 - 2014
- Streaming ondersteund sinds node-mssql 1.0.1
Update februari 2015 - 2.x (stabiel, npm)
- Bijgewerkt naar de nieuwste Tedious 1.10
- Beloften
- Pijpverzoek naar objectstroom
- Gedetailleerde SQL-fouten
- Afhandeling transactie afgebroken
- Geïntegreerde typecontroles
- CLI
- Kleine reparaties
Dit is gewoon vervelend:
var Connection = require('tedious').Connection;
var Request = require('tedious').Request;
var config = {
server: '192.168.1.212',
userName: 'test',
password: 'test'
};
var connection = new Connection(config);
connection.on('connect', function(err) {
executeStatement();
}
);
function executeStatement() {
request = new Request("select 42, 'hello world'", function(err, rowCount) {
if (err) {
console.log(err);
} else {
console.log(rowCount + ' rows');
}
connection.close();
});
request.on('row', function(columns) {
columns.forEach(function(column) {
if (column.value === null) {
console.log('NULL');
} else {
console.log(column.value);
}
});
});
request.on('done', function(rowCount, more) {
console.log(rowCount + ' rows returned');
});
// In SQL Server 2000 you may need: connection.execSqlBatch(request);
connection.execSql(request);
}
Hier komt node-mssql met Tedious als afhankelijkheid. Gebruik dit!
var sql = require('mssql');
var config = {
server: '192.168.1.212',
user: 'test',
password: 'test'
};
sql.connect(config, function(err) {
var request = new sql.Request();
request.query("select 42, 'hello world'", function(err, recordset) {
console.log(recordset);
});
});