Ошибка узла mysql2 при использовании соединений пула в серии pool.getConnection

У меня есть приложение узла и преобразовал соединение, чтобы использовать соединения пула для лучшей производительности соединения. Но возникла ошибка при вызове серии запроса на соединение. как код ниже.

pool.getConnection(function(err, connection) {
    connection.query(insertQuery1, function (err, result) { 
        connection.release();
        if (err) throw err;     
    }); 
});

pool.getConnection(function(err, connection) {
    connection.query(insertQuery2, function (err, result) {
        connection.release(); 
        if (err) throw err;     
    }); 
});

pool.getConnection(function(err, connection) {
    connection.query(insertQuery3, function (err, result) { 
        connection.release();
        if (err) throw err;     
    }); 
});

pool.getConnection(function(err, connection) {
    connection.query(insertQuery4, function (err, result) {
        connection.release(); 
        if (err) throw err;     
    }); 
});

pool.getConnection(function(err, connection) {
    connection.query(insertQuery5, function (err, result) {
        connection.release(); 
        if (err) throw err;     
    }); 
});

Я использую mysql2 и устанавливаю connectionLimit на 10. На моем другом подключении к пулу кода работает нормально. Просто когда я делаю код, как в примере выше. Я получаю ошибку

Error: You have an error in your SQL syntax; check the manual that 
corresponds to your MySQL server version for the right syntax to use near '?, 
?)' at line 1
at Packet.asError 
(/home/ubuntu/node_modules/mysql2/lib/packets/packet.js:713:13)
at Query.Command.execute 
(/home/ubuntu/node_modules/mysql2/lib/commands/command.js:28:22)
at PoolConnection.Connection.handlePacket 
(/home/ubuntu/node_modules/mysql2/lib/connection.js:502:28)
at PacketParser.onPacket 
(/home/ubuntu/node_modules/mysql2/lib/connection.js:81:16)
at PacketParser.executeStart 
(/home/ubuntu/node_modules/mysql2/lib/packet_parser.js:77:14)
at Socket.<anonymous> 
(/home/ubuntu/node_modules/mysql2/lib/connection.js:89:29)
at emitOne (events.js:116:13)
at Socket.emit (events.js:211:7)
at addChunk (_stream_readable.js:263:12)
at readableAddChunk (_stream_readable.js:250:11)

Это можно исправить с помощью встроенного обещания. И освободите соединение внутри Promise.all. Мне просто интересно, почему я не могу сделать код выше. Если в пуле еще нет доступных соединений. это не должно бросать ошибку. Запрос должен просто ждать следующего доступного соединения.

0 ответов

Другие вопросы по тегам