节点mssql从Linux连接到Windows无法正常工作

时间:2018-01-23 07:19:00

标签: sql-server node.js linux window-server

我已经在stackoverflow中搜索了很多关于这个问题的问题但是没有我能找到解决方案。

我有2台服务器。测试A:运行Linux ubuntu 14.04,测试B:Windows服务器2008.两台服务器都在同一网络中。

测试B:运行MSSQL服务器的Windows服务器。我检查了它正在运行的TCP/IP enabled,端口是1433(IPALL)。我确认SQL server browser正在服务器中运行。 PORT也在网络内部打开。

现在来自测试A:我正在尝试使用PORT 1433连接测试B的MSSQL以及网络中机器的私有IP。但我得到Error creating connection pool { Error: Failed to connect to PRIVATEIP:1433 in 1500ms

我在同一个网络测试C中有一台机器,它是一台Windows 7机器。我使用SQL服务器管理工​​作室和相同的节点脚本,在这种情况下从Windows 7它工作正常。我可以使用相同的代码和配置连接到SQL服务器。

我正在使用Express, MSSQL包连接到MSSQL服务器。我也使用过tedious但同样的问题。

var express = require("express");
var sql = require("mssql");
var config = require("./config.json");

console.log(config.mssql); // i can see the mssql configs here

var conPool = new sql.ConnectionPool(config.mssql);

var app = express();
var PORT = 8080;

conPool.connect(function(err){
        if(err){
            console.error('Error creating connection pool', err);          
        } else {
            console.log('Connection pool is opened');
            app.use(function (req, res, next) {
            req.cp = conPool;
            next();
        })
        require('./routes')(app);
        app.listen(PORT, function () {
            console.log("Server started in port", PORT);
        })

    }
});

连接字符串位于下方。

{
    "mssql": {
        "user": "username",
        "password": "password",
        "server": "10.789.456.123",
        "database": "Database",
        "port": 1433,
        "dialect": "mssql",
        "dialectOptions": {
            "instanceName": "MSSQLEXPRESS"
        },
        "pool": {
            "min": 2,
            "max": 10
        }                             
    }   
}

我不知道是否要在linux中安装一些mssql驱动程序或其他一些问题。但只有从linux我无法访问。

0 个答案:

没有答案