2010-08-05 92 views
0

我使用ODBC的SQLExecute()在MS SQL 2008上执行sql。我的代码调用一个成为死锁受害者的存储过程。服务器回滚并且过程终止,但SQLExecute()返回成功发生死锁时应该从ODBC中期望什么?

服务器跟踪日志清楚地显示了死锁,但是ODBC跟踪没有任何问题。由于存在很多并发性,因此预计会出现死锁,但是除非告诉我们有问题,否则我的应用程序无法恢复。

ODBC驱动程序应该在这里返回错误吗?文档声明应该在死锁之后设置@@错误,但是ODBC是否有责任捕获该信息?

回答

2

Arrrg!在存储过程中缺少“set nocount on”。在所有备份的行更新计数中,在缓冲区中没有空间存在死锁错误。

相关问题