使用 Poco::Data::MySQL
和 Poco::Data::SessionPool
運(yùn)行多線程 C 應(yīng)用程序時(shí),出現(xiàn) ER_NET_PACKETS_OUT_OF_ORDER
錯(cuò)誤。錯(cuò)誤消息如下所示:
MySQL: [MySQL]: [Comment]: mysql_stmt_prepare error [mysql_stmt_error]: Got packets out of order [mysql_stmt_errno]: 1156 [mysql_stmt_sqlstate]: 08S01 [statemnt]: ...
應(yīng)用程序每 100 毫秒從多個(gè)線程進(jìn)行查詢。連接由公共 SessionPool
提供。
我通過(guò)在連接字符串中添加 reset=true
解決了這個(gè)問(wèn)題。但是,正如官方文檔中所述,添加此選項(xiàng)可能會(huì)導(dǎo)致編碼問(wèn)題。