sql >> Databasteknik >  >> RDS >> Sqlserver

Node.js och Microsoft SQL Server

Den ursprungliga frågan är gammal och att nu använda node-mssql som besvarats av @Patrik Šimek som omsluter Tedious som besvaras av @Tracker1 är den bästa vägen att gå.

Windows/Azure node-sqlserver-drivrutinen som nämns i det accepterade svaret kräver att du installerar en galen lista med förutsättningar:Visual C++ 2010, SQL Server Native Client 11.0, python 2.7.x och förmodligen även Windows 7 SDK för 64-bitar på din server. Du vill inte installera alla dessa GB-programvara på din Windows-server om du frågar mig.

Du vill verkligen använda Tedious. Men också använd node-mssql för att slå in det och göra kodningen mycket enklare.

Uppdatering augusti 2014

  • Båda modulerna underhålls fortfarande aktivt. Frågor besvaras ganska snabbt och effektivt.
  • Båda modulerna stöder SQL Server 2000 - 2014
  • Streaming stöds sedan node-mssql 1.0.1

Uppdatering februari 2015 – 2.x (stabil, npm)

  • Uppdaterad till senaste Tedious 1.10
  • Löften
  • Rörbegäran till objektström
  • Detaljerade SQL-fel
  • Hantering av transaktionavbrytande
  • Integrerade typkontroller
  • CLI
  • Mindre korrigeringar

Det här är helt enkelt Tråkigt:

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

Här kommer node-mssql som har Tedious som beroende. Använd den här!

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


  1. Sammansatt primärnyckel i django

  2. MariaDB JSON_VALUE() Förklarad

  3. Hur man beräknar glidande medelvärde i PostgreSQL

  4. Hur kan jag mata ut MySQL-frågeresultat i CSV-format?