【发布时间】:2016-09-05 18:49:03
【问题描述】:
我在 Heroku 上运行一个简单的 Node.js 服务器。我已经设置了一个 Azure SQL 数据库,我只是试图从服务器建立到它的连接。我正在使用tedious.js 进行连接。据我所知,我正在遵循文档中的模式,但连接没有通过。这是我拥有的代码(更改的用户名和密码)。现在,从我的浏览器向“/data”页面发出 GET 请求时会调用 connect 函数,但该页面永远不会加载,连接也永远不会通过。有什么指点吗?
var azure = require("azure-storage");
var Connection = require("tedious").Connection;
var config = {
Server : "cultureofthefewpractice.database.windows",
username : "XXXXX",
password : "XXXXX",
options : {
port: 1433,
Database : "cultureofthefewpracticedatabase",
connectTimeout : 3000,
},
};
var connection = new Connection(config);
function connect(request, response) {
connection.on("connect", function(error) {
//If no error, then good to go
console.log("Connected to database! Booyah.");
executeStatement();
response.send("Connected to database! Booyah.");
}, function (info) {
console.log(info);
});
}
exports.connect = connect;
【问题讨论】:
-
我知道您故意隐藏了用户名和密码,但是...
Serveruri 最后缺少.net。不确定您的真实代码是否也缺少它 - 这将是一个问题。另外:您是否打开了 SQL 数据库防火墙以允许来自您的节点应用程序的传入连接? -
代码中缺少 .net - 不知道这是怎么发生的。我补充说。我已经为我的 IP 地址设置了防火墙规则。我应该使用我机器的IP吗?或者我应该从heroku为服务器使用一个单独的IP?
-
它是您的流量来自什么 IP,进入 SQL 数据库。我也会发布答案。
标签: sql-server node.js azure azure-sql-database tedious