Всем привет!
Работаю с ADO 2.6SP1 и при тестировании приложения на лики обнаружил что
Connection в ADO не освобождает память. Такая же ситуация при работе с Command и
Parameters. И самое неприятное что утечка накапливается. Например, код на создание
Connection и тут же его закрытие показывает утечку в 68kb. При повторном вызове
утечка 105Kb и т.д.
_ConnectionPtr m_spConn = NULL;
_bstr_t bstrConnect("Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=mydb;Data Source = servername; User Id=user;Password=user");
Здравствуйте pg, Вы писали:
pg>Здравствуйте sergey22, Вы писали:
S>>Всем привет!
S>> Подскажите как избавиться от утечек в ADO?
pg>А где ты видишь эту утечку? Попробуй посмотреть в "Системном мониторе"
Использую Rational Purify. Сообщение типа
[I] Summary of all memory leaks... {68424 bytes, 219 blocks}
[I] Summary of all memory leaks... {68424 bytes, 219 blocks}
Connection15::Open(_bstr_t,_bstr_t,_bstr_t,long) [msado15.tli:367]
}
Здравствуйте sergey22, Вы писали:
S>>> Подскажите как избавиться от утечек в ADO?
Ох, слабо мне верится в наличие в ADO2.6SP1 ликов.
pg>>А где ты видишь эту утечку? Попробуй посмотреть в "Системном мониторе"
S>Использую Rational Purify. Сообщение типа
Я бы в первую очередь усомнился в достоверности такого результата. Тот же BC тоже любит иногда выдавать лики там, где их нет и в помине. Очень возможно, что RP неправильно отслеживает пулинг соединений (конекшены-то не уничножаются сразу после релиза, а накапливаются в пуле).
Здравствуйте sergey22, Вы писали:
S>Всем привет! S>Работаю с ADO 2.6SP1 и при тестировании приложения на лики обнаружил что S>Connection в ADO не освобождает память. Такая же ситуация при работе с Command и S>Parameters. И самое неприятное что утечка накапливается. Например, код на создание S>Connection и тут же его закрытие показывает утечку в 68kb. При повторном вызове S>утечка 105Kb и т.д.
S> _ConnectionPtr m_spConn = NULL;
S> _bstr_t bstrConnect("Provider=SQLOLEDB.1;Persist Security Info=False;Initial Catalog=mydb;Data Source = servername; User Id=user;Password=user");
S> m_spConn.CreateInstance(__uuidof(Connection)); S> m_spConn->CursorLocation = adUseClient; S> m_spConn->ConnectionString = bstrConnect; S> S> m_spConn->Open("","","", adConnectUnspecified); S> m_spConn->Close();
S> m_spConn = NULL; S> S> Подскажите как избавиться от утечек в ADO?