FIX: dbcursorfetchex() Can Cause Blocking in DB-Library
Article ID: 151301
Article Last Modified on 10/16/2003
APPLIES TO
- Microsoft SQL Server 6.0 Standard Edition
- Microsoft SQL Server 6.5 Standard Edition
This article was previously published under Q151301
BUG#: 15039
SYMPTOMS
If a DB-library application calls dbcursorfetch() or dbcursorfetchex()
successfully in one thread, subsequent calls to dbcursoropen() or dbclose()
from other threads using the same DBPROCESS would be blocked. Sp_who and
sp_lock show no blockage on the server side, and the DB-library application
would appear to hang.
CAUSE
dbcursorfetch() and dbcursorfetchex() do not release the Semaphore on
SUCCEED.
WORKAROUND
Use a separate DBPROCESS for each thread.
STATUS
Microsoft has confirmed this to be a problem in Microsoft SQL Server
version 6.5. This problem has been corrected in U.S. Service Pack 1 for
Microsoft SQL Server version 6.5. For more information, contact your
primary support provider.
Keywords: kbbug kbfix kbprogramming KB151301