BUG: dbprocerrhandle Does Not Get Fired For Error 10029
Article ID: 164171
Article Last Modified on 2/22/2005
APPLIES TO
- Microsoft SQL Server 6.0 Standard Edition
- Microsoft SQL Server 6.5 Standard Edition
- Microsoft SQL Server 7.0 Standard Edition
- Microsoft SQL Server 2000 Standard Edition
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