|
|
|
Почему происходит блокировка всей таблицы?
|
|||
|---|---|---|---|
|
#18+
Работаю из Access 97 с SQL Server 2000 путем присоединения таблицы через ODBC и с помощью запросов к серверу. Делаю следующее: 1. Создаю временную таблицу на основе части данных присоединенной таблицы через ODBC. Буру данные по продажам за определенную неделю. 2. Произвожу над этими данными ряд операций 3. Стираю данные в таблице на SQL Server за эту неделю с помощью запроса к серверу с помощью VBA. Упрощенно таким образом: Dim QDef As QueryDef Set QDef = dbc.CreateQueryDef("") With QDef .ReturnsRecords = False .Connect= "ODBC;DSN=DataStat;Description=Статистика;UID=Georg;... и т.д" .SQL = "DELETE FROM Продажи WHERE (Неделя = 48)" .Execute End With 4. Затем закачиваю измененные данные на сервер c помощью динамически создаваемого запроса Insert Into вида: Insert Into [Продажи] (Неделя, КодТовара, Магазины, Кафе, ГорОпт,ОблОтдел, РегОпт, Москва, Сети, Партнер, Агростар, Разные, Остатки) Values (104153,-567604212,0,0,0,0,0,0,0,0,0,0,22.9) Если никто не работает с этой таблицей все работает нормально. Но если там в момент вливания кто-нибудь изменяет любые данные, даже те которые никак не участвуют в операциях при попытке выполнения операций с таблицей возникает ошибка ODBC. Видимо при любой работе с таблицей на SQL Server блокирутся вся таблица. Почему это происходит и как с этим боротся? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.12.2002, 11:03:37 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3364&tid=1818294]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
37ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
20ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 323ms |

| 0 / 0 |
