Node.js 无法使用knex连接Sql server
我正在使用Node.js 无法使用knex连接Sql server,node.js,sql-server,express,knex.js,Node.js,Sql Server,Express,Knex.js,我正在使用Knex.js连接sqlserver,使用Node.js。这是我到目前为止试过的 npm init npm安装knex--保存 npm安装mssql-g nodemon index.js 和index.js文件 var knex = require('knex')({ client: 'mssql', connection: { user: 'sa', password: 'Password@123', server: 'manikant/SQLE
Knex.js
连接sqlserver
,使用Node.js
。这是我到目前为止试过的
npm init
npm安装knex--保存
npm安装mssql-g
nodemon index.js
index.js
文件
var knex = require('knex')({
client: 'mssql',
connection: {
user: 'sa',
password: 'Password@123',
server: 'manikant/SQLEXPRESS',
database: 'myDb' ,
options: {
port: 1433
}
}
});
app.get('/getData',(req,res)=>{
const data = {};
knex.select("*").from("usr")
.then(function (depts){
depts.forEach((dept)=>{ //use of Arrow Function
console.log({...dept});
data = {dept}
});
}).catch(function(err) {
console.log(err);
}).finally(function() {
knex.destroy();
});
res.json({data})
})
但是获取错误消息:“未能连接到manikant/SQLEXPRESS:1433-getaddrinfo ENOTFOUND manikant/SQLEXPRESS”,
代码:“ESOCKET”
},
TCP/IP
协议在端口1433
上启用,并且Sql server browser
正在运行。
注意:-能够连接java应用程序。因此,似乎只有knex有问题。我的错,我设置了错误的
服务器
名称。为什么会这样,因为当我执行
select @@SERVERNAME
查询SQLServerManagementStudio,它给了我manikant/SQLEXPRESS
,但是SQLEXPRESS
不需要在这里填写。所以现在config
看起来像
var knex = require('knex')({
client: 'mssql',
connection: {
user: 'sa',
password: 'Password@123',
server: 'manikant',
database: 'myDb' ,
options: {
port: 1433
}
}
});
希望其他人避免这个错误。[可能的重复]@ErenYatkin不会与现有的重复,因为我已经指定了
端口选项