File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -95,7 +95,7 @@ const config = {
9595 trustedConnection: true , // Set to true if using Windows Authentication
9696 trustServerCertificate: true , // Set to true if using self-signed certificates
9797 },
98- driver: " msnodesqlv8 " , // Required if using Windows Authentication
98+ // driver: "ODBC Driver 18 for SQL Server ", // Uncomment to use specific driver
9999};
100100
101101(async () => {
Original file line number Diff line number Diff line change @@ -9,7 +9,7 @@ const ConnectionError = require('../error/connection-error')
99const { platform } = require ( 'node:os' )
1010const { buildConnectionString } = require ( '@tediousjs/connection-string' )
1111
12- const CONNECTION_DRIVER = [ 'darwin' , 'linux' ] . includes ( platform ( ) ) ? 'ODBC Driver 17 for SQL Server' : 'SQL Server Native Client 11.0'
12+ const DEFAULT_CONNECTION_DRIVER = [ 'darwin' , 'linux' ] . includes ( platform ( ) ) ? 'ODBC Driver 17 for SQL Server' : 'SQL Server Native Client 11.0'
1313
1414class ConnectionPool extends BaseConnectionPool {
1515 _poolCreate ( ) {
@@ -23,7 +23,7 @@ class ConnectionPool extends BaseConnectionPool {
2323
2424 if ( ! this . config . connectionString ) {
2525 cfg . conn_str = buildConnectionString ( {
26- Driver : CONNECTION_DRIVER ,
26+ Driver : this . config . driver && this . config . driver !== 'msnodesqlv8' ? this . config . driver : DEFAULT_CONNECTION_DRIVER ,
2727 Server : this . config . options . instanceName ? `${ this . config . server } \\${ this . config . options . instanceName } ` : `${ this . config . server } ,${ this . config . port } ` ,
2828 Database : this . config . database ,
2929 Uid : this . config . user ,
Original file line number Diff line number Diff line change @@ -241,6 +241,41 @@ describe('msnodesqlv8', function () {
241241 after ( ( ) => sql . close ( ) )
242242 } )
243243
244+ describe ( 'config().driver tests' , function ( ) {
245+ it ( 'cfg.driver is undefined' , done => {
246+ const cfg = config ( )
247+ cfg . driver = undefined
248+ sql . connect ( cfg , done )
249+ } )
250+
251+ // Specifically for Windows
252+ it ( 'cfg.driver is SQL Server Native Client 11.0' , done => {
253+ const cfg = config ( )
254+ cfg . driver = 'SQL Server Native Client 11.0'
255+ sql . connect ( cfg , done )
256+ } )
257+
258+ it ( 'cfg.driver is invalid' , done => {
259+ const cfg = config ( )
260+ cfg . driver = 'aaTESTING1234'
261+
262+ sql . connect ( cfg , function ( err ) {
263+ if ( err ) {
264+ // Specifically for Windows
265+ if ( err . message === '[Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified' ) {
266+ return done ( )
267+ }
268+
269+ return done ( new Error ( 'Incorrect error message shown' ) )
270+ }
271+
272+ return done ( new Error ( 'No error message shown' ) )
273+ } )
274+ } )
275+
276+ afterEach ( ( ) => sql . close ( ) )
277+ } )
278+
244279 after ( 'cleanup' , done =>
245280 sql . connect ( config ( ) , function ( err ) {
246281 if ( err ) return done ( err )
You can’t perform that action at this time.
0 commit comments