Возникли проблемы при сохранении подключения к связанной таблице из Access на SQL Server 2012 - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть база данных 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 как последнее средство.

1 Ответ

0 голосов
/ 11 февраля 2020

Это, вероятно, относится к этому вопросу и этой теме :

Microsoft недавно выпустила обновление, нарушающее способ, которым Access видит поля идентификаторов в таблицах, связанных с SQL сервер. Однако еще недавно они это исправили. Обязательно обновите Access до последней версии и проверьте, сохраняется ли ошибка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...