תיקון: "System.OverflowException: ערך היה גדול מדי או קטן מדי עבור Int32" מתרחשת הודעת שגיאה בעת ניסיון ליצור את הדוח ב- Microsoft SQL Server 2008 R2 Reporting Services

חל על: SQL Server 2008 R2

Microsoft מפיץ תיקונים Microsoft SQL Server 2008 R2 להורדה כקובץ אחד. מאחר התיקונים הם מצטברים, כל פרסום חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 R2 מהדורה.

תופעות


שקול את התרחיש הבא:
  • יש לך קובץ שפת הגדרת דוחות (RDL) שמכיל פקד Tablix ב- Microsoft SQL Server 2008 R2 Reporting Services.
  • הוסף לפקד Tablix של שורה או עמודה בקבוצה ולאחר מכן הגדר את ביטוי הקבוצה לקיבוץ נתונים באמצעות עמודה בעלת סוג נתונים מספריים.
  • עמודה זו מכילה ערך לא נמצא בטווח של סוג הנתונים Int32 . לדוגמה, ערך של עמודה הוא 9000001777400270.
בתרחיש זה, אתה מקבל את הודעת השגיאה הבאה בעת ניסיון ליצור את הדוח:
אירעה שגיאה במהלך עיבוד הדוח המקומי. אירעה שגיאה במהלך עיבוד הדוח. ערך היה גדול מדי או קטן מדי עבור Int32.

פתרון


מידע עדכון מצטבר

SQL Server 2008 R2

התיקון עבור בעיה זו פורסם לראשונה ב- 4 עדכון מצטבר. לקבלת מידע נוסף אודות האופן שבו ניתן להשיג את חבילת עדכון מצטבר זה עבור SQL Server 2008 R2, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
2345451 חבילת העדכון המצטבר 4 עבור SQL Server 2008 R2
הערה מאחר גירסאות build הם מצטברים, כל פרסום תיקון חדש כולל את כל התיקונים החמים ולתקן כל תיקוני האבטחה שהיו כלולים בפרסום הקודם SQL Server 2008 R2 מהדורה. אנו ממליצים לך לשקול החלת העדכניים ביותר פרסום התיקון החם הזה. לקבלת מידע נוסף, לחץ על מספר המאמר הבא כדי להציג את המאמר הרלוונטי מתוך Microsoft Knowledge Base:
981356 SQL Server 2008 R2 בונה שפורסמו לאחר פורסם SQL Server 2008 R2

פתרון


כדי לעקוף בעיה זו, להמיר את סוג נתונים מספריים לסוג הנתונים כפול או לסוג הנתונים Int64 . לשם כך, בצע את השלבים הבאים:
  1. לחץ פעמיים על הקבוצה בחלונית קבוצות שורה או עמודה קבוצות כדי לפתוח את מאפייני הקבוצה .
  2. בכרטיסיה כללי , שנה את הביטוי קבוצה לביטוי סוג נתונים System.Double הבא:
    CDbl(Fields! < שם שדה >. ערך)
    או, לשנות את ביטוי קבוצה לסוג הנתונים System.Int64 הבאים:
    CLng(Fields! < שם שדה >. ערך)

מצב


Microsoft אישרה כי מדובר בבעיה במוצרי Microsoft הרשומים במקטע 'חל על'.