【发布时间】:2014-07-17 23:13:04
【问题描述】:
我有一个可以从 ASP.NET 连接到的数据库。我现在正在尝试通过 Node.js 连接到该数据库。我正在尝试做一些基准测试。在尝试通过 Node.js 连接到数据库时,我使用了mssql package。我的代码如下所示:
var sql = require('mssql');
var connectionString = {
user: '[myUserName]',
password: '[myPassword]',
server: 'tcp:[serverName].database.windows.net',
database: '[databaseName]',
options: {
encrypt: true // Use this if you're on Windows Azure
}
};
try {
sql.connect(connectionString, function(err) {
if (err) {
console.log(err);
return;
}
var request = new sql.Request();
request.query('select top 5 from Logs', function(err, recordset) {
if (err) {
console.log(err);
return;
}
});
});
} catch (ex1) {
}
当我执行此代码时,我收到一条错误消息:
{ name: 'ConnectionError',
message: 'Failed to connect to tcp:[serverName].database.windows.net:1433 - getaddrinfo ENOTFOUND',
code: 'ESOCKET' }
我的问题是,如何从 Node.js 连接到 SQL Azure?我正在尝试运行基本查询。不幸的是,我觉得卡住了。我必须在我的连接字符串中做一些不正确的事情。非常感谢任何帮助。
【问题讨论】:
-
我在 Azure 上部署的两个应用程序之一面临同样的问题。奇怪的是两者都在本地工作正常,但是当我推送它们时只有一个工作,尽管它们都有相同的配置/查询代码。
-
你找到解决办法了吗?
-
你在设置Azure数据库的时候设置了防火墙和路由器吗?以下帖子有一些可能会有所帮助的说明 - azure.microsoft.com/en-us/documentation/articles/…
-
不,我可以在其他任何地方运行数据库时连接到数据库。此外,我什至可以在
.scm.azurewebsites.net 的命令行实用程序中运行示例节点脚本,它可以很好地连接到数据库。只有在运行 server.js 脚本时才使用我的测试脚本中的确切代码。 -
在您对(现已删除的)答案的评论中,您提到您找到了解决此问题的方法。请添加您的答案,以便其他人可以从该知识中受益。添加答案后,您也可以等待 48 小时,如果没有其他人提供更好的答案,则选择您的答案作为正确答案。