Исходный вопрос устарел и теперь использует node-mssql , на который отвечает @Patrik Šimek, обертывающий Tedious , на который отвечает @ Tracker1, - лучший путь.
Драйвер для Windows / Azure node-sqlserver , как упомянуто в принятом ответе, требует от вас установки сумасшедшего списка необходимых условий: Visual C ++ 2010, SQL Server Native Client 11.0, python 2.7.x и, возможно, также Windows 7 SDK для 64-разрядных на вашем сервере. Вы не хотите устанавливать все эти ГБ программного обеспечения на свой Windows Server, если вы спросите меня.
Вы действительно хотите использовать Утомительно . Но также использует node-mssql , чтобы обернуть его и сделать кодирование намного проще.
Обновление август 2014
- Оба модуля по-прежнему активно поддерживаются. На вопросы реагируют довольно быстро и эффективно.
- Оба модуля поддерживают SQL Server 2000 - 2014
- Потоковая поддержка поддерживается, так как node-mssql 1.0.1
Обновление февраль 2015 г. - 2.x (стабильный, npm)
- Обновлено до последней версии Tedious 1.10
- Обещания
- Запрос канала к потоку объекта
- Подробные ошибки SQL
- Обработка отмены транзакции
- Интегрированные проверки типов
- CLI
- Незначительные исправления
Это просто Утомительно :
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);
}
А вот и node-mssql , в котором в качестве зависимости используется Tedious. Используйте это!
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);
});
});