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
.
npm install sequelize-msnodesqlv8
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 */
}
});
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.
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
}
});
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'
});
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'
});