Soci Session не выпускает связь
Я использую soci для того, чтобы мое приложение взаимодействовало с базами данных, и в настоящее время я использую MySQL-сервер для тестирования. Я обернул SOCI в простой класс, где я вызываю session.open() в методе Connect моего класса
m_session.open(soci::mysql, connString);
Затем в деструкторе я вызываю метод close
m_session.close();
Но когда я использую класс несколько раз (создавая и уничтожая объекты этого класса), я обнаруживаю, что soci не может подключиться к серверу MySQL из-за ошибки слишком большого количества подключений. Я в замешательстве, так как я вызываю метод close для деструктора, я полагаю, что soci должен освободить соединение. Проверяя документы в соцсетях, я не вижу ничего, кроме close().
Есть ли способ заставить soci::session освободить соединение?
2 ответа
Я обнаружил, что мой деструктор не вызывается, потому что у меня было необработанное исключение в одном из моих методов класса. Я перепроектировал свой класс и обработал это исключение тоже. Теперь все хорошо!
Вы можете просто закрыть SOCI:Session с помощью функции soci::session.close()