6

当我使用mssqlnode.js 的模块连接到 SQL Server 时收到错误消息。

[错误:连接到 192.168.1.101\sql:1433 - 失败错误:getaddrinfo ENOENT]

var config = {
    //driver: 'msnodesql',
    user: '...',
    password: '...',
    server: '192.168.1.101\\sql',
    //TCP/IP 127.0.0.1
    database: 'ACCOUNTDB'
};
4

4 回答 4

18

使用带有此配置的繁琐驱动程序时,您应该能够连接到命名实例:

var config = {
    user: '...',
    password: '...',
    server: '192.168.1.101',
    driver: 'tedious',
    database: 'ACCOUNTDB',
    options: {
        instanceName: 'sql'
    }
};

文档还说:

SQL Server Browser 服务必须在数据库服务器上运行,并且数据库服务器上的 UDP 端口 1444 必须可以访问。

msnodesql 驱动程序的配置稍微复杂一些,因为它的连接字符串默认不支持命名实例(将来应该更改):

var config = {
    user: '...',
    password: '...',
    server: '192.168.1.101',
    driver: 'msnodesql',
    database: 'ACCOUNTDB',
    connectionString: "Driver={SQL Server Native Client 11.0};Server=#{server}\\sql;Database=#{database};Uid=#{user};Pwd=#{password};"
};
于 2014-01-25T04:00:29.393 回答
2

好的,我有同样的问题,会尽力帮助。这是我的配置示例

const config = {
    user: 'sa',
    password: '****',
    server: 'DESKTOP-Q5TO47P',
    database: 'dbname',
    options: {           
        encrypt: false
    }
};

您需要打开 SQL Server 浏览器。转到启动菜单或搜索并查找 SQL Server 配置管理器。运行!(我使用的是 2018 版本)

  • 在左侧选项卡中单击 SQL Server 服务
  • 现在在右侧选项卡中双击 SQL Server Browser
  • 将打开一个窗口,您将看到 3 个选项卡,转到“服务”选项卡
  • 将启动模式更改为自动并应用
  • 左键单击 SQL Server Browser 并单击重新启动
  • 返回右侧选项卡单击 SQL Server 网络配置
  • 然后是客户端协议
  • 更改 TCP/IP 以启用
于 2018-09-13T09:58:04.697 回答
1

引起我注意的是 port 和 instanceName 是互斥的。这意味着您只需要一个或另一个。

于 2014-12-11T22:51:55.037 回答
0

我最近遇到了这个问题,我试图连接托管在远程服务器上的 MSSQL。我必须使用的配置是-

let config = {
    user: 'user',
    password: 'password',
    server: 'server',
    database: 'database',
    "options":{
        instanceName: 'instanceName',
        "encrypt":true,
        "enableArithAbort":true,
        "trustServerCertificate": true,
       }
};
module.exports=config;

要获取实例名称,请在 SSMS 中使用 SELECT @@servicename

于 2021-06-15T15:43:09.243 回答