sql-server - 尝试通过 knex 连接到 Mssql 服务器
问题描述
我正在尝试使用 knex 连接到远程数据库,但我收到此错误:“不推荐使用繁琐的默认值options.encrypt
将从更改false
为。如果您想保留当前行为,true
请明确传递。在 node_modules\mssql\lib\tedious。 false
js: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 连接....
解决方案
端口实际上应该在 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上的代码