דלג לתוכן הראשי
היכנס דרך Microsoft
היכנס או צור חשבון.
שלום,
בחר חשבון אחר.
יש לך חשבונות מרובים
בחר את החשבון שברצונך להיכנס באמצעותו.

תופעות

בעת ניסיון להוסיף נתונים לטבלה מותאמת אישית, או בעת הפעלת תהליך שמוסיף נתונים לטבלה מותאמת אישית, מתקבלת הודעת שגיאה הדומה להודעה הבאה:

שגיאות SQL Server הבאות התרחשו בעת גישה לטבלה TableName:



1088, "42000",[Microsoft][ODBC SQL Server Driver][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 מסד הנתונים.

סיבה

בעיה זו מתרחשת אם מתקיימים התנאים הבאים:

  • באחד השדות בטבלה שצוינו בה הודעת השגיאה, המאפיין 'הפרש אוטומטי' מוגדר ל'כן'.

  • פעולת INSERT שאתה משתמש בה מאכלסת באופן מפורש את השדה שהמאפיין AutoIncrement מוגדר כ'כן'.

  • אין לך אחת מההרשאות הבאות:

    • חברות בתפקידי שרת 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

הענק הרשאות שינוי עבור הטבלה המותאמת אישית לתפקיד היישום הרלוונטי (לדוגמה, &ndo$shadow, אם בחרת את מודל האבטחה הרגיל) ב- SQL Server Management Studio.


הערה הרשאות המוענקות באופן ידני לטבלאות מתוך SQL Server ניהול Studio מוחלפים בעת הפעלת סינכרון אבטחה ב- Microsoft Dynamics NAV. לכן, עליך להעניק שוב הרשאות שינוי לטבלה המותאמת אישית לאחר הפעלת סינכרון האבטחה.

מידע נוסף

ב- Microsoft Dynamics NAV, אם המאפיין 'יצירה אוטומטית' מוגדר כ'כן' עבור שדה סוג נתונים של מספר שלם או עבור שדה סוג נתונים של BigInteger, השדה הרלוונטי אמור להיות מאוכלס באופן אוטומטי בערך מספר שלם ייחודי שנוצר על-ידי המערכת. הערך המשמש לאכלוס השדה מצטבר ברציפות עבור כל רשומה חדשה שנוספת.

כדי ליישם את המאפיין AutoIncrement, Microsoft Dynamics NAV מגדיר SQL Server עמודה בעל המאפיין IDENTITY המשויך לו. המאפיין IDENTITY גורם SQL Server לאכלס באופן אוטומטי את עמודה כפי שתואר קודם לכן. אם המאפיין IDENTITY מופעל עבור SQL Server עמודה, למשתמשים אין אפשרות לאכלס באופן מפורש את עמודה הרלוונטי במשפט INSERT, אלא אם כן למשתמשים יש אחת מההרשאות הבאות:

  • חברות בתפקידי שרת SYSADMIN ב- SQL Server

  • החברות db_owner מסד הנתונים עבור מסד הנתונים של Microsoft Dynamics NAV

  • החברות db_ddladmin מסד הנתונים עבור מסד הנתונים של Microsoft Dynamics NAV

בנוסף להרשאות אלה, המשתמשים חייבים גם להפעיל את הפקודה הבאה כדי שהפעולה INSERT תושלם.

SET IDENTITY_INSERT <table_name> ON כאשר מופיעה הודעת השגיאה המוזכרת בסעיף 'מאפייני הבעיה', Microsoft Dynamics NAV מנסה להפעיל משפט SET זה ב- SQL Server.

השיטה לאכלס באופן מפורש עמודה בעל המאפיין IDENTITY היא שיטה שבדרך כלל אינה נדרשת. העמודות הכוללות את המאפיין IDENTITY מאוכלסות בדרך כלל באופן אוטומטי על-ידי SQL Server.

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

גלה את יתרונות המנוי, עיין בקורסי הדרכה, למד כיצד לאבטח את המכשיר שלך ועוד.

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.

האם מידע זה היה שימושי?

עד כמה אתם מרוצים מאיכות השפה?
מה השפיע על החוויה שלך?
בלחיצה על 'שלח', אתה מאפשר למשוב שלך לשפר מוצרים ושירותים של Microsoft. מנהל ה-IT שלך יוכל לאסוף נתונים אלה. הצהרת הפרטיות.

תודה על המשוב!

×