Прилинкованная таблица MsSql не дает вносить изменения в новые записи

Ruslan Spb
Дата: 05.12.2006 13:10:24
Есть база на MsAccess в ней прилинкованны куча таблиц из MsSql.

Со всеми таблицами нет проблем кроме одной:

Те записи которые были просто импортированны из старой базы без проблем можно вносить изменения.

А новые записи, добавленные в ходе работы базы, пишет что запись заблокированна так как другой юзер в это время успес внести изменения.

Причем на самом серевере MsSql в Enterprise Manager эти записи без проблем редактируются.

А даже если перегрузить комп, и после никого в базе нет, запусть базу и открыть прилинкованную таблицу на редактирование (не в форме а напрямую таблицу), все равно именно на эти строчки все равно пишет тоже самое. При этом не запущенна ни одна форма и как говорил в этот момент никто не работает в базе.

Было одно интереное решение: создать новую такуюже таблицу, перегнать туда данные, я даже поставил все галочки для всех в Permissions (тоесть всем разрешил все). И все равно именно те записи которые были добавленны акцессом заблокорованны "невидимым юзером".

Вот злополучная строчка которая добавляет эти заблокированные строчки:

CurrentDb.Execute "INSERT INTO Pl ( Prim, Sotr, Kost, KoBan , Ot, Pri) 
VALUES ('" & Prim & "', 7, " & Kost & ", " & KoBan & ", Now, Now);"

добавление в конце этой строчки
, dbSeeChanges
не помагает.
Владимир Саныч
Дата: 05.12.2006 13:29:30
Ключ в этой таблице есть?
Ruslan Spb
Дата: 05.12.2006 13:32:58
Владимир Саныч
Ключ в этой таблице есть?

Да на поле Id оно автоинкементно и в акцессе и на самом серваке.

Только что попробовал добавить запись на самом севаке и попробовал после этого отредактировать в акцессе, эфект тотже.
Ruslan Spb
Дата: 05.12.2006 13:41:26
Еще вариант попробовал:

Создал пустую акцесовску базу и прилинковал только одну таблицу.

Эффект тотже
Artcloud
Дата: 05.12.2006 14:30:18
У меня было с точностью до наоборот, с теми же исходными данными.

Не давал править старые записи в таблице MsAccess, но создавал новые и работал с ними нормально. В Enterprise Manager все было ок.
Я в итоге вылечил это созданием такой же таблицы, и импортом туда всех данных из старой.
MsDatabaseru
Дата: 05.12.2006 15:21:19
Ruslan Spb
Владимир Саныч
Ключ в этой таблице есть?

Да на поле Id оно автоинкементно и в акцессе и на самом серваке.

Только что попробовал добавить запись на самом севаке и попробовал после этого отредактировать в акцессе, эфект тотже.


автоинкримент и первичный ключ не одно и тоже
еще раз попробуйте ответить на вопрос
adv
Дата: 05.12.2006 15:25:44
автор
Да на поле Id оно автоинкементно и в акцессе и на самом серваке.
это что означает: в таблице поле id primary key identity(1,1)?

что пишет профайлер при селекте и попытке апдейта?


версия аксесса, мдака, скл сервера?
Ruslan Spb
Дата: 05.12.2006 20:24:43
Большое всем спасибо
Заработало

Проблема оказалась простая, в этой таблице были битовые поля на которых стояли галочки допускать NULL, стоило их убрать а NULL заменить на 0 то все сразу заработало