节点服务器未连接到 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:*
我试过以下方法:
SQL Config Manager Services
SQL Config Manager Network Configuration Protocols
我已经重新安装了 SQL Server(SQL Server 2019 Developer)和 SQL Server Management Studio (v17.9)
我已经在我的防火墙上允许端口 1433。
不同的端口或默认端口没有任何改变(默认情况下未设置 1433)
我不知道为什么会这样。我敢肯定我不知何故错过了一些愚蠢的东西,但对于我的生活我无法弄清楚,所以我们非常欢迎任何和所有建议。
在此先致谢,如有不明之处请见谅,如有需要我会澄清!
使用 SQL Server drivers,而不是 MySql 驱动程序。
如果您可以连接到端口 1433,那么配置应该是:
:
module.exports = {
HOST: "localhost",
USER: "LAPTOP-*****",
PASSWORD: "",
DB: "*****",
};
使用实例名称需要在 UDP 端口 1434 上连接到 SQL 浏览器,并且浏览器必须是 运行。但是您可以使用端口号(1433 是默认值,因此可以省略)而不是实例名称来绕过它。
Powershell 的 Test-NetConnection 是您的朋友。例如
test-netconnection someserver -port 1433
这是我第一次尝试设置 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:*
我试过以下方法:
SQL Config Manager Services
SQL Config Manager Network Configuration Protocols
我已经重新安装了 SQL Server(SQL Server 2019 Developer)和 SQL Server Management Studio (v17.9)
我已经在我的防火墙上允许端口 1433。
不同的端口或默认端口没有任何改变(默认情况下未设置 1433)
我不知道为什么会这样。我敢肯定我不知何故错过了一些愚蠢的东西,但对于我的生活我无法弄清楚,所以我们非常欢迎任何和所有建议。
在此先致谢,如有不明之处请见谅,如有需要我会澄清!
使用 SQL Server drivers,而不是 MySql 驱动程序。
如果您可以连接到端口 1433,那么配置应该是:
:
module.exports = {
HOST: "localhost",
USER: "LAPTOP-*****",
PASSWORD: "",
DB: "*****",
};
使用实例名称需要在 UDP 端口 1434 上连接到 SQL 浏览器,并且浏览器必须是 运行。但是您可以使用端口号(1433 是默认值,因此可以省略)而不是实例名称来绕过它。
Powershell 的 Test-NetConnection 是您的朋友。例如
test-netconnection someserver -port 1433