У меня есть база данных Access 2016, использующая SQL Server 2012 в качестве серверной части (я должен использовать это, поскольку именно это установил клиент). У меня очень странная проблема. В этой базе данных есть две таблицы, которые имеют поле первичного ключа, которое также является Identity (1,1). Я могу связать таблицы с Access без проблем (Менеджер связанных таблиц использует ODB C Driver 2013 по умолчанию). Таблицы отображаются как первичный ключ AutoNumber в Access. Пока все хорошо.
Однако, когда я выхожу из Access и обратно go, я нахожу, что, хотя таблицы все еще связаны, он больше не добавляет AutoNumber для новых записей, Другими словами, когда я go в Table Design, Autonumber исчез, Access "забыл", что я сделал это поле идентификации, даже если оно все еще есть в SQL Server. Таким образом, я, очевидно, получаю сообщение об ошибке «Невозможно вставить NULL-значение в ...», даже если раньше было добавлено Autonumber / Identity.
Единственное решение, которое я нашел, - это отсоединить все таблицы (не только refre sh) и заново выполнить процесс менеджера связанных таблиц. Я также попробовал пользовательскую строку ODB C, используя SQL Server Native Client 2011, но при выполнении этого и импорте Менеджер просит меня определить первичный ключ для этих таблиц, как будто у них нет PK в SQL Сервер, когда они, очевидно, делают.
Возможно, я использую не тот драйвер? Должен ли я поставить это на мой экземпляр SQL2019 и просто попросить их обновить? Это будет намного больше работы, так как мы уже выполнили миграцию данных, поэтому я бы предпочел «обновить» с 2012 до 2019 как последнее средство.