Microsoft KB Archive/151301

From BetaArchive Wiki
Knowledge Base


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