Это самая неприятная ошибка, которую я когда-либо видел. У меня последняя версия GA для соединителей SQLLite и MySQL ODBC, vb.net, vs2010. У меня есть две программы, одна из которых выступает в качестве сервера и обращается к базе данных SQLLite, а клиент - запрашивает программу сервера и сравнивает результат с базой данных MySQL. Обмен клиент-сервер осуществляется с помощью сериализованного XML через TCP, так что это никак не влияет.
Когда запущена серверная программа, я могу выполнять запросы MySQL в течение всего дня, и использование памяти клиентской программой не меняется. Однако, как только я запускаю команду на сервере, сервер обращается к базе данных SQLite и возвращает ответ, с этого момента КАЖДЫЙ запрос MySQL, который выполняет клиент, приводит к увеличению использования памяти клиентской программой на 60-100 КБ, пока память не заполнится и клиент MySQL не выйдет из строя с сообщением «Недостаточно памяти» или «Соединение закрыто».
Я пытался заставить сервер явно закрывать соединение SQLite после каждого запроса, я пытался заставить клиентское программное обеспечение закрывать соединение MySQL после каждого запроса, и изменений не было. Я попытался освободить пул объектов в ODBCConnection, явно вызвав dispose, все, что я мог придумать, чтобы заставить клиента освободить память, используемую MySQL ODBC Connector, но ничего не работает. Единственное, о чем я могу думать, это то, что, может быть, SQLite и MySQL Connector не очень хорошо играют вместе? Помогите!