"Устранение блокировок (deadlock) при использовании BDE и ODBC в Delphi для подключения к SQL Server 2008"Delphi , Графика и Игры , CanvasУстранение блокировок (deadlock) при использовании BDE и ODBC в Delphi для подключения к SQL Server 2008 Вопрос: Мы столкнулись с проблемами блокировок (deadlock) в коде Delphi, который использует BDE для подключения к SQL Server 2008 через драйвер ODBC SQL Server Native Client (версия 2005). Проблема возникает в цикле вставок в несколько таблиц, который выполняется в рамках транзакции [TDatabase].StartTransaction. При просмотре профилировщика SQL Server мы видим, что в какой-то момент во время цикла меняется SPID (Session ID), в результате чего происходит блокировка. Оба SPID выполняют вставки в ту же таблицу. Кажется, что BDE в какой-то момент устанавливает второе подключение к БД. Несмотря на желание отказаться от BDE, в настоящее время это невозможно. Подтвержденный ответ: Существует несколько возможных причин и решений этой проблемы.
Контекст: Устранение блокировок (deadlock) при использовании BDE и ODBC в Delphi для подключения к SQL Server 2008. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |