Связанная таблица Microsoft Access (ASE) с ошибкой триггера

Я имею в Microsoft Access связанную таблицу к серверу ASE. На стороне сервера таблица не имеет столбцов первичного ключа или идентификатора. И имеет триггер на вставке, который проверяет новые записи, так что, когда запись не проверяется, она удаляет запись из таблицы и записывает в "таблицу"_ERR, чтобы сообщить пользователям, какая ошибка возникла.

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

У меня такая же настройка в 10 разных таблицах (все с триггерами все связаны с Access)

В этой конкретной таблице при попытке вставить / добавить записи в таблицу через Access я всегда получаю сообщение об ошибке:

Обновление / удаление в одной строке затронуло более одной строки связанной таблицы. Уникальный индекс содержит повторяющиеся значения.

Эта ошибка возникает, когда таблица и table_ERR пусты, и я только пытаюсь вставить 1 запись.

Если я отключу триггер, у меня не будет проблем с вставкой записей через Access

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

Я читал, что MS Access может испортить идентичность @@, несмотря на то, что ни одно из представленных в сети решений не работает.

ссылки: https://groups.google.com/forum/#!msg/microsoft.public.sqlserver.programming/McHdRpPKMhs/SlyObU8w7JMJ

Остановите доступ от использования неправильной идентичности при добавлении в связанную таблицу на сервере SQL

Заранее спасибо.

РЕДАКТИРОВАТЬ: если я пытаюсь вставить записи непосредственно из программного обеспечения для управления (например, Aqua Data Studio), нет ошибок

1 ответ

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

Тем не менее, в данном конкретном случае для этой конкретной связанной таблицы кажется, что ваши 10 столбцов недостаточно уникальны для предотвращения выбора нечетких строк.

Предлагаемые исправления:

  1. Добавьте первичный ключ. Честно говоря, наверное, лучший и самый простой выбор.
  2. Если по какой-то причине вы не можете добавить новый столбец (или изменить) свою таблицу; возможно, вы сможете повторно связать свою таблицу и заново выбрать 10 столбцов, чтобы они были более уникальными.
  3. Кроме того, я думаю, что нам нужно больше информации.

Просто из любопытства, что является причиной отсутствия ключа?

Другие вопросы по тегам