Ϲοδ*_*διϲ 4

我不是这个库的用户,所以我对它的了解只有最后 10 分钟的知识,所以请验证。

作为一般规则,有关库的各种特定细节的使用的此类信息的最佳资源是查看其单元测试。关于 OSS 最好的事情。

因此,如果您查看可在其源代码树上找到的 MySQL Connector/C++ 单元测试,您将看到以下摘录。

sql::ConnectOptionsMap connection_properties;

...

connection_properties["OPT_RECONNECT"]=true;
try
{
    con.reset(driver->connect(connection_properties));
}
catch (sql::SQLException &e)
{
    std::cerr << e.what();
}
Run Code Online (Sandbox Code Playgroud)

欲了解更多信息,请执行以下操作,以便您自己查看。

~/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 
Run Code Online (Sandbox Code Playgroud)

话虽如此,mysql 中的重新连接选项必须非常小心地使用,因为您必须重置任何会话变量等。您必须将重新连接的连接视为全新的连接。这必须通过您正在使用的特定 MySQL 版本的文档进行验证。