私はアプリをデータベースと相互作用させるためにsociを使用しており、現在はMySQLサーバーを使用してテストしています。SOCIを単純なクラスにラップし、クラスのConnectメソッドでsession.open()を呼び出します。
m_session.open(soci::mysql, connString);
次に、デストラクタでcloseメソッドを呼び出します
m_session.close();
しかし、クラスを数回使用すると(このクラスのオブジェクトを作成および破棄する)、sociがMySQLサーバーに接続できず、接続が多すぎるというエラーが発生します。デストラクタでcloseメソッドを呼び出すため、混乱しています。sociが接続を解放する必要があると思います。soci docsをチェックすると、close()以外は何も表示されません。
soci :: sessionに接続を解放させる方法はありますか?