当前位置: 首页 > 知识库问答 >
问题:

节点中的错误处理和连接丢失。使用池的js-mysql

鲁霄
2023-03-14

我正在使用node。js npm模块mysql用于连接mysql数据库。

我看到有可能使用:

  • 两个泳池都有。getConnection(),连接。query()和连接。释放()

关于第二种情况,我有两个问题。

1)是否有任何自动重新连接的情况下,错误,失去连接,而使用pool.query?(处理断开功能,而使用池?

2) 使用第一种方法,我可以设置连接。on('error',function(){…})。在第二种情况下如何做到这一点?(pool.on('error'…)?)

共有1个答案

呼延衡
2023-03-14

1)如果我错了,请纠正我,但是我不认为有一种方法可以在使用池查询时断开连接时自动连接。这是一个很好的代码设计,可以让我们知道错误,并让我们决定断开连接时该做什么。

2) 我们可以使用池。getConnection((错误,错误)=

下面是我用来在运行查询之前检查连接的代码。希望有帮助。

connect: function ()
    {
        return new Promise((resolve, reject) => {
            let pool = Mysql.createPool({
                connectionLimit: config.mysql.connectionLimit,
                host: config.mysql.host,
                user: config.mysql.user,
                password: config.mysql.password,
                database: config.mysql.database
            });

            pool.getConnection((err, con) =>
            {
                try
                {
                    if (con)
                    {
                        con.release();
                        resolve({"status":"success", "data":"MySQL connected.", "con":pool});
                    }
                }
                catch (err)
                {
                    reject({"status":"failed", "error":`MySQL error. ${err}`});
                }
                resolve({"status":"failed", "error":"Error connecting to MySQL."});
            });
        });
    }

 类似资料:
  • 问题内容: 考虑以下简单的Node.js应用程序: 它向google.com发出2000个HTTP请求,一个接一个。问题在于它会请求5号并暂停大约3分钟,然后继续处理请求6-10,然后再暂停3分钟,然后再请求11-15,然后暂停,依此类推。 编辑: 我尝试将www.google.com更改为localhost,这是运行我的计算机的极其基本的Node.js应用程序,返回“ Hello world”,

  • 我使用以下模块中的反向代理https://github.com/nodejitsu/node-http-proxy 我只需要代理调用到新的端口

  • 我正在尝试从macos上使用swift开发的应用程序连接到realm object server 当我尝试连接时,会出现“网络连接丢失”错误,但我可以从浏览器中毫无问题地打开领域服务器。。顺便说一句,这个问题最近发生了,它在几周前工作正常 这里,用户总是,错误描述是 这发生在本地服务器和一个托管在数字海洋 服务器版本1.8。3. xcode控制台日志 2018-01-15 12:46:07.077

  • 有谁能告诉我连接点和过程连接点之间有什么区别吗? 在aspect类的方法中,何时使用连接点和处理连接点? 我在我的AeyJ类中使用了,如下所示: 但我在其他资源中看到的是: 这里,与“连接点”相比,处理连接点有什么不同?还有什么将pjp。继续()`为我们做什么?

  • 问题内容: 我刚刚开始使用BoneCP,这是我第一次使用连接池。对于应该如何使用它,我有些困惑。当前,我将BoneCP对象保存为静态变量,因此可以在不同的连接之间使用它。 连接完成后,用关闭。 我应该这样做,还是不应该关闭它以使其能够被池重用? 这是我当前获得连接的实现: 这似乎是正确的,还是我误解了我应该如何使用BoneCP? 问题答案: 除了使您的私有静态最终变量和将init更改为静态块(或者

  • 问题内容: 我正在尝试创建一个应用程序,以从站点的多个页面上抓取内容。我正在使用JSoup进行连接。这是我的代码: 在大多数情况下,一切正常。但是,我想做一些事情。 首先,有时会返回404状态,或者会返回500状态,可能会返回301状态。在下面的代码中,它将仅打印错误并移至下一个URL。我想做的是尝试能够返回所有链接的url状态。如果页面连接,则打印200,否则打印相关的状态码。 其次,有时我会遇