Nie jestem użytkownikiem tej biblioteki, więc moja wiedza o niej jest warta tylko ostatnich 10 minut, więc proszę o weryfikację.
Z reguły najlepszym źródłem informacji o wykorzystaniu różnych specyficznych szczegółów biblioteki jest przyjrzenie się jej testom jednostkowym. Najlepsza rzecz w OSS.
Więc jeśli spojrzysz na testy jednostkowe MySQL Connector/C++, które można znaleźć w ich drzewie źródłowym, zobaczysz poniższy fragment.
sql::ConnectOptionsMap connection_properties;
...
connection_properties["OPT_RECONNECT"]=true;
try
{
con.reset(driver->connect(connection_properties));
}
catch (sql::SQLException &e)
{
std::cerr << e.what();
}
Aby uzyskać więcej informacji, wykonaj poniższe czynności, abyś mógł sam się przyjrzeć.
~/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
Powiedziawszy to wszystko, opcja reconnect w mysql musi być używana bardzo ostrożnie, ponieważ będziesz musiał zresetować wszystkie zmienne sesji itp. Będziesz musiał traktować ponowne połączenie jako zupełnie nowe połączenie. Należy to zweryfikować z dokumentacją konkretnej wersji MySQL, z którą pracujesz.