Die ursprüngliche Frage ist alt und jetzt ist die Verwendung von node-mssql, wie von @Patrik Šimek beantwortet, das Tedious umschließt, wie von @Tracker1 beantwortet, der beste Weg.
Der in der akzeptierten Antwort erwähnte Windows/Azure-Knoten-SQLServer-Treiber erfordert die Installation einer verrückten Liste von Voraussetzungen:Visual C++ 2010, SQL Server Native Client 11.0, Python 2.7.x und wahrscheinlich auch Windows 7 SDK für 64-Bit auf Ihrem Server. Wenn Sie mich fragen, möchten Sie nicht all diese GB an Software auf Ihrem Windows-Server installieren.
Sie möchten wirklich Tedious verwenden. Aber auch Verwenden Sie node-mssql, um es zu umschließen und das Codieren viel einfacher zu machen.
Aktualisierung August 2014
- Beide Module werden weiterhin aktiv gepflegt. Auf Probleme wird recht schnell und effizient reagiert.
- Beide Module unterstützen SQL Server 2000 - 2014
- Streaming wird seit node-mssql 1.0.1 unterstützt
Aktualisierung Februar 2015 – 2.x (stabil, npm)
- Aktualisiert auf das neueste Tedious 1.10
- Versprechen
- Anfrage an Objektstrom weiterleiten
- Detaillierte SQL-Fehler
- Behandlung von Transaktionsabbrüchen
- Integrierte Typprüfungen
- CLI
- Kleinere Korrekturen
Das ist einfach mühsam:
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 kommt node-mssql, das Tedious als Abhängigkeit hat. Verwenden Sie dies!
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);
});
});