|
From: Mike P. <mj...@fi...> - 2013-01-22 17:19:49
|
Hi guys,
Chris - thanks again for the ideas, sadly didn't cut it....
.....because I discovered something else...
Having got to the point of tracing the UnixODBC calls, I could see that
SQLConnect was being called followed by SQLDisconnect.
What I then discovered is that in odbc.c, SQLConnect calls
mdb_sql_open() as you'd expect..... but the corresponding SQLDisconnect
didn't do anything - most especially, it didn't call mdb_sql_close()!!
So, anyway, I submit a change to odbc.c for your pleasure:-
SQLRETURN SQL_API SQLDisconnect(
SQLHDBC hdbc)
{
struct _hdbc *dbc = (struct _hdbc *) hdbc;
struct _henv *env = (struct _henv *) dbc->henv;
TRACE("SQLDisconnect");
mdb_sql_close(env->sql);
return SQL_SUCCESS;
}
Fixing the code and recompiling causes my issue to go away. Quite why
this hasn't been noticed before is a bit of a mystery (me included!) but
I hope this discovery helps someone out there.
--
Cheers,
Mike
mj...@fi... http://www.filmsat59.com
Films at 59 Ltd, 59 Cotham Hill, Bristol. BS6 6JR ENGLAND +44 117 906 4300
|