节点服务器未连接到 SQL 服务器

Node server not connecting to SQL Server

这是我第一次尝试设置 NodeJS API 以将我的 Vue webapp 连接到我的 SQL 数据库。

运行 我的服务器配置如下:

const mysql = require("mysql"); const dbConfig = require("../config/db.config.js");

// Create a connection to the database const connection = mysql.createConnection({
    host: dbConfig.HOST, //localhost
    user: dbConfig.USER,    //LAPTOP-****\*****
    password: dbConfig.PASSWORD, // ""
    database: dbConfig.DB, //Applaudeme
    port: 1433 });

// open the MySQL connection connection.connect(error => {
    if (error) throw error;
    console.log("Successfully connected to the database."); });

dbConfig 在哪里:

module.exports = {
    HOST: "localhost",
    USER: "LAPTOP-*****\*****",
    PASSWORD: "",
    DB: "*****",
};

我在尝试打开连接时大约一分钟后收到此错误:

    if (error) throw error;
               ^

Error: read ECONNRESET
    at TCP.onStreamRead (node:internal/stream_base_commons:220:20)
    --------------------
    at Protocol._enqueue (C:\Users\Tomas\Documents\WebServerv2\AppServer\node_modules\mysql\lib\protocol\Protocol.js:144:48)
    at Protocol.handshake (C:\Users\Tomas\Documents\WebServerv2\AppServer\node_modules\mysql\lib\protocol\Protocol.js:51:23)
    at Connection.connect (C:\Users\Tomas\Documents\WebServerv2\AppServer\node_modules\mysql\lib\Connection.js:116:18)
    at Object.<anonymous> (C:\Users\Tomas\Documents\WebServerv2\AppServer\models\index.js:14:12)

    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18) {   errno: -4077,   code: 'ECONNRESET',   syscall: 'read',   fatal: true } [1]+  Exit 127                SET DEBUG=webserver2:*

我试过以下方法:

我不知道为什么会这样。我敢肯定我不知何故错过了一些愚蠢的东西,但对于我的生活我无法弄清楚,所以我们非常欢迎任何和所有建议。

在此先致谢,如有不明之处请见谅,如有需要我会澄清!

  1. 使用 SQL Server drivers,而不是 MySql 驱动程序。

  2. 如果您可以连接到端口 1433,那么配置应该是:

:

module.exports = {
    HOST: "localhost",
    USER: "LAPTOP-*****",
    PASSWORD: "",
    DB: "*****",
};

使用实例名称需要在 UDP 端口 1434 上连接到 SQL 浏览器,并且浏览器必须是 运行。但是您可以使用端口号(1433 是默认值,因此可以省略)而不是实例名称来绕过它。

Powershell 的 Test-NetConnection 是您的朋友。例如

test-netconnection someserver -port 1433