INFO: Improper Usage of dbclose() Can Cause Disconnect Message

Q114958


The information in this article applies to:


SUMMARY

Improper usage of the dbclose() function in a DB-Library (DB-Lib) program can result in several disconnection messages written to the error log and event viewer. If a DB-Library program calls dbclose() before processing of results is complete, messages 17824, 232, and 109 will appear in the SQL Server error log and the Windows NT application event log.


MORE INFORMATION

When dbclose() is called after dbsqlexec() and before dbresults() or before all processing is complete using dbresults(), the following error is logged in the NT event viewer as eventID 17058 (the error will also appear in the SQL Server error log):

Error: 17824, Severity 10, State 0
Unable to write to ListenOn connection
"\\.\pipe\sql\query',loginame 'sa',hostname''.
OS Error: 232, The pipe is being closed

The SQL server error log may contain the following entry:
kernel Cannot send, host process disconnected: <a negative integer>
spid:
1

A properly developed DB-Library program should call dbcancel() before dbclose() if results do not need to be processed. Note that this behavior will appear when using DB-Library versions 4.21 or 4.20.50.

Additional query words: dbclose client 17824 232 109 dblib

Keywords : kbprogramming
Issue type : kbinfo
Technology : kbSQLServSearch kbAudDeveloper kbSQLServPTK420


Last Reviewed: February 6, 2000
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.