【问题标题】:Azure node.js app - override SQL Server port 5984Azure node.js 应用程序 - 覆盖 SQL Server 端口 5984
【发布时间】:2015-11-12 15:33:09
【问题描述】:

Azure 似乎覆盖了我的 SQL Server 端口。

我为端口 1433 配置了它,它在本地运行良好,但在 Azure 上它用 5984 替换端口......导致连接超时。

我正在使用 NPM 模块mssql

【问题讨论】:

  • 不确定你的意思。您能否编辑您的问题以澄清?您是否在 VM 中运行 SQL Server 并且在配置时遇到问题?您是否将节点应用程序推送到 Azure Web 应用程序(网站)?您的节点应用程序是否正在尝试连接到端口 5984?
  • 根据您的问题,我们对故障排除知之甚少。如果您能提供信息,那就太好了。除了@David Makogon 说的,最好能贴出你的mssql 连接的sn-p 代码。

标签: sql-server node.js azure


【解决方案1】:

我为 Azure Web 应用程序上的 Azure SQL 测试连接构建了一个 Express 应用程序,它在我这边运行良好。默认情况下,nodejs mssql 模块已设置端口为 1433,连接 Azure SQL 服务器无需在配置中设置端口。

Azure 不会更改我们在 Azure Web 应用上部署的代码。我认为您需要检查您的代码是否存在错误配置或冲突等问题。

这是我的测试连接功能供您参考。

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 选项卡中配置端口。您可以将私有端口自定义为公共端口。

【讨论】:

    猜你喜欢
    • 2016-06-22
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多