npm.io
1.0.17 • Published 4 years ago

crcis-mssql-context

Licence
ISC
Version
1.0.17
Deps
2
Size
7 kB
Vulns
0
Weekly
0

About Project

Provide the main entry for connecting to MSSQL is the most project goal. This project is a wrapper for the MSSQL Node.js package. I use the config package for supporting multiple databases in the project.

Config sample

{
    "dbConfig": {
        "databaseName1": {
            "host": "DomainNameOrDomainIP",
            "port": 1433,
            "database": "YourDatabaeName",
            "userName": "YourDatabaseUserName",
            "password": "YourDatabasePassword"
        },
        "databaseName2": {
            "host": "DomainNameOrDomainIP",
            "port": 1433,
            "database": "YourDatabaeName",
            "userName": "YourDatabaseUserName",
            "password": "YourDatabasePassword"
        }
    },
}
Simple Code Sample
const context = require("crcis-mssql-context");

module.exports = async function () {
  await context
    .runCommand("databaseName", "SELECT @@VERSION AS [version]")
    .then((result) => {
      if (result !== null && result[0] !== null) console.log(result[0].version);
    })
    .catch((err) => console.log(err));
};
Using Table Valued Parameters (TVP)
const context = require("crcis-mssql-context");

module.exports.create = async (rows) => {
    let paramList = [];
    context.addInputParamToTVP("column1", "int", paramList);
    context.addInputParamToTVP("column2", "varchar", paramList);
    context.addInputParamToTVP("column3", "nvarchar", paramList);

    let tvp = context.createSqlTable(paramList);

    for (let i = 0; i < rows ; i++) {
      tvp.rows.add(
        parseInt(rows[i].value1),
        rows[i].value2,
        rows[i].value3       
      );
    }

    await context
      .runStoredProcedure("databaseName","spName", null, "tvpName",tvp)
      .then((data) => {
        
      })
      .catch((err) => {
        console.log(err);
      });
}

Keywords