sql >> Database >  >> RDS >> Sqlserver

Verbinding maken met SQL Server-database vanuit Node.js

Dit is vooral voor toekomstige lezers. Aangezien de vraag (tenminste de titel) zich richt op "verbinding maken met de SQL-serverdatabase vanaf node js", zou ik graag iets willen toevoegen aan de "mssql"-knooppuntmodule.

Op dit moment hebben we een stabiele versie van Microsoft SQL Server driver voor NodeJs ("msnodesql") beschikbaar hier:https://www.npmjs.com/package/msnodesql . Hoewel het een uitstekende native integratie met de Microsoft SQL Server-database doet (dan elke andere knooppuntmodule), zijn er een paar dingen om op te merken.

"msnodesql" vereist een aantal vereisten (zoals python, VC++, SQL native client enz.) om op de hostcomputer te worden geïnstalleerd. Dat maakt je "node"-app "Windows" afhankelijk. Als je het goed vindt met "Windows"-gebaseerde implementatie, is werken met "msnodesql" het beste.

Aan de andere kant is er een andere module genaamd "mssql" (hier beschikbaar https://www.npmjs .com/package/mssql ) die kan werken met "vervelend" of "msnodesql" op basis van configuratie. Hoewel deze module misschien niet zo uitgebreid is als "msnodesql", lost het vrijwel de meeste behoeften op.

Als je wilt beginnen met "mssql", kwam ik een eenvoudige en ongecompliceerde video tegen, waarin wordt uitgelegd hoe je verbinding maakt met de Microsoft SQL Server-database met behulp van NodeJs hier:https://www.youtube.com/watch?v=MLcXfRH1YzE

De broncode voor de bovenstaande video is hier beschikbaar:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

Voor het geval dat de bovenstaande links niet werken, voeg ik hier de broncode toe:

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

De bovenstaande code is vrij duidelijk. We definiëren de db-verbindingsparameters (in "dbConfig" JS-object) en gebruiken vervolgens het "Connection"-object om verbinding te maken met SQL Server. Om een ​​"SELECT"-statement uit te voeren, gebruikt het in dit geval het "Request"-object dat intern werkt met het "Connection"-object. De code verklaart beide smaken van het gebruik van op "belofte" en "callback" gebaseerde uitvoeringen.

De bovenstaande broncode geeft alleen uitleg over het verbinden met de sql-serverdatabase en het uitvoeren van een SELECT-query. U kunt het gemakkelijk naar een hoger niveau tillen door de documentatie van de "mssql"-node te volgen die beschikbaar is op:https:/ /www.npmjs.com/package/mssql

UPDATE: Er is een nieuwe video die CRUD-bewerkingen uitvoert met pure Node.js REST-standaard (met Microsoft SQL Server) hier:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Het is een fantastische video die alles vanaf het begin uitlegt (het heeft verdomd veel code en het zal niet zo prettig zijn om de hele code hier uit te leggen/kopiëren)



  1. Wat zijn enkele goede, snelle permanente opslagopties voor sleutel->waardegegevens?

  2. voortgangsbalk met mysql-query met php

  3. SELECT * uit SQL-tabel met behulp van voorbereide instructie

  4. Waarschuwingen en operators gebruiken in SQL Server