【问题标题】:Error ELIFECYCLE 3228369023 on attempted connection to SQL Server database using Node.js MSSQL尝试使用 Node.js MSSQL 连接到 SQL Server 数据库时出现错误 ELIFECYCLE 3228369023
【发布时间】:2025-11-22 16:35:01
【问题描述】:

我正在为 SQL Server Express 数据库设置 API,我计划在 Node.js 中使用带有 express 的 mssql 来接收请求并与数据库交互。我已经尝试了几种通过节点连接到数据库的方法,并且相信找到了服务器(在本地运行),但是我的节点应用程序无法与之连接。

我采用的方法包括各种不同形式的连接字符串(有些只是如下所示的字符串,有些尝试使用 JSON 对象)。还有,一开始我只用了mssql包,后来在msnodesqlv8中添加了。

function connect(){
var sql = require("mssql/msnodesqlv8");

// config for your database
var connString = 'Driver={SQL Server Native Client 11.0};Server={DESKTOP-RJH9ERF\\SQLEXPRESS};Uid={DESKTOP-RJH9ERF\\Jake};Database={MAIC};Trusted_Connection={yes};'

// connect to your database
sql.connect(connString, function (err) {

    if (err) console.log(err);

    // create Request object
    var request = new sql.Request();

    // query to the database and get the records
    request.query('select * from Events', function (err, recordset) {

        if (err) console.log(err)

        // send records as a response
        res.send(recordset);

    });
});
};

起初,似乎存在无法识别用户的问题。然而,在我最近的连接方法中,我反复收到此错误。

20 错误代码 ELIFECYCLE 21 错误 errno 3228369023 22 错误 maic-api@1.0.0 开始:node server.js 22错误退出状态3228369023

我没有看到有关此错误含义的其他信息,并且在网上进行了一些搜索后,仍不清楚是什么原因造成的。有没有人熟悉这个错误以及它可能与节点中的 MSSQL 有什么关系?

【问题讨论】:

  • 你的目录中有node_modules文件夹吗?
  • 是的,我愿意。那里有什么我需要改变的吗?

标签: javascript node.js sql-server express npm


【解决方案1】:

很抱歉迟到了,我现在刚刚修复了同样的错误。我这边发生的事情是我使用.env 文件为数据库连接配置提供变量,并且由于it is bad practice to commit 你的.env,我将它存储在本地。当我切换到笔记本电脑时,.env 文件消失了,我的DB_USERDB_PASS 环境变量也消失了(它们实际上是undefined)。

出于某种原因,我只能通过将console.log('OK') 放在导致错误的require 之后来显示tedious 日志,如下所示。我的猜测是由于某种原因错误缓冲区没有被刷新。

db-conn.js

require('dotenv').config
var Connection = require('tedious').Connection

var config = {
  server: process.env.DB_SERVER,
  options: {
    database: process.env.DB_NAME,
    trustServerCertificate: true,
    encrypt: true,
  },
  authentication: {
    type: "default",
    options: {
      userName: process.env.DB_USERNAME,
      password: process.env.DB_PASSWORD,
    },
  },
};

const connection = new Connection(config);

module.exports = connection;

server.js

const connection = require("./server/db-conn");
console.log('OK');

【讨论】:

    最近更新 更多