2016-04-11 50 views
0

我想连接本地机器上的SQL Server并获取一些数据。
这里是我的代码:Node.js连续SQL数据库连接问题

var sql = require("seriate"); 
var config = { 
    "host":"127.0.0.1", 
    "port": "1433", 
    "user": "dba", 
    "password": "test1234", 
    "database": "TheWorldDB" 
}; 

sql.setDefaultConfig(config); 

sql.execute({ 
    query: "SELECT * FROM dbo.Trip" 
}).then(function (results) { 
    console.log(results); 
}, function (err) { 
    console.log("Something bad happened:", err); 
}); 

而且我得到以下错误消息:

SqlContext错误。在步骤“结果”上失败:“没有为该请求指定连接”。
代码:“ENOCONN”

我查了一下数据表,密码,查询等一切是正确的,不知道为什么它没有连接,有一点信息,我可以在网上找到为好。任何建议将被认真考虑。

+0

确保用户是数据库的所有者确保您在数据库服务器本身上使用混合模式登录。确保您使用默认端口来访问数据库服务器。 – Chris

+0

@Chris你好,基督,再次检查,一切都是正确的。但我注意到SQL Server的TCP/IP被禁用。不知道这是否会有所作为? – user1491987

+0

这看起来很奇怪。我会继续并启用它。 – Chris

回答

3

回答我自己的问题: 检查是否为Sql Server启用了TCP/IP,如果没有启用它。

转到SQL Server配置管理器,单击SQL Server网络配置,然后单击MSSQLSERVER的协议。您应该能够看到TCP/IP状态。

我的思考过程: 1.写了一小段连接到相同数据库的.net Web应用程序,工作正常。 2.在命令提示符下,尝试“ping x.x.x.x”工作正常,尝试“telnet x.x.x.x 1433”连接失败。

如果上述答案无法解决您的问题,请检查用户名,db的密码是否正确,以及端口号是否正确。

3

我遇到了同样的问题。我的问题是在我的配置对象中使用“服务器”而不是“主机”。