diff --git a/src/DBManager.cpp b/src/DBManager.cpp index 084bd4add6555e30ca9d0bc1e35ee6506afefbdd..6c0e2f1e751a186c10c1eb8771f355c2c55c2b6f 100644 --- a/src/DBManager.cpp +++ b/src/DBManager.cpp @@ -62,7 +62,18 @@ void DBManager::connect() throw(soci::soci_error) #endif for(unsigned int i=0; i<connectionNumber; ++i) + { m_connectionPool_sp->at(i).open(soci::mysql, connection.str()); + + soci::mysql_session_backend* backend = + static_cast<soci::mysql_session_backend*>( + m_connectionPool_sp->at(i).get_backend()); + + MYSQL* mysql = backend->conn_; + + bool reconnect = true; + mysql_options(mysql, MYSQL_OPT_RECONNECT, &reconnect); + } } //==============================================================================