【问题标题】:Node.js sequelize-auto fails to connect to mssql database socket hang upNode.js sequelize-auto 无法连接到 mssql 数据库套接字挂断
【发布时间】:2020-08-09 07:03:53
【问题描述】:

我正在尝试使用 sequelize cli 和 sequelize-auto 包来读取现有的 MSSQL 数据库架构,以便为每个表搭建模型。

但是我遇到了“ConnectionError: Failed to connect to [myDatabse FQDN]:1433 - socket hang up”。

我有另一个 MSSQL node.js 应用程序,它使用 /mssql/msnodesqlv8 连接良好,所以我确信这不是数据库服务器端的问题,并且两个应用程序传递的所有连接参数都是相同的。

sequelize 文档需要繁琐(已安装),而 sequelize-auto github 文档似乎建议将 msssql 模块作为连接方法(也已安装),因此不清楚使用的是哪个以及是否需要手动配置其中的任何内容,例如超时设置。

鉴于 sequelize 模块旨在作为输入数据库详细信息的顶级配置,并且一旦将“mssql”作为方言选项传递,只需利用 mssql 连接器模块所需的任何内容,我真的不确定在哪里开始。

非常感谢任何帮助!

一些附加信息:已经成功测试了与 sequelize 模块的连接以及使用“sequelize getting-started”文档中的 sn-p 的乏味:

try {
  await sequelize.authenticate();
  console.log('Connection has been established successfully.');
} catch (error) {
  console.error('Unable to connect to the database:', error);
}

然后尝试使用 tedious 重复连接测试,但失败并出现相同的套接字挂起错误。还尝试使用 sequelize-auto 文档中的 API 代码(之前一直在使用 CLI),但仍然出现相同的套接字挂起错误。

【问题讨论】:

  • 这还有问题吗?你使用的是什么版本的sequelizesequelize-auto

标签: sql-server sockets sequelize.js database-connection sequelize-auto


【解决方案1】:

如果您的 Nodejs 是 6.3 或更高版本并且 SQL server 2005。 您的数据库配置应该是:

var dbConfig = {

            user: "xxxx",
            password: "xxxx",
            server: "xxxx",
            database: "xxxx",
            "options": {
                "encrypt": false
            }

【讨论】:

    猜你喜欢
    • 2020-12-19
    • 1970-01-01
    • 2012-03-24
    • 2013-03-15
    • 2020-03-07
    • 2019-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    相关资源
    最近更新 更多