Eu não sou um usuário desta biblioteca, então meu conhecimento dela vale apenas os últimos 10 minutos, então por favor verifique.
Como regra geral, o melhor recurso dessas informações sobre o uso de vários detalhes específicos de uma biblioteca é dar uma olhada em seus testes de unidade. A melhor coisa sobre OSS.
Portanto, se você observar os testes de unidade do MySQL Connector/C++ que podem ser encontrados em sua árvore de origem, verá o extrato abaixo.
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 mais informações, por favor, faça o abaixo, para que você possa dar uma olhada por si mesmo.
~/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
Dito tudo isso, a opção de reconexão no mysql deve ser usada com muito cuidado, pois você terá que redefinir quaisquer variáveis de sessão, etc. Você terá que tratar uma conexão reconectada como uma conexão totalmente nova. Isso deve ser verificado com a documentação da versão específica do MySQL com a qual você está trabalhando.