Sequelize dialect driver for the @ratanakvlun/node-odbc
module
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
.
npm install sequelize-odbc-mssql
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 */
}
});
The following sequelize
options are used by sequelize-odbc-mssql
. 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
- port - Port if using TCP/IP to connect.
- 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 present.
If a driver is not provided in either dialectOptions.driver
or dialectOptions.connectionString
, sequelize-odbc-mssql
will attempt to detect a driver.
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
}
});
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'
});
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'
});