When you run a query on one thread, and cancel the query on
another thread, the thread that executes the query with the ODBC SQLExecute() function is not notified by the return values that the query was
canceled. SQLExecute() returns SQL_SUCCESS. SQL_SUCCESS indicates that the query ran
successfully, and was not canceled. Instead, SQLExecute() should return SQL_ERROR with SQLSTATE HY008.
RESOLUTION
A
supported fix is now available from Microsoft, but it is only intended to
correct the problem that is described in this article. Apply it only to
computers that are experiencing this specific problem.
To resolve this
problem, contact Microsoft Product Support Services to obtain the fix. For a
complete list of Microsoft Product Support Services phone numbers and
information about support costs, visit the following Microsoft Web site:
NOTE: In special cases, charges that are ordinarily incurred for
support calls may be canceled if a Microsoft Support Professional determines
that a specific update will resolve your problem. The usual support costs will
apply to additional support questions and issues that do not qualify for the
specific update in question.
The English version of this fix has the file
attributes (or later) that are listed in the following table. The dates and
times for these files are listed in coordinated universal time (UTC). When you
view the file information, it is converted to local time. To find the
difference between UTC and local time, use the
Time Zone tab
in the Date and Time tool in Control Panel.
Date Time Version Size File name
--------------------------------------------------------
07-Jan-2003 10:41A 2000.81.9031.22 385,024 sqlsrv32.dll
07-Jan-2003 10:41A 2000.81.9031.22 24,576 odbcbcp.dll