BUG: dbprocerrhandle Does Not Get Fired For Error 10029 (164171)
The information in this article applies to:
- Microsoft SQL Server 6.0
- Microsoft SQL Server 6.5
- Microsoft SQL Server 7.0
- Microsoft SQL Server 2000 (all editions)
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.
Modification Type: | Minor | Last Reviewed: | 2/22/2005 |
---|
Keywords: | kbBug kbpending kbusage KB164171 |
---|
|