使用 Poco::Data::MySQL
和 Poco::Data::SessionPool
執行多執行緒 C 應用程式時,出現 ER_NET_PACKETS_OUT_OF_ORDER
錯誤。錯誤訊息如下所示:
MySQL: [MySQL]: [Comment]: mysql_stmt_prepare error [mysql_stmt_error]: Got packets out of order [mysql_stmt_errno]: 1156 [mysql_stmt_sqlstate]: 08S01 [statemnt]: ...
應用程式每 100 毫秒從多個執行緒進行查詢。連接由公共 SessionPool
提供。
我透過在連接字串中新增
reset=true
解決了這個問題。但是,正如官方文件中所述,新增此選項可能會導致編碼問題。