【问题标题】:Problems in connecting with SQL Server using node js?使用 node js 连接 SQL Server 时出现问题?
【发布时间】:2017-01-24 08:35:33
【问题描述】:

我正在尝试使用节点 js 连接到托管在远程服务器中的远程 sql 服务器数据库。现在,我尝试使用 c# 连接到同一个数据库,并且一切正常,但我尝试使用 Node 进行相同的操作,并且不断收到错误日志。我无法理解是我自己的问题还是服务器的问题。

var sql = require('mssql');

var config = {
    userName: 'realm',
    password: 'friend',
    server: '172.10.3.22',

    options: {

        database: 'ElmaTest',
        instancename: 'SQL2014'
    }
};




var updateMember = function( username, password) {
    return sql.execute( {
        procedure: "updateMember",
        params: {

            firstName: {
                type: sql.NVARCHAR,
                val: username
            },
            lastName: {
                type: sql.NVARCHAR,
                val: password
            }
        }
    } );
};

function  connecttoDb() {

  //  updateMember("elma","pass1234");
    sql.connect(config, function (err) {

        if (err) console.log("message" + err);


    });


}

module.exports.datavalue = connecttoDb();

错误日志:- 在http://:::8081 收听的示例应用程序 messageConnectionError:无法连接到 172.10.3.22:1433 - 连接 ECONNREF 使用 172.10.3.22:1433

问题是相同的连接字符串适用于 c# 但拒绝适用于 Node js。

C# 连接字符串:

<add name="ElmaReport" connectionString="Data Source=172.10.3.22\SQL2014;Initial Catalog=ElmaTest;User ID=realm;password=friend" providerName="System.Data.SqlClient" />

【问题讨论】:

  • c# 和 nodejs 是否都试图连接 来自 同一台计算机?而c#正在使用TCP连接?
  • @JaromandaX:- 是的,c# 和 node js 都来自同一台计算机。
  • 而 c# 肯定在使用 TCP - 即您已在 MSSQL 中启用 TCP 连接 - 并且 MSSQL 正在侦听端口 1433
  • @jessica,看看我的解决方案。

标签: javascript c# sql-server node.js


【解决方案1】:

解决办法是开启TCP连接,因为这些连接默认是关闭的。

1)打开Sql Server Configuration Manager。

2)展开Sql Server Network Configuration。

3)点击Protocols for MSSQL。

4) 将TCP/IP 更改为enabled。

【讨论】:

  • SQLEXPRESS - 当然,您假设 OP 使用的是 express 版本
  • @Alexandru-IonutMihai:- 它已经启用。我检查了它。它仍然无法正常工作
  • 你有没有想过解决这个问题?
猜你喜欢
  • 2012-11-25
  • 1970-01-01
  • 2014-09-12
  • 1970-01-01
  • 1970-01-01
  • 2021-06-18
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多