Node.js 和 Microsoft SQL Server

2024-01-10

有什么方法可以让我的 Node.js 应用程序与 Microsoft SQL 进行通信吗? 我还没有见过任何 MS SQL 驱动程序吗?

我正在将一个非常简单的应用程序放在一起,并且需要能够与现有的 MS SQL 数据库进行通信(否则我会使用 mongoDB 或 Redis)


原来的问题很旧,现在使用节点 MSSQL https://github.com/patriksimek/node-mssql正如@Patrik Šimek 所回答的那样Tedious https://github.com/pekim/tedious正如@Tracker1 所回答的那样,这是最好的方法。

The Windows/Azure 节点-sqlserver 驱动程序 https://github.com/WindowsAzure/node-sqlserver正如接受的答案中提到的,需要您安装一系列疯狂的先决条件:Visual C++ 2010、SQL Server Native Client 11.0、python 2.7.x,可能还需要在服务器上安装 64 位 Windows 7 SDK。如果您问我,您肯定不想在 Windows Server 上安装所有这些 GB 的软件。

你确实想使用Tedious https://github.com/pekim/tedious. But also use 节点 MSSQL https://github.com/patriksimek/node-mssql包装它并使编码变得更加容易。

2014 年 8 月更新

  • 这两个模块仍在积极维护中。问题得到快速有效的响应。
  • 两个模块都支持 SQL Server 2000 - 2014
  • 自 node-mssql 1.0.1 起支持流式处理

2015 年 2 月更新 - 2.x(稳定,npm)

  • 更新到最新的Tedious 1.10
  • Promises
  • 将请求传送到对象流
  • 详细的 SQL 错误
  • 事务中止处理
  • 集成类型检查
  • CLI
  • 小修复

这很简单Tedious https://github.com/pekim/tedious:

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);
}

来了节点 MSSQL https://github.com/patriksimek/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);
    });
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js 和 Microsoft SQL Server 的相关文章

随机推荐