sql >> Databasteknik >  >> RDS >> Sqlserver

Anslut till SQL Server-databas från Node.js

Detta är främst för framtida läsare. Eftersom frågan (åtminstone rubriken) fokuserar på att "ansluta till sql-serverdatabas från node js", skulle jag vilja chipa in om "mssql" nodmodul.

För närvarande har vi en stabil version av Microsoft SQL Server-drivrutinen för NodeJs ("msnodesql") tillgänglig här:https://www.npmjs.com/package/msnodesql . Även om det gör ett bra jobb med inbyggd integration till Microsoft SQL Server-databasen (än någon annan nodmodul), finns det några saker att notera.

"msnodesql" kräver några förutsättningar (som python, VC++, SQL inbyggd klient etc.) för att vara installerad på värddatorn. Det gör din "nod"-app "Windows" beroende. Om du klarar dig bra med "Windows"-baserad distribution är det bäst att arbeta med "msnodesql".

Å andra sidan finns det en annan modul som heter "mssql" (tillgänglig här https://www.npmjs .com/package/mssql ) som kan fungera med "tråkig" eller "msnodesql" baserat på konfiguration. Även om den här modulen kanske inte är lika omfattande som "msnodesql", löser den i stort sett de flesta behov.

Om du skulle vilja börja med "mssql" kom jag över en enkel och okomplicerad video, som förklarar hur du ansluter till Microsoft SQL Server-databas med hjälp av NodeJs här:https://www.youtube.com/watch?v=MLcXfRH1YzE

Källkoden för videon ovan finns tillgänglig här:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

För säkerhets skull, om länkarna ovan inte fungerar, inkluderar jag källkoden här:

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

Ovanstående kod är ganska självförklarande. Vi definierar db-anslutningsparametrarna (i "dbConfig" JS-objekt) och använder sedan "Connection"-objektet för att ansluta till SQL Server. För att exekvera en "SELECT"-sats, i detta fall, använder den "Request"-objektet som internt fungerar med "Connection"-objektet. Koden förklarar båda varianterna av att använda "löfte" och "återuppringning"-baserade körningar.

Ovanstående källkod förklarar bara hur man ansluter till sql-serverdatabasen och kör en SELECT-fråga. Du kan enkelt ta det till nästa nivå genom att följa dokumentationen för "mssql"-noden tillgänglig på:https:/ /www.npmjs.com/package/mssql

UPPDATERING: Det finns en ny video som gör CRUD-operationer med ren Node.js REST-standard (med Microsoft SQL Server) här:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Det är en fantastisk video som förklarar allt från början (den har jävligt mycket kod och det kommer inte att vara så tilltalande att förklara/kopiera hela koden här)



  1. PHP Maths på SQL Data

  2. Oracle Datetime-funktioner (fullständig lista)

  3. Varför bara väntastatistik inte räcker

  4. ORA-00933:SQL-kommandot avslutades inte korrekt när två tabeller raderades samtidigt