No soy un usuario de esta biblioteca, por lo que mi conocimiento de ella es solo el valor de los últimos 10 minutos, así que verifíquelo.
Como regla general, el mejor recurso de dicha información sobre el uso de varios detalles específicos de una biblioteca es echar un vistazo a sus pruebas unitarias. Lo mejor del SFA.
Entonces, si observa las pruebas unitarias de MySQL Connector/C++ que se pueden encontrar en su árbol fuente, verá el siguiente extracto.
sql::ConnectOptionsMap connection_properties;
...
connection_properties["OPT_RECONNECT"]=true;
try
{
con.reset(driver->connect(connection_properties));
}
catch (sql::SQLException &e)
{
std::cerr << e.what();
}
Para obtener más información, haga lo siguiente, para que pueda echarle un vistazo.
~/tmp$ bzr branch lp:~mysql/mysql-connector-cpp/trunk mysql-connector-cpp
~/tmp$ vi mysql-connector-cpp/test/unit/classes/connection.cpp +170
~/tmp$ vi mysql-connector-cpp/test/unit/classes/connection.h
Habiendo dicho todo eso, la opción de reconexión en mysql debe usarse con mucho cuidado, ya que deberá restablecer las variables de sesión, etc. Deberá tratar una conexión reconectada como una conexión nueva. Esto debe verificarse con la documentación de la versión particular de MySQL con la que está trabajando.