2010-08-05 4 views
0

저는 ODBC의 SQLExecute()를 사용하여 MS SQL 2008에서 sql을 실행 중입니다. 내 코드는 교착 상태가되는 저장 프로 시저를 호출합니다. 서버가 롤백되고 프로 시저가 종료되지만 SQLExecute()는 성공을 반환합니다.교착 상태가 발생할 때 ODBC에서 예상되는 사항은 무엇입니까?

서버 추적 로그에는 교착 상태가 명확하게 표시되지만 ODBC 추적에는 문제의 징후가 없습니다. 많은 동시성이 있기 때문에 교착 상태가 예상되지만 문제가 있다고 말하지 않으면 응용 프로그램을 복구 할 수 없습니다.

여기에서 ODBC 드라이버가 오류를 반환해야합니까? docs에 의하면 @@ error는 교착 상태 후에 설정되어야하지만 ODBC가 해당 정보를 캡처해야하는 것은 아닌지?

답변

2

rrrg! 저장 프로 시저 내에서 "set nocount on"이 누락되었습니다. 백업 된 모든 행 갱신 계수와 교착 상태 오류의 버퍼 공간이 없습니다.

관련 문제