我試圖連接到SQL Server實例,但嘗試連接時正在定義錯誤的端口。Sequelize:無法連接到SQL Server - 正在傳遞不正確的端口
Unable to connect to the database: { SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306
at Handshake._callback (C:\test\ExpressGeneric\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:80:20)
at Handshake.Sequence.end (C:\test\ExpressGeneric\node_modules\mysql\lib\protocol\sequences\Sequence.js:88:24)
at Protocol.handleNetworkError (C:\test\ExpressGeneric\node_modules\mysql\lib\protocol\Protocol.js:363:14)
at Connection._handleNetworkError (C:\test\ExpressGeneric\node_modules\mysql\lib\Connection.js:428:18) at emitOne (events.js:96:13) at Socket.emit (events.js:188:7) at emitErrorNT (net.js:1277:8) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9) name: 'SequelizeConnectionRefusedError', message: 'connect ECONNREFUSED 127.0.0.1:3306',
我不知道爲什麼會發生這種情況。
這是我的配置設置。我只改變了這個帖子的pass和db,我在連接時使用了正確的憑據。
config.sql = {
host: 'sql2012dev',
database: 'db',
user: 'sa',
password: 'pass'
}
這裏是我的聯繫。
const sequelize = new Sequelize(config.sql.database, config.sql.user, config.sql.password, {
host: config.sql.host,
dialect: 'mssql',
port: '1433',
driver: 'tedious',
dialectOptions:{
instanceName: MSSQLSERVER
},
define: {
timestamps: false
},
pool: {
max: 5,
min: 0,
idle: 10000
},
})
我可以使用管理工作室遠程連接到它。命名管道和SQL瀏覽器已啓用。
我還必須運行npm mysql才能啓動應用程序。
這裏是我的依賴,以防萬一
"dependencies": {
"async": "2.1.5",
"body-parser": "1.17.1",
"client-sessions": "0.7.0",
"cookie-parser": "1.4.3",
"crypto": "0.0.3",
"debug": "2.6.2",
"ejs": "2.5.6",
"express": "4.15.2",
"helmet": "3.5.0",
"jquery": "3.1.1",
"moment": "2.17.1",
"morgan": "1.8.1",
"mssql": "^4.0.4",
"nsp": "2.6.3",
"sendgrid": "4.8.0",
"sequelize": "^3.14.1",
"tedious": "^2.0.0"
}
}
您還沒有指定您的配置的端口號。在[NodeJsConnection]中指定配置中指定的端口(https://stackoverflow.com/questions/10309540/connect-to-sql-server-database-from-node-js#31989348) –