sql >> Database teknologi >  >> RDS >> Sqlserver

Node.js og Microsoft SQL Server

Det originale spørgsmål er gammelt, og nu bruger node-mssql som besvaret af @Patrik Šimek, der omslutter Tedious som besvaret af @Tracker1, den bedste vej at gå.

Windows/Azure node-sqlserver-driveren som nævnt i det accepterede svar kræver, at du installerer en skør liste over forudsætninger:Visual C++ 2010, SQL Server Native Client 11.0, python 2.7.x og sandsynligvis også Windows 7 SDK til 64-bit på din server. Du ønsker ikke at installere alle disse GB'er af software på din Windows Server, hvis du spørger mig.

Du vil virkelig gerne bruge Tedious. Men også brug node-mssql til at indpakke det og gøre kodningen meget nemmere.

Opdatering august 2014

  • Begge moduler vedligeholdes stadig aktivt. Problemer besvares ret hurtigt og effektivt.
  • Begge moduler understøtter SQL Server 2000 - 2014
  • Streaming understøttet siden node-mssql 1.0.1

Opdatering februar 2015 - 2.x (stabil, npm)

  • Opdateret til seneste Tedious 1.10
  • Løfter
  • Røranmodning til objektstrøm
  • Detaljerede SQL-fejl
  • Håndtering af transaktionsafbrydelse
  • Integreret typekontrol
  • CLI
  • Mindre rettelser

Dette er almindeligt kedeligt:

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

Her kommer node-mssql som har Tedious som afhængighed. Brug dette!

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. Ting at vide om databasedrevne websteder

  2. Få tidsforskel mellem to gange i PHP

  3. Inkluder manglende måneder i gruppe efter forespørgsel

  4. Sådan opsætter du destinationskatalog for arkivlog i Oracle-databasen