首页 > 解决方案 > 尝试通过 knex 连接到 Mssql 服务器

问题描述

我正在尝试使用 knex 连接到远程数据库,但我收到此错误:“不推荐使用繁琐的默认值options.encrypt将从更改false为。如果您想保留当前行为,true请明确传递。在 node_modules\mssql\lib\tedious。 falsejs:212:23 未处理的拒绝 ConnectionError: 无法连接到 151.80.119.227,14831:1433 - getaddrinfo ENOTFOUND 151.80.119.227,14831"

我可以通过 Microsoft sql server management studio 使用相同的主机、用户、密码进行连接,所以我迷路了。

编辑:这就是我创建 knex var 的方式:

 var knex = require('knex')({
  client: 'mssql',
  connection: {
    server : '151.80.119.227,14831',
    user : '****',
    password : '****',
    database : '****'
  }
});

我可以通过 python 连接到它:

 con = pyodbc.connect("DRIVER={SQL Server};server=151.80.119.227,14831;database=*****;uid=****;pwd=****")

那么为什么它不能通过 node.js 连接....

标签: sql-servernode.jsknex.js

解决方案


端口实际上应该在 MSSQL 选项变量中指定:

 var knex = require('knex')({
  client: 'mssql',
  connection: {
    server : '151.80.119.227',
    user : '****',
    password : '****',
    database : '****',
    options: {
      port: 14831
    }
  }
});

这是通过阅读https://github.com/tgriesser/knex/blob/v0.16.2/src/dialects/mssql/index.js上的代码


推荐阅读