【发布时间】:2018-01-20 11:31:45
【问题描述】:
我正在尝试连接到 SQL Server 实例,但尝试连接时定义了错误的端口。
无法连接到数据库:{ SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306
在 Handshake._callback (C:\test\ExpressGeneric\node_modules\sequelize\lib\dialects\mysql\connection-manager.js:80:20)
在 Handshake.Sequence.end (C:\test\ExpressGeneric\node_modules\mysql\lib\protocol\sequences\Sequence.js:88:24)
在 Protocol.handleNetworkError (C:\test\ExpressGeneric\node_modules\mysql\lib\protocol\Protocol.js:363:14)
在 Connection._handleNetworkError (C:\test\ExpressGeneric\node_modules\mysql\lib\Connection.js:428:18) 在 emitOne (events.js:96:13) 在 Socket.emit (events.js:188:7) 在 emitErrorNT (net.js:1277:8) 在 _combinedTickCallback (内部/进程/next_tick.js:80:11) 在 process._tickCallback (internal/process/next_tick.js:104:9) name: 'SequelizeConnectionRefusedError', 消息:'连接 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 中指定的方式在配置中指定端口
标签: sql-server node.js sequelize.js