Обычно мы используем SQL Server, но недавно начали тестирование с помощью ODBC.Два разных выбора блокируют друг друга
Наше приложение работает, но запирает себя.
Я отслеживал запросы с помощью Activity Monitor, и, похоже, что существует операция select, выполняемая на таблице. После этого другие операторы select блокируются со значением lck_m_s.
Если я убью первый запрос, остальные работают, и все продолжается.
Он работает, когда мы используем DB-Lib, но не тогда, когда мы используем ODBC ODBC ODBC ODBC.
Есть ли что-нибудь, что я могу сделать, чтобы эти утверждения не блокировали друг друга, когда мы используем ODBC?
Я попытался использовать NOLOCK в запросах, и это решает эту проблему, но вызывает другие. Один из моих коллег рассказал о возможности изменения настроек соединения, которые могут решить эту проблему?
Это может исправить симптом, но я очень заинтересован, чтобы понять, что вызывает проблему поэтому убедитесь, что подобные вещи не случаются снова. Есть идеи? – Stefan
Если вы не используете подсказку nolock, вы выбираете блокировку уровня строки. Я предполагаю, что оба запроса получают доступ к тем же самым строкам, поэтому блокировка пока выполняется. – Maess
А так - так ODBC будет делать это, а SQL Server - нет? (Извините за основные вопросы, я не парень базы данных!) – Stefan