Ifxoledbc memory leak
Posted in 2003
Topics: Performance & Tuning, Connectivity: ODBC / JDBC / .NET
Hi, Something that cost me 5 days to trace... Using ADO and the latest CSDK (2.81 + 9.4 on the server side all are WIN2KSP3 ) I found that the the: IRecordset->Open(...) .. IRecordset->Close() causes 68 bytes memory leak. Well, after 100000 calls to to db, the entire thing chrashes. Of course, I drilled down to my code, but... The same code works perfectly if I change the connection string from "Povider=Ifxoledbc.2" to "Provider=MSDASQL.1" So, using MS OLEDB for ODBC provider instead Ifxoledbc resolved the memory crush, but the drawbacks are fascinating. 1. When using Ifxoledbc the client is on 70% CPU and the Server is on 42% CPU. Each Open/Close recordset consumes 68 bytes of memory. 2. When using MS OLEDB for ODBC there are no memory leak at all, but the client is on 12% and the server is on 98%, and the performance is 20 times slower. Do you guys need some C programmer? I'll do it for free.