we are having problems with OCCI::ResultSet::gestString(). My platform is VC++ 6.0 on Windows 2000 professional and Oracle 18.104.22.168.0.
We open the connection, perform the query statement and call getString() to get the value of a VARCHAR column. The code is dead simple (and it is taken from the occidml.cpp demo file shipped with Oracle9i).
The call to getStream works fine the first time, but the second time causes an assertion failure in dbgheap.c, I guess while freeing the previous value of the string. Please find hereunder the dbgheap.c code section causing the failure:
* If this ASSERT fails, a bad pointer has been passed in. It may be
* totally bogus, or it may have been allocated from another heap.
* The pointer MUST come from the 'local' heap.
Everything works fine if I compile in release mode, both against mono and multi-threaded C++ runtime. The problem arises only when I try to compile in debug mode.
I would be grateful to anyone could help us,
thanks in advance.
I am having the same problem, using Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production.
In my specific situation I am coding a method that has the purpose of extracting the structure of a table into some variables which will contain field name, type and size.
The code snippet below works for some tables, for other ones it throws an assertion failure in dbgheap as stated by the previous poster. I am using MS Developer Studio 2003 under Win2K Pro and OCCI which accompanies Oracle 10g.
#include <occi.h> //Include das bibliotecas do Oracle
int main(int argc, char *argv)
oracle::occi::Environment* env = oracle::occi::Environment::createEnvironment(); //Cria o ambiente de acesso ao Oracle