Câu hỏi ban đầu đã cũ và bây giờ sử dụng node-mssql như được trả lời bởi @Patrik Šimek, kết hợp với Tedious như được trả lời bởi @ Tracker1 là cách tốt nhất để thực hiện.
Trình điều khiển Windows / Azure node-sqlserver như đã đề cập trong câu trả lời được chấp nhận yêu cầu bạn cài đặt một danh sách các điều kiện tiên quyết:Visual C ++ 2010, SQL Server Native Client 11.0, python 2.7.x và có thể cả Windows 7 SDK cho 64-bit trên của bạn máy chủ. Bạn không muốn cài đặt tất cả GB phần mềm này trên Windows Server của mình nếu bạn hỏi tôi.
Bạn thực sự muốn sử dụng Tedious. Nhưng cũng sử dụng node-mssql để bọc nó và làm cho việc viết mã dễ dàng hơn rất nhiều.
Cập nhật tháng 8 năm 2014
- Cả hai mô-đun vẫn đang được bảo trì tích cực. Các vấn đề được phản hồi khá nhanh chóng và hiệu quả.
- Cả hai mô-đun đều hỗ trợ SQL Server 2000 - 2014
- Phát trực tuyến được hỗ trợ kể từ node-mssql 1.0.1
Cập nhật tháng 2 năm 2015 - 2.x (ổn định, npm)
- Đã cập nhật lên Tedious 1.10 mới nhất
- Lời hứa
- Yêu cầu đường ống đến luồng đối tượng
- Các lỗi SQL chi tiết
- Xử lý hủy bỏ giao dịch
- Kiểm tra kiểu tích hợp
- CLI
- Các bản sửa lỗi nhỏ
Điều này thật tẻ nhạt:
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);
}
Đây là nút-mssql có Tedious như một phần phụ thuộc. Sử dụng cái này!
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);
});
});