ratanakvlun / sequelize-odbc-mssql

Sequelize dialect driver for the @ratanakvlun/node-odbc module
ISC License
3 stars 2 forks source link
database nodejs odbc sequelize sql

sequelize-odbc-mssql

Sequelize dialect driver for the @ratanakvlun/node-odbc module

npm version npm downloads

The sequelize-odbc-mssql module is a MSSQL dialect driver for sequelize.

There are many Node.js MSSQL clients and sequelize defaults to using tedious, but being pure Javascript,tedious lacks support for integrated security on Windows systems. @ratanakvlun/node-odbc is a client that interfaces with a native ODBC library which allows integrated security to be used.

The purpose of sequelize-odbc-mssql is to provide sequelize with a dialect driver for @ratanakvlun/node-odbc.

Installation

npm install sequelize-odbc-mssql

Usage

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

const Sequelize = require('sequelize');

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

Configuration

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

If a driver is not provided in either dialectOptions.driver or dialectOptions.connectionString, sequelize-odbc-mssql will attempt to detect a driver.

Example: Using a connection string directly with sequelize pooling.

let db = new Sequelize({
  dialect: 'mssql',
  dialectModulePath: 'sequelize-odbc-mssql',
  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 Windows authentication.

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

Example: Using SQL authentication.

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