Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Połącz się z bazą danych SQL Server z Node.js

To jest głównie dla przyszłych czytelników. Ponieważ pytanie (przynajmniej tytuł) skupia się na "połączeniu się z bazą danych serwera sql z węzła js", chciałbym dodać moduł węzła "mssql".

W tej chwili mamy stabilną wersję sterownika Microsoft SQL Server dla NodeJs („msnodesql”) dostępną tutaj:https://www.npmjs.com/package/msnodesql . Chociaż świetnie sprawdza się w natywnej integracji z bazą danych Microsoft SQL Server (niż jakikolwiek inny moduł węzła), jest kilka rzeczy, o których należy pamiętać.

„msnodesql” wymaga zainstalowania na komputerze hosta kilku wymagań wstępnych (takich jak python, VC++, natywny klient SQL itp.). To sprawia, że ​​twoja aplikacja "węzłowa" jest zależna od "Windows". Jeśli nie masz nic przeciwko wdrożeniu opartemu na "Windows", najlepsza jest praca z "msnodesql".

Z drugiej strony istnieje inny moduł o nazwie „mssql” (dostępny tutaj https://www.npmjs .com/pakiet/mssql ), które mogą działać z "nudnym" lub "msnodesql" na podstawie konfiguracji. Chociaż ten moduł może nie być tak obszerny jak „msnodesql”, to w zasadzie rozwiązuje większość potrzeb.

Jeśli chcesz zacząć od „mssql”, natknąłem się na prosty i bezpośredni film, który wyjaśnia tutaj łączenie się z bazą danych Microsoft SQL Server za pomocą NodeJs:https://www.youtube.com/watch?v=MLcXfRH1YzE

Kod źródłowy powyższego filmu jest dostępny tutaj:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-używa-node-js

Na wszelki wypadek, jeśli powyższe linki nie działają, dołączam kod źródłowy tutaj:

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

Powyższy kod jest dość oczywisty. Definiujemy parametry połączenia db (w obiekcie JS "dbConfig"), a następnie używamy obiektu "Połączenie" do połączenia z SQL Serverem. W celu wykonania instrukcji "SELECT" w tym przypadku używa obiektu "Request", który wewnętrznie współpracuje z obiektem "Connection". Kod wyjaśnia oba rodzaje korzystania z wykonań opartych na "obietnicy" i "callback".

Powyższy kod źródłowy wyjaśnia tylko o połączeniu się z bazą danych serwera sql i wykonaniu zapytania SELECT. Możesz łatwo przejść na wyższy poziom, postępując zgodnie z dokumentacją węzła "mssql" dostępną pod adresem:https:/ /www.npmjs.com/package/mssql

AKTUALIZACJA: Oto nowy film, który wykonuje operacje CRUD przy użyciu czystego standardu Node.js REST (z Microsoft SQL Server):https://www.youtube.com/watch?v=xT2AvjQ7q9E . To fantastyczne wideo, które wyjaśnia wszystko od zera (ma cholernie dużo kodu i nie będzie tak przyjemne wyjaśnianie/kopiowanie całego kodu tutaj)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jeszcze raz:procedura składowana a TV-UDF

  2. Zwróć tożsamość ostatniego wstawionego wiersza z procedury składowanej

  3. Dane wyjściowe z bieżącego miesiąca?

  4. Jak określić, co jest kompilowane w SQL Server

  5. Błędnie obliczona liczba tygodni i częściowych tygodni między dwoma dniami