|
|
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
Есть форма в Акцесс97, на кнопке висит код, где среди прочего есть Два запроса на выборку к серверу (MS SQL2000). Запросы практически идентичны за исключением условия WHERE Так вот первый срабатывает без проблем, на втором виснит и через минуту выдает ошибка исполнения. Если закоментарить первый запрос то второй срабатывает без нареканий. Может ли это быть следствием блокировки таблицы первым запросом и если да как этого избежать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 10:29 |
|
||
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
авторна кнопке висит код... Два запроса на выборку к серверу ... т.е. это не 2 запроса к серверу , а 2 процедуры открытия рекордсетов? ODBCDirect? к одной и той же таблице? (к одним и тем же) И какие блокировки вы ставите в OpenRecordset? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:01 |
|
||
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
код примерно такой 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 -- здесь клинит ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:38 |
|
||
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
alex_ll Set R=Q.OpenRecordset -- здесь клинит Потому-что он уже был открыт выше - Set R=Q.OpenRecordset ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 11:56 |
|
||
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
:0) Откуда известно, что это "запросы к серверу" (а не запросы к прилинкованным таблицам)? Если это таки "запросы к серверу", там можно поиграться ТаймаутомODBC (по умолчанию - порядка минуты). With qdf .ODBCTimeout = 120 ... Set rst = .OpenRecordset(,,dbOptimisticValue) При любом раскладе (и для запроса Jet к линкованным таблицам, и для запросов к серверу), можно явно задать тип блокировки при открытии рекордсетов dbOptimistic/dbOptimisticValue/dbOptimisticBatch (см Хелп к OpenRecordset) в противном случае будут юзаться блокировки по умолчанию. __ А если это вообще одна переменная рекордсета - явно закрой первый, и только потом открывай второй. Тогда на блокировки можешь свободно положить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 12:11 |
|
||
|
Выполнить подряд несколько запросов к серверу
|
|||
|---|---|---|---|
|
#18+
2: ODBCTimeout Увеличение таймаута здесь не поможет - пробовал запрос к серверу - это точно, так как я его создавал как запрос к серверу. Меня сбивает с толку то, что на машине, которая исполнят роль сервера все прокатывает... 2: RVI спасибо попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.04.2004, 14:43 |
|
||
|
|

start [/forum/topic.php?fid=45&tid=1675543]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 236ms |
| total: | 478ms |

| 0 / 0 |
