【发布时间】:2019-09-29 22:19:48
【问题描述】:
我是 MySQL 新手,似乎无法从 Node.js 连接到服务器。另外,我使用的是 Windows,而不是 UNIX。
我可以使用 sqlcmd 连接到服务器,登录到我为节点创建的用户。我还启用了 TCP/IP 和命名管道。
const express = require("express");
const mysql = require("mysql");
const app = express();
const sqlServer = mysql.createConnection({
server: "127.0.0.1",
port: "1433",
user: "MeetMe",
password: "dOI9Zham1f5xOJAvweUIvuWlc"
});
const SELECT_ALL_QUERY = "SELECT * FROM Accounts";
sqlServer.connect(function(err) {
console.log("Connected to sql server");
if (err) throw err;
});
app.get("/", (req, res) => {
sqlServer.query(SELECT_ALL_QUERY, function(err, results, fields) {
if (err) throw err;
console.log(results);
});
res.send("Hello world");
});
app.listen(4000);
console.log("Server running on port 4000");
程序在 sqlServer.connect() 期间总是抛出错误。
C:\dev\Webapps\meet-me\server.js:16
if (err) throw err;
^
Error: read ECONNRESET
at TCP.onStreamRead (internal/stream_base_commons.js:111:27)
--------------------
at Protocol._enqueue (C:\dev\Webapps\meet-me\node_modules\mysql\lib\protocol\Protocol.js:144:48)
at Protocol.handshake (C:\dev\Webapps\meet-me\node_modules\mysql\lib\protocol\Protocol.js:51:23)
at Connection.connect (C:\dev\Webapps\meet-me\node_modules\mysql\lib\Connection.js:119:18)
at Object.<anonymous> (C:\dev\Webapps\meet-me\server.js:14:11)
at Module._compile (internal/modules/cjs/loader.js:701:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
at Module.load (internal/modules/cjs/loader.js:600:32)
at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
at Function.Module._load (internal/modules/cjs/loader.js:531:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
【问题讨论】:
-
@Avanthika 我看到了这个,但我认为这不是问题,除非我误解了连接方法。我没有记录“连接到 SQL 服务器”,所以我不相信连接已经完成,所以它不会空闲。我也无法使用当前设置进行查询。就好像它正在尝试连接但几分钟后超时。