续集连接和日志logging问题

我正在尝试使用Sequelize与SQL Server 2012数据库连接。 当我的连接string明显错误时,我看到ECONN REFUSED消息和超时。 现在,我没有得到任何回应,尽pipelogin成功和失败,根据此代码:

import * as Sequelize from 'sequelize'; -- connection string redacted let seqConn = new Sequelize("mssql://**;Initial Catalog=**;Persist Security Info=True;Integrated Security=SSPI; User ID=**; Password=**") seqConn .authenticate() .then(function(err) { console.log('Connection has been established successfully.'); }) .catch(function (err) { console.log('Unable to connect to the database:', err); }); 

我以前使用的语法:

 let seqConn = new Sequelize("DB", "Username", "Password", { dialect: 'mssql', dialectOptions: { instanceName: 'dev' }, host: '**' }; 

但是我找不到集成安全性或其他奇特SQL Server的设置。

无论如何,我目前的连接string不是错误的。 而且,这并不是说连接build立了。

我试着将我的seqConn传递给一个模型来使用它来检索一个模型:

 getModel(seqConn): void { console.log("Getting"); var model = seqConn.define("dbo.Model", { modelID: Sequelize.INTEGER, modelNo: Sequelize.INTEGER, modelName: Sequelize.STRING(50), modelAge: Sequelize.DATE }); seqConn.sync().then(function() { model.findOne() .then( function (modelRes){ console.log("got a result!?"); console.log(modelRes.get("modelName")); }) .catch( function (error){ console.log("it didn't work :( "); }); }); console.log('after getter'); return; } 

我并不确定这是使用续集的正确方法,而且我仍然在build立自己的项目结构,但是现在我希望看到“得到结果”或者错误,但是从这里也没有任何loggingthen()catch() 。 getter之前/之后的日志logging正常。

我认为连接需要很长时间,但是我的IT人员说他看到了我在SQL日志中的成功连接,而且以前我在15000毫秒左右的时间里超时。

通过包含另一个NPM模块解决了问题:`sequelize-msnodesqlv8'

然后连接到Sequelize的代码如下所示:

 var Sequelize = require('sequelize'); var seqConn = new Sequelize({ dialect: 'mssql', dialectModulePath: 'sequelize-msnodesqlv8', dialectOptions: { connectionString: 'Driver={SQL Server Native Client 11.0};[REDACTED]' } }); seqConn .authenticate() .then(function(err) { console.log('Connection has been established successfully.'); }) .catch(function (err) { console.log('Unable to connect to the database:', err); });