首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Server时“登录失败,用户失败”,但使用繁琐的“登录失败”错误

使用Server时“登录失败,用户失败”,但使用繁琐的“登录失败”错误
EN

Stack Overflow用户
提问于 2018-09-27 15:00:56
回答 3查看 10.7K关注 0票数 3

我正在尝试从运行以下代码的macbook连接到网络中Windows 10计算机上的数据库设置。我可以使用tedious连接,但不使用mssql。就好像用户名或密码是错误的。我想让mssql工作的原因是为了池,因为它似乎有更多的支持.否则,我只会使用tedious。代码同时创建连接,输出显示冗长的连接,但是mssql失败了。

代码语言:javascript
运行
复制
const express = require('express');
const sql = require('mssql');
const bodyParser = require('body-parser');
const app = express();

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

// Body Parser Middleware
app.use(bodyParser.json());

// CORS Middleware
app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

// define listineng port
const PORT = 5006;

// define tedious config
var config = {
            server: "JAMBER-VR1.local",
            userName: "testuser",
            password: "testuserpass",
            database: "SQLEXPRESS",
            options: {
              encrypt: false
            }
     };

var connection = new Connection (config);

connection.on('connect', function(err){

    if(err!=null){
      console.log(err);
         console.log("not connected - tedious");
    }
    else{
          console.log("Connected - tedious")
          connection.close();
    };
});


// Define SQL config

const dbConfig = {
  user: 'testuser',
  password: 'testuserpass',
  server: 'JAMBER-VR1.local',
  database: 'SQLEXPRESS',
  // port: 1433,
  // logging: true,
  options: {encrypt: false},
  pool: {
    max: 100,
    min: 0,
    idleTimeoutMillis: 30000
  }
}

const executeQuery = async () => {
  try {
    let pool = await sql.connect(dbConfig);
    console.log("pool connected - mssql");
    let result = await pool.request()
      .input('input_parameter', sql.Int, value)
      .query('select * from donor')

    console.log("Result: ", result);
  } catch (err) {
    console.log("Error: ", err);
  }
}

executeQuery();

我得到了以下错误。

无恶魔启动node index.js 在5006端口上运行 连络乏味 错误:{ ConnectionError:用户“testuser”登录失败。 在Connection.tedious.once.err (/Users/jordanszymczyk/Code/TRTL/server_sql /node_modules/mssql/lib/tedious.js:237:17) 在Object.onceWrapper (events.js:273:13) (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/connection.js:1292:16) at Connection.message (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/connection.js:1805:14) at Connection.dispatchEvent (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/connection.js:1004:38) at MessageIO。(/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/connection.js:884:18) at MessageIO.emit (events.js:182:13) at ReadablePacketStream.(/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/message-io.js:104:16) at ReadablePacketStream.emit (events.js:182:13)代码:'ELOGIN',originalError:{ ConnectionError:登录失败的用户'testuser‘。在帕瑟的(/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/errors.js:12:12) ConnectionError。(/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/connection.js:628:33) at Parser.emit (events.js:182:13)在Parser。(/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/token/token-stream-parser.js:54:15) at Parser.emit (events.js:182:13)在addChunk (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/readable-stream/lib/_stream_readable.js:291:12) at readableAddChunk (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/readable-stream/lib/_stream_readable.js:278:11) (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/readable-stream/lib/_stream_readable.js:245:10) at Parser.Transform.push (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/readable-stream/lib/_stream_transform.js:148:32) at doneParsing (/Users/jordanszymczyk/Code/TRTL/server_sql/node_modules/tedious/lib/token/stream-parser.js:110:18)消息:“用户‘testuser’登录失败。”代码:'ELOGIN‘},名称:'ConnectionError’}

您可以看到console.log(“连接-乏味”)打印,然后立即出现mssql错误。我也尝试过使用本地IP来获得同样的结果。通过sqlcmd进行测试。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-09-27 15:05:16

SQLEXPRESS将是Server服务器实例(Ie)的名称。我在您的代码中没有看到它,但我猜数据库名不是SQLEXPRESS吗?

在mssql连接中,dbConfig尝试将Database更改为在SQL实例上创建的数据库的真实名称。

票数 2
EN

Stack Overflow用户

发布于 2020-03-06 20:06:43

不要忘记激活这两种身份验证

票数 4
EN

Stack Overflow用户

发布于 2018-09-27 15:30:07

固定的dgconfig如下:

代码语言:javascript
运行
复制
const dbConfig = {
  user: 'testuser',
  password: 'testuserpass',
  server: 'JAMBER-VR1.local',
  database: 'donor',
  options: {encrypt: false},
  pool: {
    max: 100,
    min: 0,
    idleTimeoutMillis: 30000
  }
}

删除SQLEXPRESS并将其替换为数据库名称。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52539936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档