Доступ к связанной таблице ODBC к SQL Server позволяет вставлять, но не обновлять - PullRequest
1 голос
/ 09 декабря 2010

Основываясь на веб-показаниях, я построил новое соединение ODBC, тщательно отыскивая тонкие параметры конфигурации, которые могли бы предложить стимулирование обновлений, но ничего не было найдено. Затем я протестировал новую ссылку.

Для повторного тестирования моей проблемы:

1) Я создал следующую таблицу на SQL Server 2005:

[TestTbl]

column1: Key      Type:Integer
Column2: Name     Type:varchar(5)

Заполняется следующим образом

   Key     Name
   ===     ====
    1      Apple
    2      Bear
    3      Cat

2) Затем в Access 2007 создал ссылку на таблицу SQLT TestTbl, используя мое последнее соединение ODBC.

3) Затем успешно вставил следующие новые записи в таблицу SQL Server, используя ссылку и выполнив мои вставки из Access 2007:

   Key     Name
   ===     ====
    4      Dog
    5      Elephant

4) Наконец я попытался выполнить следующий простой запрос на обновление:

   UPDATE dbo_TestTable SET dbo_TestTable.TestName = "CatNip"
   WHERE (((dbo_TestTable.TestKey)=3));

Я получил сообщение об ошибке «Операция должна быть обновляемым запросом»

5) Из-за разочарования я вставил еще одну запись

   Key     Name
   ===     ====
    6      Nonsense

Тогда я отправил этот вопрос с просьбой о помощи.

Может кто-нибудь объяснить, почему я могу вставить новые записи в связанную таблицу, но не могу обновить существующие записи?

1 Ответ

2 голосов
/ 27 января 2011

Проблема в том, что первичный ключ либо не определен, либо когда вы связали таблицу в Access, первичный ключ не был определен.Повторно добавьте связанную таблицу (удалите и добавьте) и выберите поле первичного ключа, в данном случае column1

...