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

Connettiti al database di SQL Server da Node.js

Questo è principalmente per i futuri lettori. Poiché la domanda (almeno il titolo) si concentra sulla "connessione al database del server sql dal nodo js", vorrei inserire il modulo del nodo "mssql".

Al momento, abbiamo una versione stabile del driver Microsoft SQL Server per NodeJs ("msnodesql") disponibile qui:https://www.npmjs.com/package/msnodesql . Sebbene svolga un ottimo lavoro di integrazione nativa con il database di Microsoft SQL Server (rispetto a qualsiasi altro modulo di nodo), ci sono un paio di cose da notare.

"msnodesql" richiede l'installazione di alcuni prerequisiti (come python, VC++, client nativo SQL ecc.) sulla macchina host. Ciò rende la tua app "nodo" dipendente da "Windows". Se stai bene con la distribuzione basata su "Windows", lavorare con "msnodesql" è il migliore.

D'altra parte, c'è un altro modulo chiamato "mssql" (disponibile qui https://www.npmjs .com/package/mssql ) che può funzionare con "noioso" o "msnodesql" in base alla configurazione. Anche se questo modulo potrebbe non essere completo come "msnodesql", risolve praticamente la maggior parte delle esigenze.

Se desideri iniziare con "mssql", mi sono imbattuto in un video semplice e diretto, che spiega come connettersi al database di Microsoft SQL Server utilizzando NodeJs qui:https://www.youtube.com/watch?v=MLcXfRH1YzE

Il codice sorgente per il video sopra è disponibile qui:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

Per ogni evenienza, se i link sopra non funzionano, includo il codice sorgente qui:

var sql = require("mssql");

var dbConfig = {
    server: "localhost\\SQL2K14",
    database: "SampleDb",
    user: "sa",
    password: "sql2014",
    port: 1433
};

function getEmp() {
    var conn = new sql.Connection(dbConfig);
    
    conn.connect().then(function () {
        var req = new sql.Request(conn);
        req.query("SELECT * FROM emp").then(function (recordset) {
            console.log(recordset);
            conn.close();
        })
        .catch(function (err) {
            console.log(err);
            conn.close();
        });        
    })
    .catch(function (err) {
        console.log(err);
    });

    //--> another way
    //var req = new sql.Request(conn);
    //conn.connect(function (err) {
    //    if (err) {
    //        console.log(err);
    //        return;
    //    }
    //    req.query("SELECT * FROM emp", function (err, recordset) {
    //        if (err) {
    //            console.log(err);
    //        }
    //        else { 
    //            console.log(recordset);
    //        }
    //        conn.close();
    //    });
    //});

}

getEmp();

Il codice sopra è abbastanza esplicativo. Definiamo i parametri di connessione db (nell'oggetto JS "dbConfig") e quindi utilizziamo l'oggetto "Connessione" per connettersi a SQL Server. Per eseguire un'istruzione "SELECT", in questo caso, utilizza l'oggetto "Request" che funziona internamente con l'oggetto "Connection". Il codice spiega entrambe le modalità di utilizzo delle esecuzioni basate su "promise" e "callback".

Il codice sorgente sopra illustra solo la connessione al database del server sql e l'esecuzione di una query SELECT. Puoi facilmente portarlo al livello successivo seguendo la documentazione del nodo "mssql" disponibile su:https:/ /www.npmjs.com/package/mssql

AGGIORNAMENTO: C'è un nuovo video che esegue operazioni CRUD utilizzando lo standard REST Node.js puro (con Microsoft SQL Server) qui:https://www.youtube.com/watch?v=xT2AvjQ7q9E . È un video fantastico che spiega tutto da zero (ha un sacco di codice e non sarà così piacevole spiegare/copiare l'intero codice qui)