Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Stellen Sie von Node.js aus eine Verbindung zur SQL Server-Datenbank her

Dies ist hauptsächlich für zukünftige Leser gedacht. Da sich die Frage (zumindest der Titel) auf „Verbindung zur SQL-Server-Datenbank von node js“ konzentriert, möchte ich etwas über das „mssql“-Knotenmodul einbringen.

Im Moment haben wir hier eine stabile Version des Microsoft SQL Server-Treibers für NodeJs ("msnodesql") verfügbar:https://www.npmjs.com/package/msnodesql . Obwohl es eine großartige Arbeit bei der nativen Integration in die Microsoft SQL Server-Datenbank leistet (als jedes andere Knotenmodul), gibt es einige Dinge zu beachten.

Für „msnodesql“ müssen einige Voraussetzungen (wie Python, VC++, nativer SQL-Client usw.) auf dem Hostcomputer installiert werden. Das macht Ihre "Knoten"-App "Windows" abhängig. Wenn Sie mit "Windows"-basierter Bereitstellung zufrieden sind, ist die Arbeit mit "msnodesql" am besten.

Andererseits gibt es ein weiteres Modul namens „mssql“ (verfügbar hier https://www.npmjs .com/package/mssql ), die je nach Konfiguration mit "mühsam" oder "msnodesql" funktionieren können. Obwohl dieses Modul vielleicht nicht so umfassend ist wie "msnodesql", erfüllt es die meisten Anforderungen.

Wenn Sie mit "mssql" beginnen möchten, bin ich auf ein einfaches und unkompliziertes Video gestoßen, das die Verbindung zur Microsoft SQL Server-Datenbank mit NodeJs hier erklärt:https://www.youtube.com/watch?v=MLcXfRH1YzE

Der Quellcode für das obige Video ist hier verfügbar:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

Falls die obigen Links nicht funktionieren, füge ich hier den Quellcode hinzu:

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

Der obige Code ist ziemlich selbsterklärend. Wir definieren die db-Verbindungsparameter (im JS-Objekt „dbConfig“) und verwenden dann das Objekt „Connection“, um eine Verbindung zu SQL Server herzustellen. Um eine "SELECT"-Anweisung auszuführen, verwendet es in diesem Fall das "Request"-Objekt, das intern mit dem "Connection"-Objekt arbeitet. Der Code erklärt beide Arten der Verwendung von "Promise"- und "Callback"-basierten Ausführungen.

Der obige Quellcode erklärt nur die Verbindung zur SQL Server-Datenbank und die Ausführung einer SELECT-Abfrage. Sie können es leicht auf die nächste Ebene bringen, indem Sie der Dokumentation des „mssql“-Knotens folgen, die verfügbar ist unter:https:/ /www.npmjs.com/package/mssql

AKTUALISIERUNG: Hier gibt es ein neues Video, das CRUD-Operationen unter Verwendung des reinen Node.js-REST-Standards (mit Microsoft SQL Server) durchführt:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Es ist ein fantastisches Video, das alles von Grund auf erklärt (es hat verdammt viel Code und es wird nicht so angenehm sein, den gesamten Code hier zu erklären/kopieren)