powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выполнить подряд несколько запросов к серверу
6 сообщений из 6, страница 1 из 1
Выполнить подряд несколько запросов к серверу
    #32470099
Фотография alex_ll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма в Акцесс97, на кнопке висит код, где среди прочего есть
Два запроса на выборку к серверу (MS SQL2000). Запросы практически идентичны за исключением условия WHERE

Так вот первый срабатывает без проблем, на втором виснит и через минуту выдает ошибка исполнения. Если закоментарить первый запрос то второй срабатывает без нареканий.
Может ли это быть следствием блокировки таблицы первым запросом и если да как этого избежать?
...
Рейтинг: 0 / 0
Выполнить подряд несколько запросов к серверу
    #32470171
мдя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторна кнопке висит код...
Два запроса на выборку к серверу ...

т.е. это не 2 запроса к серверу , а 2 процедуры открытия рекордсетов?
ODBCDirect?
к одной и той же таблице? (к одним и тем же)
И какие блокировки вы ставите в OpenRecordset?
...
Рейтинг: 0 / 0
Выполнить подряд несколько запросов к серверу
    #32470247
Фотография alex_ll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код примерно такой
DIM Q as QueryDef, R as RecordSet
Set Q=curretndb.QueryDefs![qaz]
Set R=Q.OpenRecordset
...
Set Q=curretndb.QueryDefs![qaz2]
Set R=Q.OpenRecordset -- здесь клинит
...
...
Рейтинг: 0 / 0
Выполнить подряд несколько запросов к серверу
    #32470294
RVI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex_ll Set R=Q.OpenRecordset -- здесь клинит
Потому-что он уже был открыт выше - Set R=Q.OpenRecordset
...
Рейтинг: 0 / 0
Выполнить подряд несколько запросов к серверу
    #32470340
ODBCTimeout
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
:0) Откуда известно, что это "запросы к серверу" (а не запросы к прилинкованным таблицам)?

Если это таки "запросы к серверу", там можно поиграться ТаймаутомODBC (по умолчанию - порядка минуты).
With qdf
.ODBCTimeout = 120
...
Set rst = .OpenRecordset(,,dbOptimisticValue)

При любом раскладе (и для запроса Jet к линкованным таблицам, и для запросов к серверу), можно явно задать тип блокировки при открытии рекордсетов
dbOptimistic/dbOptimisticValue/dbOptimisticBatch (см Хелп к OpenRecordset)
в противном случае будут юзаться блокировки по умолчанию.

__
А если это вообще одна переменная рекордсета - явно закрой первый, и только потом открывай второй. Тогда на блокировки можешь свободно положить.
...
Рейтинг: 0 / 0
Выполнить подряд несколько запросов к серверу
    #32470662
Фотография alex_ll
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2: ODBCTimeout Увеличение таймаута здесь не поможет - пробовал
запрос к серверу - это точно, так как я его создавал как запрос к серверу.
Меня сбивает с толку то, что на машине, которая исполнят роль сервера все прокатывает...

2: RVI спасибо попробую
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Выполнить подряд несколько запросов к серверу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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