Sequelize를 사용하여 SQL Server 2012 데이터베이스에 연결하려고합니다. 연결 문자열이 틀렸을 때 ECONN REFUSED 메시지와 제한 시간이 표시되었습니다. 지금, 나는이 코드 당, 성공 로그온 실패에도 불구하고, 어떤 반응을 얻고 있지 않다 것은 : 내가 이전에 구문을 사용했다연결 및 로깅 문제 연속화
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 기능을 제공합니다.
상관없이 현재 연결 문자열에 오류가 없습니다. 또한 연결이 설정되었다는 것은 아닙니다.
나는 모델을 검색하는 데 사용하는 모델에 내 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;
}
나는이 sequelize를 사용할 수있는 권리 방법이라고 확신 아니에요, 그리고 난 아직도 내 프로젝트를 구축하고있어 구조가 있지만 지금은 "결과가 있습니다"또는 오류가 표시 될 것으로 예상되지만 여기서는 then()
또는 catch()
에서 로깅하는 것이 없습니다. 이전/이후 getter 로그는 잘 기록됩니다.
연결하는 데 오랜 시간이 걸렸다 고 생각했지만 IT 팀은 SQL 로그에서 성공적인 연결을 보았으며 이전에는 약 15,000 밀리 초 내에 시간 초과가 발생했습니다.