sql >> Databáze >  >> RDS >> Sqlserver

Node.js a Microsoft SQL Server

Původní otázka je stará a nyní používá node-mssql, jak odpověděl @Patrik Šimek, který obaluje Tedious, jak odpověděl @Tracker1, je nejlepší způsob, jak jít.

Ovladač Windows/Azure node-sqlserver, jak je zmíněn v přijaté odpovědi, vyžaduje, abyste si nainstalovali šílený seznam předpokladů:Visual C++ 2010, SQL Server Native Client 11.0, python 2.7.xa pravděpodobně také Windows 7 SDK pro 64bitovou verzi na vašem server. Pokud se mě ptáte, nechcete instalovat všechny tyto GB softwaru na váš Windows Server.

Opravdu chcete použít Tedious. Ale také použijte node-mssql k zabalení a mnohem jednoduššímu kódování.

Aktualizace ze srpna 2014

  • Oba moduly jsou stále aktivně udržovány. Problémy jsou řešeny poměrně rychle a efektivně.
  • Oba moduly podporují SQL Server 2000–2014
  • Streamování je podporováno od node-mssql 1.0.1

Aktualizace z února 2015 – 2.x (stabilní, npm)

  • Aktualizováno na nejnovější verzi Tedious 1.10
  • Sliby
  • Propojte požadavek na objektový proud
  • Podrobné chyby SQL
  • Zpracování přerušení transakce
  • Integrované kontroly typu
  • CLI
  • Drobné opravy

To je prosté nudné:

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

Zde přichází node-mssql, který má jako závislost Tedious. Použijte toto!

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. Import CSV do MySQL s jiným formátem data

  2. Ekvivalent funkce SQLServeru SCOPE_IDENTITY() v mySQL?

  3. Top 5 bezplatných nástrojů pro návrh databáze

  4. Jak importovat databázi pomocí phpMyAdmin