Bejelentkezés Microsoft-fiókkal
Jelentkezzen be, vagy hozzon létre egy fiókot.
Üdvözöljük!
Válasszon másik fiókot.
Több fiókja van
Válassza ki a bejelentkezéshez használni kívánt fiókot.

Jelenségek

Amikor adatokat próbál beszúrni egy egyéni táblába, vagy egy olyan folyamat futtatásakor, amely adatokat szúr be egy egyéni táblába, az alábbihoz hasonló hibaüzenet jelenik meg:

A Következő SQL Server(oka) történt a TableName tábla elérésekor:



1088, "42000",[Microsoft][ODBC SQL Server Driver][SQL Server]Nem található a "NAVDBName.dbo objektum.CompanyName$ TableName", mert nem létezik, vagy Nincs engedélye.



SQL: SET

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

Megjegyzés: Ebben a példában a TableName az ügyfél Microsoft Dynamics NAV ábrázolja. A NAVDBName az ügyfél adatbázisának Microsoft Dynamics NAV neve. A CompanyName a vállalatban az ügyfél kijelölt vállalatnevét Microsoft Dynamics NAV.



Ez a probléma az adatbázis Microsoft Dynamics NAV adatbázis-kezelő Microsoft SQL Server jelentkezhet.

A probléma oka

A probléma az alábbi feltételek teljesülése esetén fordul elő:

  • A hibaüzenetben jelzett tábla egyik mezőjében az AutoIncrement tulajdonság igenre van állítva.

  • A használt INSERT művelet explicit módon kitölti az AutoIncrement tulajdonságot igenre állítva.

  • Nem rendelkezik az alábbi engedélyek egyikével:

    • A SYSADMIN kiszolgálói szerepkör tagsága a SQL Server

    • A db_owner-adatbázis szerepkör-tagsága Microsoft Dynamics NAV adatbázishoz

    • A db_ddladmin szerepkörének tagsága a Microsoft Dynamics NAV adatbázishoz

Megoldás

A probléma megoldásához használja az alábbi módszerek egyikét.

1. módszer


Módosítsa az INSERT műveletet úgy, hogy ne töltse ki azt a mezőt, amely az AutoIncrement tulajdonságot Igenre állítva van beállítva.

2. módszer

Állítsa az AutoIncrement tulajdonságot Nem-gombra a megfelelő mezőben.

Megjegyzés: Mindkét módszer esetében az 1. és a 2. módszer Microsoft Dynamics NAV segítséget igényel, különösen akkor, ha a módosításhoz kódmódosításra van szükség. Mielőtt élő adatbázisra alkalmazza a módosításokat, alaposan ki kell Microsoft Dynamics NAV őket.

3. módszer

Az egyéni táblára vonatkozó Engedélyek megadása a megfelelő alkalmazásszerepephez (például &ndo$shadow, ha a Normál biztonsági modellt választotta) a SQL Server Management Studio.


Megjegyzés: A rendszer felülírja az SQL Server Management Studio manuálisan megadott engedélyeket, amikor biztonsági szinkronizálást Microsoft Dynamics NAV. Ezért a biztonsági szinkronizálás futtatása után ismét Meg kell adnunk az Egyéni tábla Alter engedélyét.

További információ

Ha a Microsoft Dynamics NAV-ban az AutoIncrement tulajdonság értéke Igen egy Egész adattípusú mező vagy egy BigInteger adattípusú mező esetén, a megfelelő mezőt automatikusan fel kell tölti egy egyedi egész számmal, amelyet a rendszer hoz létre. A mező növekményének egymást követő feltöltéséhez használt érték a beszúrt új rekordokkal.

Az AutoIncrement tulajdonság implementálása érdekében a Microsoft Dynamics NAV definiál egy SQL Server, amely az IDENTITY tulajdonsággal van társítva. Az IDENTITY tulajdonság SQL Server az oszlop automatikus feltöltését a korábban ismertetett módon. Ha az IDENTITY tulajdonság be van kapcsolva egy SQL Server oszlopban, a felhasználók csak akkor tudják explicit módon feltölteni a megfelelő oszlopot az INSERT utasításban, ha az alábbi engedélyek valamelyikével nem rendelkezik:

  • A SYSADMIN kiszolgálói szerepkör tagsága a SQL Server

  • A db_owner-adatbázis szerepkör-tagsága Microsoft Dynamics NAV adatbázishoz

  • A db_ddladmin szerepkörének tagsága a Microsoft Dynamics NAV adatbázishoz

Az engedélyeken kívül a felhasználóknak az alábbi parancsot is futtatniuk kell az INSERT művelet befejezéséhez.

SET IDENTITY_INSERT <table_name> ONWhen the error message that is mentioned in the "Symptoms" section, Microsoft Dynamics NAV is trying to run this SET statement in SQL Server.

Az IDENTITY tulajdonságot tartalmazó oszlop explicit módon való beállításának módja általában nem kötelező. Az IDENTITY tulajdonságot tartalmazó oszlopokat a rendszer általában automatikusan kitölti a SQL Server.

További segítségre van szüksége?

További lehetőségeket szeretne?

Fedezze fel az előfizetés előnyeit, böngésszen az oktatóanyagok között, ismerje meg, hogyan teheti biztonságossá eszközét, és így tovább.

A közösségek segítségével kérdéseket tehet fel és válaszolhat meg, visszajelzést adhat, és részletes ismeretekkel rendelkező szakértőktől hallhat.

Hasznos volt ez az információ?

Mennyire elégedett a fordítás minőségével?
Mi volt hatással a felhasználói élményére?
Ha elküldi a visszajelzést, a Microsoft felhasználja azt a termékei és szolgáltatásai továbbfejlesztéséhez. Az informatikai rendszergazda képes lesz ezeket az adatokat összegyűjteni. Adatvédelmi nyilatkozat.

Köszönjük a visszajelzését!

×