Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Избежать Busy / 8 сообщений из 8, страница 1 из 1
26.03.2010, 13:42
    #36544567
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
У меня синхроное соединение и вываливает Busy регулярно. После revert опять нормально работает.

Как избавиться от этого ? Можно ли получить состояние соединения ? Чтобы отреагировать на уровне кода.
...
Рейтинг: 0 / 0
26.03.2010, 14:12
    #36544676
Fffffffffffff
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
Соединение с чем и как?
...
Рейтинг: 0 / 0
26.03.2010, 20:27
    #36545636
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
Есть коннест к серверу SQL. В форме - грид. Источник грида - удаленное представление. Если попытаться изменить значение одного из столбцов, выдается сообщение о том, что соединение занято. Причем пару раз выдаст в самом начале работы - потом работает надежно.
...
Рейтинг: 0 / 0
26.03.2010, 21:05
    #36545663
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
При работе в синхронном режиме такое невозможно. Вы просто не сможете перейти к выполнению другой операции пока предыдущая не будет закончена. Значит, Вы настроили для этого соединения асинхронный режим работы.

Посмотрите, что вернет примерно такая команда когда форма ужу открыта

Код: plaintext
?SQLGetProp(CursorGetProp("ConnectHandle","MyRemoteView"),"Asynchronous")

Здесь MyRemoteView - это алиас под которым открыт Ваш Remote View

Ну, а состояние соединения можно проверить попытавшись послать по этому соединению какую-либо формальную команду и отловив возможные ошибки. Ну, примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
IF SQLExec(m.ConHendl, "") <  0 
    * Уточняем причину ошибки
    LOCAL laError( 1 )
    =AERROR(laError)
    * Анализируем массив laError на предмет сообщения об ошибке
ENDIF
...
Рейтинг: 0 / 0
27.03.2010, 15:52
    #36546229
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
ВладимирМ,

Нет.Режим синхронный. Причем для эксперимента я сделал именно для этой вьюхи отдельной соединение.

В колонке грида используется комбобокс. И вот когда с его помощью меняется значение в ячейке, тогда и возникает это буси.

Пару раз моргнет, жмем реверт и потом - как часики. Такое впечатление, что соединение "просыпается" а потом работает...

Само собой, что используя update ... - tableu() проблем нет. Но мне интересно применить именно такую конструкцию, когда комбо привязан к вьюхе и менно он меняет значение.
...
Рейтинг: 0 / 0
27.03.2010, 15:56
    #36546232
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
ВладимирМ,
а вот
?SQLGetProp(CursorGetProp("ConnectHandle","DOGOVOR"),"ConnectBusy")
возвращает .T.
Что к чему ?
...
Рейтинг: 0 / 0
27.03.2010, 15:59
    #36546235
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
Всем спасибо! Просто форма открывается, а данные продолжают подгружаться. Вот и ругаеется...
...
Рейтинг: 0 / 0
27.03.2010, 22:19
    #36546495
PaulWist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Избежать Busy
FAMВсем спасибо! Просто форма открывается, а данные продолжают подгружаться. Вот и ругаеется...

Обычно помогает go bottom in Alias
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Избежать Busy / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]