尝试通过knex连接到Mssql服务器

时间:2018-06-14 12:50:18

标签: sql-server node.js knex.js

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

我可以通过Microsoft sql server管理工作室连接相同的主机,用户,密码,所以我迷路了。

编辑: 这就是我创建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 ....

连接

2 个答案:

答案 0 :(得分:2)

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

 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上的代码

答案 1 :(得分:0)

node-mssql驱动程序的端口应设置如下:

{
  dialect: 'mssql',
  connection: {
    user: "sa",
    password: "S0meVeryHardPassword",
    server: "151.80.119.227",
    port: 14831,
    database: "knex_test"
  }
}