Microsoft KB Archive/109649

= INF: dbnextrow Does Not Return Fail on Deadlock =

Article ID: 109649

Article Last Modified on 2/22/2005

-

APPLIES TO


 * Microsoft SQL Server 4.21a Standard Edition
 * Microsoft SQL Server 2000 Standard Edition

-



This article was previously published under Q109649



BUG# NT: 9739 (4.2)



SUMMARY
If a process running dbnextrow is chosen as the victim of a deadlock resolution (SQL Server error 1205) the call to dbnextrow will return NO_MORE_ROWS.

The SQL Server message handler will be invoked with the correct message number (1205). The DB-Library (DB-Lib) error handler will not be invoked.

The following is the SQL Server error 1205:

Your server command (process id #%d) was deadlocked with another process and has been chosen as deadlock victim. Re-run your command.



MORE INFORMATION
This is the expected behavior of DB-Library. To handle the condition, check for error 1205 in the message handler, and use the dbsetuserdata function to communicate this to your application. An example can be found in Chapter 4 on DB-Library functions in the SQL Server "Programmers Reference for C" under dbsetuserdata.

Additionally, you can find an example of how to detect a deadlock condition in "Appendix E Maximizing Consistency and Concurrency" in the SQL Server for Windows NT "Programmer's Reference for C".

Additional query words: Windows NT

Keywords: kbinfo kbprogramming KB109649

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.