Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Свържете се с база данни на SQL Server от Node.js

Това е основно за бъдещи читатели. Тъй като въпросът (поне заглавието) се фокусира върху „свързване към база данни на sql сървър от възел js“, бих искал да се включа за модула на възел „mssql“.

В този момент имаме стабилна версия на Microsoft SQL Server драйвер за NodeJs ("msnodesql"), достъпна тук:https://www.npmjs.com/package/msnodesql . Въпреки че върши страхотна работа за вградена интеграция към база данни на Microsoft SQL Server (от всеки друг възлов модул), има няколко неща, които трябва да се отбележат.

"msnodesql" изисква няколко предварителни изисквания (като python, VC++, собствен SQL клиент и т.н.), за да бъдат инсталирани на хост машината. Това прави вашето приложение "възел" зависимо от "Windows". Ако сте добре с внедряване, базирано на "Windows", работата с "msnodesql" е най-добрата.

От друга страна, има друг модул, наречен „mssql“ (достъпен тук https://www.npmjs .com/package/mssql ), който може да работи с "tecious" или "msnodesql" въз основа на конфигурацията. Въпреки че този модул може да не е толкова изчерпателен като "msnodesql", той до голяма степен решава повечето от нуждите.

Ако искате да започнете с „mssql“, попаднах на просто и директно видео, което обяснява свързването към база данни на Microsoft SQL Server с помощта на NodeJs тук:https://www.youtube.com/watch?v=MLcXfRH1YzE

Изходният код за горния видеоклип е достъпен тук:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

За всеки случай, ако горните връзки не работят, включвам изходния код тук:

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

Горният код е доста обяснителен. Ние дефинираме db параметрите за връзка (в "dbConfig" JS обект) и след това използваме "Connection" обект за свързване към SQL Server. За да изпълни оператор "SELECT", в този случай той използва обект "Request", който вътрешно работи с обект "Connection". Кодът обяснява и двата варианта на използване на изпълнения, базирани на „обещание“ и „обратно извикване“.

Горният изходен код обяснява само за свързване към база данни на sql сървър и изпълнение на заявка SELECT. Можете лесно да го пренесете на следващото ниво, като следвате документацията за възел "mssql", налична на:https:/ /www.npmjs.com/package/mssql

АКТУАЛИЗАЦИЯ: Тук има нов видеоклип, който извършва CRUD операции, използвайки чист стандарт Node.js REST (с Microsoft SQL Server):https://www.youtube.com/watch?v=xT2AvjQ7q9E . Това е фантастично видео, което обяснява всичко от нулата (има адски много код и няма да е толкова приятно да обяснявате/копирате целия код тук)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Надежден начин за проверка на T-SQL съхранени процедури

  2. Как да променя db схемата на dbo

  3. Промяна на NULL стойности във формат Datetime на празен низ

  4. SQL заявка за времеви интервали. Синтактични грешки.

  5. Sqlcmd:Грешка:Microsoft SQL Server Native Client 10.0:Грешка в комуникационната връзка