Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SQL connection timed out [D7, MSSQL]


SoLRoN ©   (2005-06-02 06:00:00) 

Lock time out.
SQL connection timed out.

Не могу побороть ошибку, может я не там копаю? Кто сталкивался? Как избавиться? Драйвер MSSQL...


SoLRoN   (2005-06-02 13:55:00) [1]

УРА! получилось изменить настройки в BDE Administratore и запрос отработал... Минут за 30 :)


SoLRoN   (2005-06-02 12:35:00) [2]

Не пинайте сильно, но чтотакое BOL?

BDE Administrator - до боли что то знакомое казалось, и действительно! Нашел, поменял! Тестю...


Nikolay M.   (2005-06-02 11:20:00) [3]


> SoLRoN   (02.06.05 11:15) [8]

Подробные ответы на первые 3 вопроса находятся в BOL.


SoLRoN   (2005-06-02 11:15:00) [4]

Эх ещё бы по понятнее обяснили, что за DeadLoсk? SET LOCK_TIMEOUT в скрипте sql? //еще можно попробовать указать в хинтах всех таблиц запроса (NOLOCK) - это как сделать? Где BDE Administrator? А шут их знает эти серваки какие, они в других городах находятся...


Nikolay M.   (2005-06-02 10:32:00) [5]


> Если происходит дэдлок и сервер решает убитьодин из запросов


Nikolay M.   (2005-06-02 10:30:00) [6]


> У Вас 2 (или больше) транзакции дерутся за таблицу (вроде,
> в 6-ке блокировок строк ещё не было ;)) - пытаются наложить
> блокировку на уже заблокированную (другим запросом) таблицу.
> Очень может быть DEADLOCK. Если не он - попробуйте
> SET LOCK_TIMEOUT timeout_period

Если происходит дэдлок и сервер решает один из запросов, участвующих в дэдлоке, сообщение об ошибке будет совсем другим. А вот SET LOCK_TIMEOUT будет весьма полезным.
+ еще можно попробовать указать в хинтах всех таблиц запроса (NOLOCK).


ЮЮ   (2005-06-02 10:21:00) [7]

>Во первых я пытаюсь конектится через BDE

Странно, что во-первых проявилось лишь в третьем посту.
В BDE Administratore установи нужный TIMEOUT.

Хотя 5 мин для оптимизиованного лучше некуда запроса !!!
Железо то хоть нормальное?


MOA   (2005-06-02 10:12:00) [8]

Для 6 BDE лучше, ПМСМ.
>Lock time out.
У Вас 2 (или больше) транзакции дерутся за таблицу (вроде, в 6-ке блокировок строк ещё не было ;)) - пытаются наложить блокировку на уже заблокированную (другим запросом) таблицу. Очень может быть DEADLOCK. Если не он - попробуйте
SET LOCK_TIMEOUT timeout_period
Если же он, клинч, - посмотрите, отчего он возникает.
Удачи!


SoLRoN   (2005-06-02 08:44:00) [9]

Ищу истину уже 4 дня...
Во первых я пытаюсь конектится через BDE (пробывал ещё Zeos)...
Через адо тоже пытался соедениться, но у нас сервер версии 6 и при создании строки подключения он ругаеться что ему нужен как минимум 6.5.[сколько то] обновления не придвидится, поэтому пытаюсь выкручиваться...

А запрос оптимизиован лучше некуда, но база огромная... причем не одна а 4 штуки в связке и одна больше другой...


dmitry501   (2005-06-02 08:12:00) [10]

SoLRoN   (02.06.05 6:00)
Это происходит, когда запрос выполняется более, чем указано в

ConnectionTimeout
CommandTimeout


у TADOConnections
по умолчанию они равны 30 сек.

напиши

ADOConnection.ConnectionTimeout := 480;
ADOConnection.CommandTimeout := 480;


и будет тебе щастье

Но лучше оптимизируй запрос, которые так долго выполняется.


ЮЮ   (2005-06-02 07:28:00) [11]

Не могу возпромзвести ошибку, может я не там копаю? Как столкнулся? Как добиться? ADO + MS OLE DB provider for SQL Server. ODBC провайдер не помогает


Наверх

Титульная страница Поиск, карта сайта Написать письмо