/sequelize-msnodesqlv8

A sequelize dialect driver for the msnodesqlv8 module.

Primary LanguageJavaScriptISC LicenseISC

sequelize-msnodesqlv8

The sequelize-msnodesqlv8 module is a mssql dialect driver for sequelize.

There are many node mssql clients and sequelize defaults to using tedious, but being pure javascript,tedious lacks support for integrated security. msnodesqlv8 is a client that interfaces with a native odbc library. This allows integrated security to be used. It does require additional binaries to deploy, but fortunately, msnodesqlv8 is distributed with binaries for the most common architectures.

The purpose of sequelize-msnodesqlv8 is to provide a dialect driver to sequelize so that msnodesqlv8 can be used instead of tedious.

Installation

npm install sequelize-msnodesqlv8

Usage

Using sequelize-msnodesqlv8 is simple. Just specify sequelize-msnodesqlv8 as the dialectModulePath:

const Sequelize = require('sequelize');

let db = new Sequelize({
  dialect: 'mssql',
  dialectModulePath: 'sequelize-msnodesqlv8',
  dialectOptions: {
    /* Configuration */
  }
});

Configuration

The following options are used by sequelize-msnodesqlv8. Options specific to sequelize like pooling still apply to the sequelize layer.

  • database - Name of the database to use.
  • username - Username if using SQL authentication.
  • password - Password if using SQL authentication.
  • host - Hostname of the server. Default: localhost
  • dialectOptions.driver - Name of the odbc driver to use (e.g. SQL Server Native Client 10.0).
  • dialectOptions.instanceName - Name of the instance to connect to.
  • dialectOptions.trustedConnection - Indicates whether integrated security should be used. Default: false
  • dialectOptions.connectionString - Connection string to use. Overrides all other options.

If a driver is not provided in either dialectOptions.driver or the connection string, sequelize-msnodesqlv8 will attempt to detect the driver.

Example: Using a connection string directly with sequelize pooling.

let db = new Sequelize({
  dialect: 'mssql',
  dialectModulePath: 'sequelize-msnodesqlv8',
  dialectOptions: {
    connectionString: 'Driver={SQL Server Native Client 10.0};Server=localhost\\SQLEXPRESS;Database=finances;Trusted_Connection=yes;'
  },
  pool: {
    min: 0,
    max: 5,
    idle: 10000
  }
});

Example: Using options for Windows authentication.

let db = new Sequelize({
  dialect: 'mssql',
  dialectModulePath: 'sequelize-msnodesqlv8',
  dialectOptions: {
    driver: 'SQL Server Native Client 10.0',
    instanceName: 'SQLEXPRESS',
    trustedConnection: true
  },
  host: 'localhost',
  database: 'finances'
});

Example: Using options for SQL authentication.

let db = new Sequelize({
  dialect: 'mssql',
  dialectModulePath: 'sequelize-msnodesqlv8',
  dialectOptions: {
    driver: 'SQL Server Native Client 10.0',
    instanceName: 'SQLEXPRESS'
  },
  host: 'localhost',
  username: 'sa',
  password: 'password',
  database: 'finances'
});