質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

Q&A

0回答

2117閲覧

nodeでコネクションプールを用いてDB接続したconnectionが正常に解放されたかを知りたい

coldr

総合スコア7

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

0グッド

0クリップ

投稿2021/05/19 12:49

編集2021/05/19 14:58

typescript+node.jsを用いてMysqlに接続する処理を書いています。SQL処理が終わった後にコネクションを正常に解放できたか否かを知る方法を探しています。

以下の質問が参考になるかと思ったのですが、mysqlライブラリでのみ動作し、私の使用しているmysql2/promiseライブラリでは動作しないようです。
https://stackoverflow.com/questions/34542902/nodejs-mysql-how-to-know-connection-is-release-or-not

良い方法をご存知の方がおられましたら、お知恵を拝借したく思います。よろしくお願いいたします。

typescript

1let mysql2 = require('mysql2/promise') 2 3 4async function connect() { 5 6let conn; 7let pool = await mysql2.createPool({ 8 connectionLimit : 10, 9 host: "***", 10 user: "**", 11 password: "*****" 12 13}) 14 15 16conn = await pool.getConnection(); 17 18let res = await conn.query('SELECT * FROM ****'); 19console.log(res); 20 21let end = await conn.release(); //ここでreleaseに成功したか失敗したかを知りたいのですがendはundefinedとなります。 22console.log(end); //undefined 23 24} 25 26 27 28connect(); 29

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/05/19 14:41

そもそもコネクションプールなので、release すると再利用のためにプールされて、切断はされないと思いますけど。
coldr

2021/05/19 14:55

切断ではなくconnectionの解放と書いた方が正確ですね。ご指摘ありがとうございます。
hoshi-takanori

2021/05/19 18:34 編集

というか、release しても接続はそのままですが、正常に解放されない状況って具体的に何を想定されてますか? あと、単純なクエリーを実行するだけなら、release 忘れを防げるので pool.query の方がおすすめだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問