繁体   English   中英

在 NodeJs 中使用 tedius 和 sequelize 的 SQL Server 连接

[英]SQL Server connection using tedius and sequelize in NodeJs

尝试在NodeJs Sequelize 中连接 SQL Server Local 数据库时出现以下错误。

name: 'SequelizeHostNotFoundError',
消息:'无法连接到 abcdd\\SQL2K12:1433 - getaddrinfo ENOTFOUND abcdd\\SQL2K12',
代码:'ESOCKET

以下是我的配置设置,凭据正确

    "use_env_variable": false,
    "username": "username",
    "password": "password@123",
    "database": "db_test",
    "host": "abcdd\\SQL2K12",  //actual db hotsname is abcdd\SQL2K12
    "dialect": "mssql",
    "operatorsAliases": false,
    "dialectOptions": {
      "encrypt": true,
      "trustedConnection": true
    }

在 SSMS 中它工作正常。 端口号有问题吗? 因为我没有在 SSMS 中使用端口。

对我来说,添加instanceName而不是放置 server: 'SERVER\\SQLSERVER2K06' ,只需放置"SERVER"

var config = {
  server: 'SERVER',
  authentication: {
    type: 'default',
    options: {
      userName: 'user', 
      password: '*****' 
      }
  },
  options: {
      database: 'NAME',
      instanceName: 'SQLSERVER2K06' /*It Works! */
  }
}

对于乏味:options.instanceName

要连接的实例名称。 SQL Server Browser 服务必须在数据库服务器上运行,并且必须可以访问数据库服务器上的 UDP 端口 1434。 (无默认)与 options.port 互斥。

检查评论: https : //github.com/tediousjs/node-mssql/issues/130

var config = { userName: 'test01', password: 'test01', server: 'localhost', options: { "database":"TestDB", "instanceName": "SQL2012" } };

在你的情况下 var config = { server: 'abcdd', options: {"instanceName": "SQL2K12" } };

此外,请确保在您的 SQL Server 上启用 TCP:Sql Server 配置管理器 > SQL Server 网络配置 > SQLSERVER 协议 > TCP/IP

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM