【问题标题】:getting more details about Node.js ECONNRESET error获取有关 Node.js ECONNRESET 错误的更多详细信息
【发布时间】:2012-08-04 15:23:11
【问题描述】:

我正在运行其他人编写的 node.js 代码。有问题的部分如下:

 client.query('CREATE TABLE ABC (id INT(11) AUTO_INCREMENT PRIMARY KEY, stuff VARCHAR(255),  more INT(3))',

        function (error) {
            //Handle an error if it's not a table already exists error
            if(error && error.number != 1050) {
                throw (error);
            }
    });

每次我运行它,我都会得到这个错误:

progfile.js:251
                throw (error);
                       ^
Error: connect ECONNRESET
    at errnoException (net.js:776:11)
    at Object.afterConnect [as oncomplete] (net.js:767:19)

据我了解,该错误意味着数据库关闭了连接? 我如何确认这一点,我在哪里可以找到更多信息?我需要帮助追踪它发生的原因以及如何防止它发生。

Node.js 代码在 WinXP 机器上运行,数据库在 CentOS VPS 上。

【问题讨论】:

标签: mysql node.js


【解决方案1】:

实际问题可能出在您代码中的其他地方,其影响只是显示在您显示的代码中。

特别是,请确保在回调有机会运行之前,您没有“陷入”关闭连接的问题。在您的示例中,您的回调所做的只是检查错误,这让我怀疑您正在尝试在调用client.query 之后的代码中对数据库做更多的事情。由于 MySQL 客户端的异步特性,这不会起作用;您显示的调用之后的任何语句都将在实际数据库查询有机会运行之前执行。任何依赖于已执行查询的内容都必须进入回调。

如果这不会立即使问题变得明显,请编辑您的问题以在您显示的代码之前和之后包含代码。

【讨论】:

    猜你喜欢
    • 2013-01-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多