Таблица в базе постоянно используется несуществующим пользователем :(

pyk
Дата: 10.10.2003 17:17:45
Есть база данных на MS SQL 2000 и front-end на MS Access 2000, соединенный через ODBC. RAMDAC и SQL драйвера свежие. При использовании SQL Enterprise Management все в порядке, а при попытке изменения введенной записи в прилинкованной таблице в Access получаю сообщение, что другой пользователь пытается изменить запись, и я не могу ничего в ней поменять. Никакого другого пользователя нет. Посоветуйте, пожалуйста, где можно посмотреть какая процедура в SQL Server'e пытается получить доступ к таблице.
Спасибо.
Burunduk
Дата: 10.10.2003 17:38:29
Для начала выполни sp_lock и посмотри какие блокировки стоят на этой таблице
Glory
Дата: 10.10.2003 17:40:24
Триггер на таблице есть ? А SET NOCOUNT ON в нем тоже есть ??
Alexander_Chepack
Дата: 10.10.2003 18:46:35
timestamp колонка и primary key в таблице присутствуют? Access, пытаясь понять изменял ли кто-нибудь запись кроме Вас, пользуется либо timestamp'ом, либо тупо сравнивает все значения в колонках с предыдущими, а поскольку для float, например, точное сравнение по определению не работает, то он бедняга с ума сходит.
Pavel Kolesnikov
Дата: 14.10.2003 11:05:37
Glory,

Триггеры на таблице отсутствуют.

Alexander,

Primary key, конечно, есть. А timestamp'a нет.

Проблема в том, что я могу добавить записть вручную, открывая таблицу прямо в Access или через SQL команду, но если я создаю ЛЮБУЮ форму (даже Wizard'ом) в Access (2000 или 97) и пытаюсь внести запись в форме - она становится для изменений совершенно недоступна.

Идей уж больше нет.
Некто
Дата: 14.10.2003 15:54:42
ID (PK) есть в Record Source формы?
Какая конкретно команда посылаемая Access-ом серверу вызывает ошибку, в Profiler чего видно?
Pavel Kolesnikov
Дата: 15.10.2003 17:10:25
Nekto,
я не совсем понимаю, что Вы имеете в виду под ID(PK) в Record Source формы. Там записано имя таблицы, как обычно.
К сожалению я не могу запустить Profiler, потому что не имею права sa SQL сервера. А что там имеет смысл посмотреть? Я пока совсем чайниик в SQL2000. Раньше только с SQL 6.5 приходилось иметь дело и таких проблем не бывало.
Спасибо.
Некто
Дата: 15.10.2003 17:43:27
>Там записано имя таблицы, как обычно.

Бывает, что там и запрос. Бывает, что он сам по себе не обнавляем.
Первичный ключ в таблице есть?
Pavel Kolesnikov
Дата: 15.10.2003 18:04:05
Nekto,
Да, есть конечно PK.
Я могу внести запись вручную и через таблицу и через форму, но запись введенная в форме ставится на lock и COUNT > 0 и поменять ее уже не удается. Я могу увидеть locks в Enterprize Manager'e и все. А процедуру, которая их вызывает можно увидеть только в Profiler'e?
Некто
Дата: 15.10.2003 18:48:59
Access ничего не обновляет и не добавляет. Он посылает команды серверу. Какие команды видно в Profilerе. На сервере после этого может происходить масса событий. Что именно можно посмотреть там-же.