Aanmelden met Microsoft
Meld u aan of maak een account.
Hallo,
Selecteer een ander account.
U hebt meerdere accounts
Kies het account waarmee u zich wilt aanmelden.

Symptomen

Wanneer u gegevens probeert in te voegen in een aangepaste tabel of wanneer u een proces uit te voeren dat gegevens invoegt in een aangepaste tabel, ontvangt u een foutbericht dat er als volgt uit ziet:

De volgende SQL Server(en) zijn opgetreden bij het openen van de tabel TableName:



1088, "42000",[Microsoft][ODBC SQL Server Driver][SQL Server]Kan het object "NAVDBName.dbo niet vinden.CompanyName$ TableName" omdat deze niet bestaat of omdat u geen machtigingen hebt.



SQL: SET

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

Opmerking In dit voorbeeld vertegenwoordigt TableName de Microsoft Dynamics NAV-tabel van de klant. NAVDBName vertegenwoordigt de naam van de Microsoft Dynamics NAV-database van de klant. CompanyName vertegenwoordigt de aangewezen bedrijfsnaam van de klant in Microsoft Dynamics NAV.



Dit probleem kan optreden in versies van Microsoft Dynamics NAV die gebruikmaken van de Microsoft SQL Server databaseoptie.

Oorzaak

Dit probleem treedt op als de volgende voorwaarden van toepassing zijn:

  • In een van de velden in de tabel die wordt aangegeven in het foutbericht, is de eigenschap AutoIncrement ingesteld op Ja.

  • Met de bewerking INVOEGEN die u gebruikt, wordt het veld met de eigenschap AutoIncrement expliciet ingevuld op Ja.

  • U hebt geen van de volgende machtigingen:

    • Het lidmaatschap van de SYSADMIN-serverrol in SQL Server

    • Het db_owner databaserollidmaatschap voor de Microsoft Dynamics NAV-database

    • Het db_ddladmin databaserollidmaatschap voor de Microsoft Dynamics NAV-database

Oplossing

Gebruik een van de volgende methoden om dit probleem op te lossen.

Methode 1


Wijzig de bewerking INVOEGEN zodat het veld dat de eigenschap AutoIncrement heeft ingesteld op Ja, niet wordt ingevuld.

Methode 2

Stel de eigenschap AutoIncrement in op Nee voor het relevante veld.

Opmerking Zowel methode 1 als methode 2 kan de hulp van een Microsoft Dynamics NAV-ontwikkelaar vereisen, met name als voor de wijziging een codewijziging is vereist. Dergelijke wijzigingen moeten grondig worden getest voordat u de wijzigingen op een live Microsoft Dynamics NAV-database gaat toepassen.

Methode 3

Machtigingen wijzigen voor de aangepaste tabel verlenen aan de relevante toepassingsrol (bijvoorbeeld &ndo$shadow, als u het beveiligingsmodel Standaard hebt geselecteerd) in SQL Server Management Studio.


Opmerking Machtigingen die handmatig worden verleend aan tabellen uit SQL Server Management Studio worden overschreven wanneer u een beveiligingssynchronisatie in Microsoft Dynamics NAV uitwerkt. Daarom moet u altermachtigingen opnieuw aan de aangepaste tabel verlenen nadat u de beveiligingssynchronisatie hebt uitgevoerd.

Meer informatie

Als in Microsoft Dynamics NAV de eigenschap AutoIncrement is ingesteld op Ja voor een gegevenstype veld integer of voor een gegevenstypeveld van BigInteger, moet het relevante veld automatisch worden ingevuld door een unieke geheel getalwaarde die door het systeem wordt gegenereerd. De waarde die wordt gebruikt om de veldverhogingen achtereenvolgens in te vullen voor elke nieuwe record die wordt ingevoegd.

Als u de eigenschap AutoIncrement wilt implementeren, definieert Microsoft Dynamics NAV een SQL Server kolom met de eigenschap IDENTITEIT die daaraan is gekoppeld. De eigenschap IDENTITEIT zorgt ervoor dat SQL Server kolom automatisch vult, zoals eerder is beschreven. Als de eigenschap IDENTITEIT is ingeschakeld voor een SQL Server-kolom, kunnen gebruikers de relevante kolom niet expliciet in een INSERT-instructie vullen, tenzij de gebruikers een van de volgende machtigingen hebben:

  • Het lidmaatschap van de SYSADMIN-serverrol in SQL Server

  • Het db_owner databaserollidmaatschap voor de Microsoft Dynamics NAV-database

  • Het db_ddladmin databaserollidmaatschap voor de Microsoft Dynamics NAV-database

Naast deze machtigingen moeten gebruikers ook de volgende opdracht uitvoeren om de bewerking INVOEGEN te kunnen uitvoeren.

SET IDENTITY_INSERT <table_name> ONAls het foutbericht dat wordt vermeld in de sectie 'Symptomen' optreedt, probeert Microsoft Dynamics NAV deze SET-instructie uit te voeren in SQL Server.

De methode voor het expliciet in vullen van een kolom met de eigenschap IDENTITEIT is een methode die meestal niet vereist is. De kolommen met de eigenschap IDENTITEIT worden meestal automatisch ingevuld door SQL Server.

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.

Community's helpen u vragen te stellen en te beantwoorden, feedback te geven en te leren van experts met uitgebreide kennis.

Was deze informatie nuttig?

Hoe tevreden bent u met de taalkwaliteit?
Wat heeft uw ervaring beïnvloed?
Als u op Verzenden klikt, wordt uw feedback gebruikt om producten en services van Microsoft te verbeteren. Uw IT-beheerder kan deze gegevens verzamelen. Privacyverklaring.

Hartelijk dank voor uw feedback.

×