現在使用中: https://github.com/felixge/node-mysql
次のコードがあります。
var connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'Database1'
});
app.put('/api/upload', function(req, res, next)
{
connection.connect();
doMultipleQueries(function(err)
{
connection.end();
});
};
put リクエストは完全に正常に機能しますが、2 回目に呼び出すと、次のエラーが発生します。
events.js:68
throw arguments[1]; // Unhandled 'error' event
^
Error: Cannot enqueue Handshake after invoking quit.
at Protocol._validateEnqueue (/Users/anon/Desktop/project Web/node_modules/mysql/lib/protocol/Protocol.js:110:16)
サーバーが停止するまで接続を開いたままにしておく必要がありますか?
更新:次のmysql.createConnection
ように put リクエスト関数に移動すると:
var connection = null;
app.put('/api/upload', function(req, res, next)
{
connection = mysql.createConnection({
host : 'localhost',
user : 'me',
password : 'secret',
database : 'Database1'
});
connection.connect();
doMultipleQueries(function(err)
{
connection.end();
});
};
それは正常に動作します。connection.end()
これは、作成したものを閉じてmysql.createConnection
再接続できないことを意味しますか?