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

Opret forbindelse til SQL Server-database fra Node.js

Dette er primært til fremtidige læsere. Da spørgsmålet (i det mindste titlen) fokuserer på "forbindelse til sql-serverdatabase fra node js", vil jeg gerne chip ind om "mssql" nodemodul.

I øjeblikket har vi en stabil version af Microsoft SQL Server-driveren til NodeJs ("msnodesql") tilgængelig her:https://www.npmjs.com/package/msnodesql . Selvom det gør et godt stykke arbejde med indbygget integration til Microsoft SQL Server-databasen (end noget andet nodemodul), er der et par ting at bemærke.

"msnodesql" kræver et par forudsætninger (såsom python, VC++, SQL native klient osv.) for at blive installeret på værtsmaskinen. Det gør din "node" app "Windows" afhængig. Hvis du har det fint med "Windows"-baseret implementering, er det bedst at arbejde med "msnodesql".

På den anden side er der et andet modul kaldet "mssql" (tilgængeligt her https://www.npmjs .com/package/mssql ) som kan arbejde med "kedeligt" eller "msnodesql" baseret på konfiguration. Selvom dette modul måske ikke er så omfattende som "msnodesql", løser det stort set de fleste behov.

Hvis du gerne vil starte med "mssql", stødte jeg på en enkel og ligetil video, som forklarer hvordan man forbinder til Microsoft SQL Server-database ved hjælp af NodeJs her:https://www.youtube.com/watch?v=MLcXfRH1YzE

Kildekoden til ovenstående video er tilgængelig her:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

For en sikkerheds skyld, hvis ovenstående links ikke virker, inkluderer jeg kildekoden her:

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

Ovenstående kode er ret selvforklarende. Vi definerer db-forbindelsesparametrene (i "dbConfig" JS-objektet) og bruger derefter "Connection"-objektet til at oprette forbindelse til SQL Server. For at udføre en "SELECT"-sætning, i dette tilfælde, bruger den "Request"-objekt, som internt arbejder med "Connection"-objekt. Koden forklarer begge varianter af at bruge "løfte" og "tilbagekald"-baserede udførelser.

Ovenstående kildekode forklarer kun om tilslutning til sql-serverdatabase og udførelse af en SELECT-forespørgsel. Du kan nemt tage det til næste niveau ved at følge dokumentationen for "mssql"-noden tilgængelig på:https:/ /www.npmjs.com/package/mssql

OPDATERING: Der er en ny video, som udfører CRUD-operationer ved hjælp af ren Node.js REST-standard (med Microsoft SQL Server) her:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Det er en fantastisk video, som forklarer alt fra bunden (den har pokkers meget kode, og det vil ikke være så behageligt at forklare/kopiere hele koden her)



  1. mysql-transaktion - rulle tilbage på enhver undtagelse

  2. 40 spørgsmål du skal vide om R12.2

  3. Anbefalet måde/ordre at læse data fra en webservice, parse disse data og indsætte dem i en SQLite db

  4. Arbejde med datoer i PostgreSQL