Discussion:
[Firebird-odbc-devel] ODBC 64 crash
Laurs Laursen
2012-11-12 12:58:54 UTC
Permalink
I have been working some years with Firebird 1.5 with ODBC 1.2

I am now trying to convert databases to v 2.5 x64 with Firebird_ODBC_2.0.1.152_x64 and
succeded to recreate at 2.5 database with gbak
(and I can see all data in the database with DBexplorer (old Borland 5)).

My software is 32 bit Visual Studio C++ 2008 and I am testing it under
Windows 7 x64.

It was all working in win7x64 with Firebird 1.5 with ODBC 1.2 under win 7x64.
I deinstalled all Firebird and ODBC and installed the 64 bit versions.
After that:
I can connect to the database with ODBC, I can open tables, but when I read
from them, the program crashes somewhere in the code in free(); when I frees
the data pointers after reading data.
The data pointers used are for Bind / Fetch like:
SQLPOINTER pdata11 = NULL;
pdata11 = (SQLPOINTER)malloc(__iintmaxdatalen+2);
ret = SQLBindCol(odbchnd_->StmtHandle,
ivar11,
SQL_C_BINARY,
(SQLPOINTER) pdata11,
__iintmaxdatalen,
& pcbValue11
);
Its different for different tables when it crashes, but I get errors from HeapFree.
The ODBC software I use is an old example from MS (maybee MS visual 6), but it
compiles and loads all the jdbc/odbc drivers at start.
Any ideas/help are appreciated.
Best Regards
Laurs Laursen
Denmark

Loading...