myodbc_end is really only usable during Windows DLL unload, since it's not connection-specific and not thread-safe either. This bit of brain fade accounts for our bug #185343 and several bugs filed at mysql.com. Furthermore, my_end() isn't exported from libmysqlclient anymore. Hence, best fix is to turn the function into a no-op. diff -Naur mysql-connector-odbc-5.1.9.orig/driver/dll.c mysql-connector-odbc-5.1.9/driver/dll.c --- mysql-connector-odbc-5.1.9.orig/driver/dll.c 2011-10-04 16:19:00.000000000 -0400 +++ mysql-connector-odbc-5.1.9/driver/dll.c 2012-01-10 15:56:41.988087855 -0500 @@ -94,6 +94,7 @@ */ void myodbc_end() { +#if 0 if (!--myodbc_inited) { x_free(decimal_point); @@ -121,6 +122,7 @@ my_end(0); #endif } +#endif }