SQL Server Requery () иногда зависает

У меня проблема с Visual C ++ и Microsoft SQL Server 2008R2.

Следующий код будет иногда зависать:

  Object->Update();

if(Object->CanRestart())
{
//Why does this not return??
m_pDBRoRBaseObject->Requery();
}

Object происходит от CRecordset, Мне кажется, что это вызов ::SQLExecute(m_hstmt) в Requery() метод зависает, но я не могу (с моим текущим набором навыков в любом случае) найти способ обойти это.

У кого-нибудь была подобная проблема или какое-либо понимание?

0

Решение

Кажется, я помню (давно, очень давно), что Requery — по крайней мере с некоторыми драйверами базы данных — перестраивает запрос как один большой оператор IN, используя PK строк, которые вы уже собрали. Это, конечно, может быть неэффективно, в зависимости от ваших настроек, метрик, данных и т. Д.

Стоит запустить SQL Profiler и посмотреть, что именно выдает ваш оператор Requery ().

0

Другие решения

Если бы проблема с общей памятью … была исправлена ​​с помощью объекта события, сигнализированного соответствующим образом. И дымящаяся порция вороны. Вкусные!

0

По вопросам рекламы [email protected]