sql >> Base de Datos >  >> RDS >> Sqlserver

Conéctese a la base de datos de SQL Server desde Node.js

Esto es principalmente para futuros lectores. Como la pregunta (al menos el título) se centra en "conectarse a la base de datos del servidor sql desde el nodo js", me gustaría participar en el módulo de nodo "mssql".

En este momento, tenemos una versión estable del controlador de Microsoft SQL Server para NodeJs ("msnodesql") disponible aquí:https://www.npmjs.com/package/msnodesql . Si bien hace un gran trabajo de integración nativa con la base de datos de Microsoft SQL Server (que cualquier otro módulo de nodo), hay un par de cosas a tener en cuenta.

"msnodesql" requiere algunos requisitos previos (como python, VC ++, cliente nativo de SQL, etc.) para instalarse en la máquina host. Eso hace que su aplicación de "nodo" dependa de "Windows". Si está de acuerdo con la implementación basada en "Windows", trabajar con "msnodesql" es lo mejor.

Por otro lado, existe otro módulo llamado "mssql" (disponible aquí https://www.npmjs .com/paquete/mssql ) que puede funcionar con "tedious" o "msnodesql" según la configuración. Si bien este módulo puede no ser tan completo como "msnodesql", resuelve prácticamente la mayoría de las necesidades.

Si desea comenzar con "mssql", encontré un video simple y directo, que explica cómo conectarse a la base de datos de Microsoft SQL Server usando NodeJs aquí:https://www.youtube.com/watch?v=MLcXfRH1YzE

El código fuente del video anterior está disponible aquí:http://techcbt.com/Post/341/Node-js-basic-programming-tutorials-videos/how-to-connect-to-microsoft -sql-server-using-node-js

Por si acaso, si los enlaces anteriores no funcionan, incluyo el código fuente aquí:

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

El código anterior se explica por sí mismo. Definimos los parámetros de conexión db (en el objeto JS "dbConfig") y luego usamos el objeto "Conexión" para conectarnos a SQL Server. Para ejecutar una declaración "SELECT", en este caso, utiliza el objeto "Solicitud" que internamente funciona con el objeto "Conexión". El código explica ambos tipos de uso de ejecuciones basadas en "promesa" y "devolución de llamada".

El código fuente anterior explica solo cómo conectarse a la base de datos del servidor sql y ejecutar una consulta SELECT. Puede llevarlo fácilmente al siguiente nivel siguiendo la documentación del nodo "mssql" disponible en:https:/ /www.npmjs.com/package/mssql

ACTUALIZACIÓN: Hay un nuevo video que realiza operaciones CRUD utilizando el estándar REST de Node.js puro (con Microsoft SQL Server) aquí:https://www.youtube.com/watch?v=xT2AvjQ7q9E . Es un video fantástico que explica todo desde cero (tiene mucho código y no será tan agradable explicar/copiar el código completo aquí)