Azure似乎覆盖了我的SQL Server端口..
我已将它配置为端口1433并且它在本地完美运行但在Azure上它用5984替换端口..导致连接超时。
我正在使用NPM模块mssql
答案 0 :(得分:0)
我在Azure Web Apps上构建了一个带有Azure SQL测试连接请求函数的Express应用程序,它可以正常使用。默认情况下,nodejs mssql模块已将端口设置为1433,并且要连接到Azure SQL服务器,则无需在配置中设置端口。
Azure不会更改我们在Azure Web Apps上部署的代码。我认为您需要检查您的代码是否有任何错误配置或冲突。
这是我的测试连接功能,供您参考。
app.get('/mssql',function(req,res){
var sql = require('mssql');
var config = {
user: 'username',
password: 'password',
server: '{servername}.database.windows.net', // You can use 'localhost\\instance' to connect to named instance
database: '{database name}',
port:1433,
options: {
encrypt: true // Use this if you're on Windows Azure
}
}
var connection = new sql.Connection(config, function(err) {
// ... error checks
// Query
var request = new sql.Request(connection); // or: var request = connection.request();
request.query('select 1 as number', function(err, recordset) {
// ... error checks
res.send(recordset);
});
});
connection.on('error', function(err) {
// ... error handler
});
})
另一方面,如果您的SQL Server数据库位于Azure VM上,则可以直接在VM门户网站的 ENDPOINT 选项卡中配置端口。您可以将私有端口自定义为公共端口。