This content has been marked as final. Show 8 replies
854262 wrote:Actually, I'm debugging and re-building all the time, but it doesn't help. Oracle database version I'm testing right now is 11g x64, but I tested with x32. No luck.
this can mean any of the following:-
1/ if it initially have been compiled with ODBC v10 lib you may need to re-build the app (the library signature may have been changed);
2/ what Oracle database version do you connect to?
I think, under Win7, you may need to re-build your up.
Edited by: user8390540 on Oct 7, 2011 7:02 AM
I get the same exact issue. In my case, the server is still 10g but the client is 11. Windows 7, x64. Using 32 bit Oracle odbc. The real problem happens in CRecordset::FreeRowset() after a modification takes place. This happens only for Oracle and not with a Sql Server database.
Using VS 2010, SP 1. Rebuilding does not help, this has been going on for months on everyone's development PC here at work.
It's been so long since I've found sb with same problem, but I also have that heap corruption error, exactly as first explained.
I'm using win7 with the 11g driver to connect, but I don't know which database driver is.
I've had this problem forgotten for 4 months, and it's been resurrected again.
If someone finds a solution it'd be great to know it.
I've been working some steps more and after a "little testsuite" it seems to be problem of the debug version (as the message says: "Debug ERROR!").
I've tried executing the code in release version and after a 100000 updates loop over a text registry, it seems to work perfectly. I don't know if it's actually a driver version problem or if it only affects the code version (debug/release).
Could somebody confirm this?
Once again, we have dedicated some more time on that question, and the new tests revealed that the problem is in the first 11 driver version (11.02.00.01). Exists a solving patch for that 01 version, and the 11.02.00.02 version also solves the problem.
Debugging the problem, it seemed to be an operation trying to write in a non-reserved space of memory. The space reserved booked for less space than finally wrote. So that problem is asserted in debug executions, and ("luckily") dont' give noticeable problems, but obviously can cause them, in release versions.
So, upgrading the driver version would solve that memory corruption.
Hope to be helpful information.