Knowledge Base

BUG: dbprocerrhandle Does Not Get Fired For Error 10029

Article ID: 164171

Article Last Modified on 2/22/2005


APPLIES TO


This article was previously published under Q164171
BUG #: 15697, 16582 (NT: 6.00, 6.50)

SYMPTOMS

The per process error handler does not get fired when the number of simultaneously open DBPROCESS structures exceeds the maximum number of simultaneously open DBPROCESS structures (25 by default or the number set by dbsetmaxprocs). The call to dbopen returns NULL as expected. In such a scenario, if a global error handler is installed, it gets fired to indicate error 10029 : Maximum number of DBPROCESSes already allocated.

WORKAROUND

Install the global error handler before the call to dbopen, and then install the per process error handler for each process.

STATUS

Microsoft has confirmed this to be a problem in SQL Server 6.0, 6.5, 7.0, and SQL 2000.

MORE INFORMATION

You will encounter this problem when the LOGINREC structure is passed to dbprocerrhandle. In other cases, where the DBPROCESS structure is passed to dbprocerrhandle, a global error handler should already be installed to take care of any error that may occur up until the dbopen call.

Keywords: kbbug kbpending kbusage KB164171