Утечка Microsoft Paradox Driver ODBC
От: rorex_ Россия  
Дата: 11.08.09 05:07
Оценка:
Вопрос знатокам:

Не удается обойти или преодолеть утечку памяти при работе c БД Paradox.

Пробовал использовать стандартный класс CDatabase при многократном вызове функций OpenEx и Close — происходит утечка.
Переписал с использованием ADO — эффекта ноль.

блок программы

...............
while(true)
{
    .............
/*
    _conn->Open(_bstr_t(db_arc_conn.c_str()), _bstr_t(""), _bstr_t(""), ADODB::adConnectUnspecified);
    if (_m_pConn->GetState() == ADODB::adStateOpen)
    {
    _m_pConn->Close();
    }
*/
    .............
}
...............


если фрагмент закомментирован пиковая загрузка памяти стабильна,
если раскомментировать стабильно течет на каждой итерации ~18кБ/за итерацию
коннект к БД всегда проходит успешно (во всех моих тестах было так)

Строка подключения:
db_src_conn = "DSN=unitokdb;AUT=1;CT=7;DQ=0;FOC=0;IS=1;PW=myPassword;USF=1;ULQ=1;"


Использую Microsoft Paradox Driver v.5. Пробовал 3,4 — эффект тот же.

Если использовать другую строку подключения (например для подключений к БД MySQL) утечка прекращается.

Версия ОС — WinXP SP2, MDAC 2.81
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.