Перейти до основного
Підтримка
Вхід
Вхід за допомогою облікового запису Microsoft
Увійдіть або створіть обліковий запис.
Вітаємо,
Виберіть інший обліковий запис.
У вас є кілька облікових записів
Виберіть обліковий запис, за допомогою якого потрібно ввійти.

Ознаки

Під час спроби вставити дані в настроювану таблицю або під час запуску процесу, який вставляє дані в настроювану таблицю, з'являється повідомлення про помилку на вбудовування такого змісту:

Під час отримання доступу до таблиці TableName сталася така помилка SQL Server:



1088, "42000",[Microsoft][драйвер ODBC SQL Server][SQL Server]Не вдалося знайти об'єкт "NAVDBName.dbo.CompanyName$ TableName", оскільки воно не існує або у вас немає дозволів.



SQL: SET

IDENTITY_INSERT "NAVDBName"." dbo"." CompanyName$ TableName" ON

Примітка. У цьому прикладі TableName представляє таблицю Microsoft Dynamics NAV клієнта. NAVDBName – це ім'я бази даних Microsoft Dynamics NAV клієнта. CompanyName – це призначена назва компанії клієнта в Microsoft Dynamics NAV.



Ця проблема може виникнути у версіях Microsoft Dynamics NAV, у яких використовується Microsoft SQL Server бази даних.

Причина

Ця проблема виникає, якщо виконуються такі умови:

  • В одному з полів таблиці, зазначених у повідомленні про помилку, властивість AutoIncrement має значення Yes (Так).

  • Під час операції insert, яка використовується явно, заповнить поле з властивістю Автоіндексування значення Так.

  • У вас немає одного з таких дозволів:

    • Членство в ролі сервера SYSADMIN у SQL Server

    • Членство db_owner бази даних Microsoft Dynamics NAV

    • Членство db_ddladmin бази даних Microsoft Dynamics NAV

Спосіб вирішення

Щоб вирішити цю проблему, скористайтеся одним із наведених нижче способів.

Метод 1


Змініть дію INSERT, щоб вона не заповнюла поле з властивістю Автоінкремент значення Так.

Метод 2

Для відповідного поля для властивості Автоінкремент установіть значення Ні.

Примітка. Для обох методів 1 і 2 може знадобитися допомога розробника Microsoft Dynamics NAV, особливо якщо для цього потрібно змінити код. Ці зміни слід ретельно перевірити, перш ніж застосовувати зміни до динамічної бази даних Microsoft Dynamics NAV.

Спосіб 3.

Надайте дозволи Alter для спеціальної таблиці відповідній ролі програми (наприклад, &ndo$shadow, якщо ви вибрали стандартну модель безпеки) у SQL Server Management Studio.


Примітка. Дозволи, надані вручну таблицям із SQL Server Management Studio, перезаписуються під час синхронізації системи безпеки в Microsoft Dynamics NAV. Тому після запуску синхронізації безпеки потрібно знову надати дозволи Alter для настроюваної таблиці.

Додаткові відомості

Якщо властивість AutoIncrement у Microsoft Dynamics NAV має значення Так для поля з типом даних "Ціле число" або для поля типу даних "Велике ціле число", відповідне поле має бути автоматично заповнено унікальним цілим числом, створеним системою. Значення, яке використовується, щоб послідовно заповнювати поле для кожного нового запису, який вставляється.

Щоб реалізувати властивість AutoIncrement, Microsoft Dynamics NAV визначає SQL Server, з якою пов'язано властивість IDENTITY. Властивість IDENTITY SQL Server автоматично заповнювати стовпець, як описано вище. Якщо для стовпця SQL Server ввімкнуто властивість IDENTITY, користувачі не можуть явно заповнювати відповідний стовпець інструкції INSERT, якщо користувачі не мають таких дозволів:

  • Членство в ролі сервера SYSADMIN у SQL Server

  • Членство db_owner бази даних Microsoft Dynamics NAV

  • Членство db_ddladmin бази даних Microsoft Dynamics NAV

Крім цих дозволів, щоб завершити операцію INSERT, користувачі також мають виконати наведену нижче команду.

SET IDENTITY_INSERT <table_name> ONWhenhen the error message that is згадується в розділі "Ознаки", Microsoft Dynamics NAV намагається запустити цю інструкцію SET у SQL Server.

Спосіб явно заповнити стовпець, який має властивість IDENTITY, – це метод, який зазвичай не потрібен. Стовпці, які мають властивість IDENTITY, зазвичай заповнюються автоматично SQL Server.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.

Спільноти допомагають ставити запитання й відповідати на них, надавати відгуки та дізнаватися думки висококваліфікованих експертів.

Чи ця інформація була корисною?

Наскільки ви задоволені якістю мови?
Що вплинуло на ваші враження?
Натиснувши кнопку "Надіслати", ви надасте свій відгук для покращення продуктів і служб Microsoft. Ваш ІТ-адміністратор зможе збирати ці дані. Декларація про конфіденційність.

Дякуємо за відгук!

×