使用MSSQL连接SQL Server时,出现了SQL Server错误“[ConnectionError:Login failed for user '****'。]”

3
我遇到了以下错误:
      [ConnectionError: Login failed for user '****'.]
             name: 'ConnectionError',
             message: 'Login failed for user \'****\'.',
             code: 'ELOGIN' } "

以下是我使用mssql包连接SQL Server和Node.js的代码。
var sql = require('mssql');

var config = {
        server: "localhost\\",// You can use 'localhost\\instance' to connect to named instance 
        database: "***",
        user: "***",
        password: "",
        port: 1433
    };

function getdata() {
    var conn = new sql.Connection(config);
    var req = new sql.Request(conn);

    conn.connect(function (err) {
        If (err) {
            console.log(err);
            return;
        }
        req.query("select * From" ,function (err,recordset)  {
        If (err) {
            console.log(err);
            return;
        }
        else {
            console.log(recordset);

        }
        conn.close();


        enter code here
        });

    });

    }

    getdata();

当我将控制台添加到“conn”时,显示的消息如下,请告诉我是否有遗漏。

config:
      { server: '',
        database: '',
        user: '',
        password: '',
        port: 1433,
        driver: 'tedious',
        options: {},
        stream: false,
        parseJSON: false },
     driver:
      { Connection:
         { [Function: TediousConnection]
           EventEmitter: [Object],
           usingDomains: false,
           defaultMaxListeners: 10,
           init: [Function],
           listenerCount: [Function],
           __super__: [Object] },
        Transaction:
         { [Function: TediousTransaction]
           EventEmitter: [Object],
           usingDomains: false,
           defaultMaxListeners: 10,
           init: [Function],
           listenerCount: [Function],
           __super__: [Object] },
        Request:
         { [Function: TediousRequest]
           EventEmitter: [Object],
           usingDomains: false,
           defaultMaxListeners: 10,
           init: [Function],
           listenerCount: [Function],
           __super__: [Object] },
        fix: [Function] } }
    started
1个回答

0

我看到这里没有人回答这个问题,

以下是使用'mssql'的工作代码,

var sql = require('mssql');
var config = {
    server: 'localhost',
    database: 'sampleDB',
    user: 'YourUser',
    password: 'YourPassword',
    port: '1433'
};

function listProducts() {
    var conn = new sql.ConnectionPool(config);
    conn.connect().then(function () {
        var request = new sql.Request(conn);
        request.query("select * from products").then(function (recordSet) {
            console.log(recordSet);
            conn.close();
        }).catch(function (err) {
            console.log(err);
            conn.close();
        });
    }).catch(function (err) {
        console.log(err);
    });
}

listProducts();

在你的解决方案中,尝试将端口号用引号括起来,并使用


var conn=new sql.ConnectionPool(config);

替代,

var conn=new sql.Connection(config);

使用'tedious'还有一种连接到SQL Server的解决方案,

var Connection = require('tedious').Connection;

var config = {
            server: "localhost", 
            userName: "YourUser",
            password: "YourPassword",
            database: "sampleDB"
     };

var connection = new Connection (config);

connection.on('connect', function(err){
    console.log(err);
    if(err!=null){
         console.log("not connected");
    }
    else{  
          console.log("Connected")
          connection.close();
    };
});

我希望这能帮助到遇到相同问题的人。

1
仍然得到相同的错误,你能分享一下可行的代码吗? - Vinod kumar G
1
不理解问题就贸然粘贴代码并不能真正帮助任何人。 - rawplutonium
这个可以工作,除了端口应该是一个数字而不是字符串。 - Viraj Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接