Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Conecte-se ao banco de dados SQL Server do Node.js


Isto é principalmente para futuros leitores. Como a pergunta (pelo menos o título) se concentra em "conectar-se ao banco de dados do servidor sql a partir do nó js", gostaria de inserir o módulo de nó "mssql".

Neste momento, temos uma versão estável do driver do Microsoft SQL Server para NodeJs ("msnodesql") disponível aqui:https://www.npmjs.com/package/msnodesql . Embora faça um ótimo trabalho de integração nativa ao banco de dados Microsoft SQL Server (do que qualquer outro módulo de nó), há algumas coisas a serem observadas.

"msnodesql" requer alguns pré-requisitos (como python, VC++, cliente nativo SQL etc.) Isso torna seu aplicativo "nó" dependente do "Windows". Se você está bem com a implantação baseada em "Windows", trabalhar com "msnodesql" é o melhor.

Por outro lado, existe outro módulo chamado "mssql" (disponível aqui https://www.npmjs .com/package/mssql ) que pode funcionar com "tedious" ou "msnodesql" com base na configuração. Embora este módulo possa não ser tão abrangente quanto o "msnodesql", ele praticamente resolve a maioria das necessidades.

Se você gostaria de começar com "mssql", me deparei com um vídeo simples e direto, que explica como se conectar ao banco de dados Microsoft SQL Server usando NodeJs aqui:https://www.youtube.com/watch?v=MLcXfRH1YzE

O código-fonte do vídeo acima está disponível aqui:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-usando-node-js

Apenas no caso, se os links acima não estiverem funcionando, estou incluindo o código-fonte aqui:


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

O código acima é bastante autoexplicativo. Definimos os parâmetros de conexão db (no objeto JS "dbConfig") e, em seguida, usamos o objeto "Connection" para conectar ao SQL Server. Para executar uma instrução "SELECT", neste caso, utiliza-se o objeto "Request" que trabalha internamente com o objeto "Connection". O código explica os dois tipos de uso de execuções baseadas em "promessa" e "retorno de chamada".

O código-fonte acima explica apenas como conectar-se ao banco de dados do sql server e executar uma consulta SELECT. Você pode facilmente levá-lo para o próximo nível seguindo a documentação do nó "mssql" disponível em:https:/ /www.npmjs.com/package/mssql

ATUALIZAÇÃO: Há um novo vídeo que faz operações CRUD usando o padrão REST Node.js puro (com Microsoft SQL Server) aqui:https://www.youtube.com/watch?v=xT2AvjQ7q9E . É um vídeo fantástico que explica tudo do zero (tem muito código e não será tão agradável explicar/copiar o código inteiro aqui)