none
הגבלה על כמות ערכים בפרמטר/פילטר ב Reporting Services RRS feed

  • שאלה

  • שלום, אני נתקל בתופעה מוזרה:

    יצרתי דוח ב SSRS המכיל פילטר, לפילטר זה יש למעלה מ 1000 ערכים.

     

    כאשר אני מריץ את הדוח ב VB ברמת ALL עבור הפילטר, הדו"ח רץ כהלכה

    כאשר אני מריץ את הדוח באותה צורה מעל ה  Report Builder , הדו"ח רץ כהלכה.

    כאשר אני מריץ את הדו"ח דרך ה Web Service , ברמת ALL, הדו"ח מחזיר 0 רשומות.

    לאחר בדיקה נראה שהמגבלה ה יא כאשר בפילטר ישנם מעל 640 ערכים.

    מישהו נתקל בתופעה זו? יש לה פיתרון? ממה היא נובעת?

    יום רביעי 25 ינואר 2012 07:40

תשובות

  • כיצד אתה מעביר את הערכים?

    האם אתה עובד בשיטת GET או POST (בהנחה שאתה עובד באמת עם WEB SERVICE ולא עם WCF ששם אפשר לעבוד בפרוטוקולים רבים בעוד ב WS רק עם HTTP או SOAP)?

    * קוד היה תמיד עוזר להבין את המצב

    בכל מקרה כמה נקודות שאולי אחת מהן היא מקור הבעיה:

    1. בשימוש בשיטת GET יש מגבלה על אורך השרשרת תווים שמעבירים (לא מספר הפרמטרים אלא אורך התווים של ה URL).

    בדיקה: תפתח את הפרופיילר של ה SQL ותבדוק איזה שאילתה מגיעה בפועל אל השרת. אולי תגלב שהיא למשל נחתכה באמצע

    2. ל WS יש מגבלה לגודל ההודעה שניתן להעביר (בברירת המחדל). שוב לא מספר הפרמטרים אלא אורך התווים של ההודעה יוצר את המגבלה במקרה זה. תוכל לראות בקישור הבא כיצד להגדיר את הפרוייקט לעבוד עם הודעות גדולות:
    http://msdn.microsoft.com/en-us/library/aa528822.aspx

    3. תבדוק מה ההגדרות של הפרמטרים הבאים ואם הם לא מוגדרים נסה להגדיר אותם (בקובץ הקונפיגורציה כמובן):

    בתאג של httpRuntime תבדוק

    maxMessageLength
    maxRequestLength


    signature
    • נערך על-ידי pituachMVP, Editor יום רביעי 25 ינואר 2012 12:43
    • סומן כתשובה על-ידי GBS2005 יום שלישי 14 פברואר 2012 15:06
    יום רביעי 25 ינואר 2012 12:41
    מנחה דיון

כל התגובות

  • כיצד אתה מעביר את הערכים?

    האם אתה עובד בשיטת GET או POST (בהנחה שאתה עובד באמת עם WEB SERVICE ולא עם WCF ששם אפשר לעבוד בפרוטוקולים רבים בעוד ב WS רק עם HTTP או SOAP)?

    * קוד היה תמיד עוזר להבין את המצב

    בכל מקרה כמה נקודות שאולי אחת מהן היא מקור הבעיה:

    1. בשימוש בשיטת GET יש מגבלה על אורך השרשרת תווים שמעבירים (לא מספר הפרמטרים אלא אורך התווים של ה URL).

    בדיקה: תפתח את הפרופיילר של ה SQL ותבדוק איזה שאילתה מגיעה בפועל אל השרת. אולי תגלב שהיא למשל נחתכה באמצע

    2. ל WS יש מגבלה לגודל ההודעה שניתן להעביר (בברירת המחדל). שוב לא מספר הפרמטרים אלא אורך התווים של ההודעה יוצר את המגבלה במקרה זה. תוכל לראות בקישור הבא כיצד להגדיר את הפרוייקט לעבוד עם הודעות גדולות:
    http://msdn.microsoft.com/en-us/library/aa528822.aspx

    3. תבדוק מה ההגדרות של הפרמטרים הבאים ואם הם לא מוגדרים נסה להגדיר אותם (בקובץ הקונפיגורציה כמובן):

    בתאג של httpRuntime תבדוק

    maxMessageLength
    maxRequestLength


    signature
    • נערך על-ידי pituachMVP, Editor יום רביעי 25 ינואר 2012 12:43
    • סומן כתשובה על-ידי GBS2005 יום שלישי 14 פברואר 2012 15:06
    יום רביעי 25 ינואר 2012 12:41
    מנחה דיון
  • הערכים בפרמטר מתקבלים דרך שאילתה מה DWH.

    ה web Service הוא ה URL שמיוצר על ידי הפרוייקט ב SSRS ושדרכו נתין לראות את הדוחות.

    יום רביעי 25 ינואר 2012 14:11
  • 1. אתה עובד כמפתח (דוט נט למשל) או כ DBA
    (Report Builder 3.0 למשל או פרוייקט SSRS ב VS) ?

    2. האם עברת על מה שרשמתי מעל, ביצעת את הבדיקות השונות ושינת פרמטרים במיקום המתאים (בעקרון מה שרשמתי יותר מופנה למפתחים מאשר ל DBA אולי ולכן אני שואל שוב האם אתה מפתח או DBA)?

    3. אני בטוח שאתה מבין שקשה לעבוד "בראש" בלי לראות את הדברים אז אם תוכל להעלות קצת תוכן (את הפרוייקט למשל במקרה הטוב ביותר) זה יכול לעזור לאנשים לאתר את הבעיה אבל שוב אני מפנה אותך למה שכתבתי מעל (פשוט יש נקודות ידועות ומוכרות ונפוצות בדרך כלל כמו שהצגתי כמו מגבלות ברירת המחדל של WS)


    signature
    יום רביעי 25 ינואר 2012 17:03
    מנחה דיון
  • שלום,

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

    אם מצאת פתרון אחר, נשמח אם תשתף אותנו.

    תודה,

    צוות הפורומים.


    אם תגובתי פתרה את בעייתך - לחץ/י, על "סמן כתשובה" ליד סימן ה V הירוק. מיקרוסופט מציעה שירות זה ללא תשלום, למטרת סיוע למשתמשים והעשרת הידע הקשור בטכנולוגיות ובמוצרים של Microsoft. תוכן זה מתפרסם כפי שהוא והוא אינו מעיד על כל אחריות מצד מיקרוסופט.
    יום שלישי 31 ינואר 2012 15:14