2008-11-10 16 views
27

खोले जाने पर रिपोर्ट फायरिंग को कैसे रोकें हमारे पास कुछ SQL सर्वर रिपोर्टिंग सेवाएं रिपोर्ट हैं। मैंने तब नहीं लिखा लेकिन मुझे उनकी देखभाल करनी है।एसक्यूएल सर्वर रिपोर्टिंग सेवाएं:

ब्राउज़र में खोले जाने पर ये रिपोर्ट आग लगती हैं, और डिफ़ॉल्ट पैरामीटर (खोज शब्द और प्रतिबंध खाली होते हैं) के साथ वे बहुत सारे डेटा पुनर्प्राप्त करते हैं, जो धीमा है। ग्राहक पसंद करेंगे कि जब तक उपयोगकर्ता पैरामीटर में प्रवेश नहीं करता है और प्रेस "रिपोर्ट देखें"

दुर्भाग्यवश मुझे एसएसआरएस को अच्छी तरह से नहीं पता - मैं खोले जाने पर रिपोर्ट को फायरिंग से कैसे रोकूं?

एक रिपोर्ट पर क्लिक करें, शीर्ष पर "properties" पर क्लिक करें:


कैसे एक तैनात रिपोर्ट पर यह करने के लिए (प्रति Rihan Meij के जवाब के रूप में) के विवरण इस प्रकार है। आपको थोड़ा इंतजार करना पड़ सकता है, क्योंकि धीमी रिपोर्ट अब चल रही है। फिर बाईं ओर "पैरामीटर" पर क्लिक करें।

प्रत्येक पैरामीटर के लिए, सुनिश्चित करें कि "प्रॉम्प्ट उपयोगकर्ता" चेक किया गया है, और कम से कम एक पैरामीटर के लिए, "डिफ़ॉल्ट है" चेक नहीं किया गया है। रिपोर्ट देखने के लिए ऊपर बाईं ओर "व्यू" पर क्लिक करें (या फ़ोल्डर पर वापस जाएं और रिपोर्ट नाम पर क्लिक करें), और ध्यान दें कि रिपोर्ट तुरंत आग नहीं आती है।

रिपोर्ट निर्माता में, आप इसे "फ़िल्टर" मेनू के माध्यम से कर सकते हैं। कम से कम एक फ़िल्टर से मूल्यों का चयन रद्द करें, और रिपोर्ट को सहेजें।

क्या रिपोर्ट में कोई पैरामीटर नहीं होने पर लोडिंग पर फायरिंग से रिपोर्ट रोकना संभव है?

+5

यह अच्छा है कि आपने इसे टेक्स्ट में समझाया क्योंकि नीचे दिए गए स्क्रीन शॉट्स के लिंक में से कोई भी लिंक काम नहीं करता है। – Bratch

उत्तर

13

मैंने पाया मैं रिपोर्ट के पैरामीटरों की कम से कम एक स्थापित करने के लिए एक डिफ़ॉल्ट autorunning से रिपोर्ट रखने की जरूरत नहीं करने के लिए था।

[लापता स्क्रीनशॉट]

पाने के लिए:

मैं इस विन्यास का उपयोग करने के (ध्यान दें कि मानकों मैं चूक बिना छोड़ दिया की सभी 3 Nulls स्वीकार ताकि उपयोगकर्ताओं को सिर्फ अशक्त चेक बॉक्स क्लिक कर सकते हैं) के लिए किया था उपयोगकर्ताओं को यह देखने के लिए और autorunning से रिपोर्ट रखने के लिए:

[स्क्रीनशॉट लापता]

+2

में मर चुका है इस पोस्ट में महत्वपूर्ण जानकारी बाहरी लिंक तोड़ने के कारण समाप्त हो गई है। यदि आप कर सकते हैं तो लापता स्क्रीनशॉट को पुनर्स्थापित करें। – deceze

3

मैंने अपनी क्वेरी स्लीघ्ली को बदलकर पैरामीटर की आवश्यकता के लिए इसे बदलकर किया है।

तब मैंने रिपोर्ट साइट पर रिपोर्ट प्रकाशित करने के बाद, निर्दिष्ट किया है कि पैरामीटर, उपयोगकर्ता को संकेत देना चाहिए। इसका प्रभाव यह है कि रिपोर्ट एसक्यूएल सर्वर को घुटनों तक नहीं खींचती है जब उपयोगकर्ता रिपोर्ट देखने के लिए खोलते हैं।

(ठीक है, एक तस्वीर एक हजार शब्दों का कहना है :)) देखें attached screenshot

+4

अवरुद्ध लिंक 12 – Mike

+0

आपका लिंक "संलग्न स्क्रीनशॉट" –

1

मैंने पाया सबसे अच्छा तरीका एक पैरामीटर है कि nulls की अनुमति नहीं है में जोड़ने के लिए था, लेकिन रिपोर्ट के आधार पर किया जाता है। यह इसे शुरुआत में प्रतिपादन से रोकता है, लेकिन रिपोर्ट को प्रभावित नहीं करता है।

एकमात्र नीचे की ओर है यदि आप एक रिपोर्ट दर्शक में रिपोर्ट प्रदर्शित कर रहे हैं तो आपके पास शीर्ष पर एक बॉक्स है जो थोड़ा अजीब दिखता है। मुझे यकीन है कि आप इसे छिपाने के लिए कुछ सी #/सीएसएस का उपयोग कर सकते हैं।

जैसा कि मैं प्रदर्शित करने के लिए एक रिपोर्ट दर्शक का उपयोग नहीं कर रहा हूं, केवल पिछली छोर पर प्रस्तुत करने से यह मुझे प्रभावित नहीं करता है।

यहां तक ​​कि अगर आप एक रिपोर्ट व्यूअर का उपयोग कर रहे हैं यह जब विकासशील उपयोगी है!

1

मैं सिर्फ प्रमुख पैमाना है कि कोई फल प्राप्त नहीं करता है के लिए एक डिफ़ॉल्ट मान की आपूर्ति करके ऐसा किया।

+0

उदाहरण के लिए, यदि आपका मुख्य पैरामीटर विभाग के नामों को पाठ के रूप में लेता है, तो केवल डिफ़ॉल्ट मान को "नो-ऑटो-रन" के रूप में निर्दिष्ट करें, इस प्रकार डेटासेट का कोई परिणाम नहीं होगा। – George

+0

सरल, और शानदार - धन्यवाद। आज का उदाहरण - एक तिथि सीमा - मैंने अतीत में "toDate" का डिफ़ॉल्ट वर्ष छोड़ा: डिफ़ॉल्ट दिनांक = 7/1/2015, और डिफ़ॉल्ट दिनांक = 6/30/2014 ... और अनुमान लगाएं? * उस * दिनांक सीमा में कुछ भी नहीं हुआ;) तो जब वे पहली बार रिपोर्ट निष्पादित करते हैं, तो यह जल्दी से कोई पंक्ति नहीं देता है। फिर उपयोगकर्ता दोनों दिनांक पैरामीटर संपादित कर सकते हैं, और रिपोर्ट देख सकते हैं। –

2

मैं जानता हूँ कि इस पोस्ट थोड़ा पुराना है, लेकिन जब से मैं एक और समाधान यहाँ करने के लिए है, मैं सिर्फ यह मामला किसी में इसकी जरूरत पोस्टिंग।

आप अपने posible ReportViewer उपयोग कर रहे हैं संपत्ति ShowBody = "false" स्थापित करने के लिए। तब OnSubmittingParameterValues ​​घटना पर, सच करने के लिए ShowBody संपत्ति बदल जाते हैं। फिर आपको रिपोर्ट में डिफ़ॉल्ट मान के बिना किसी भी अतिरिक्त पैरामीटर या पैरामीटर की आवश्यकता नहीं है।

<rsweb:ReportViewer 
     ID="rv" 
     runat="server" 
     Width="100%" 
     Height="100%" 
     SizeToReportContent="false" 
     ZoomMode="PageWidth" 
     KeepSessionAlive="true" 
     ProcessingMode="Remote" 
     PromptAreaCollapsed="false" 
     InteractivityPostBackMode="AlwaysAsynchronous" 
     AsyncRendering="true" 
     ExportContentDisposition="AlwaysInline" 
     ShowReportBody="False" 
     ShowPrintButton="false" 
     OnSubmittingParameterValues="rv_SubmittingParameterValues"/> 

और फिर rv_SubmittingParameterValues ​​विधि में:

this.rv.ShowReportBody = true; 
3

मैं -1 मान जो मौजूद नहीं है (एक वैध पैरामीटर मान नहीं) करने के लिए अपने पैरामीटर से एक का चयन का डिफ़ॉल्ट मान सेट करें। इससे कोई त्रुटि उत्पन्न नहीं हुई। यह बस पैरामीटर ड्रॉप डाउन बॉक्स को सेट करता है और रिपोर्ट को चलने से रोकता है। मैं शून्य का एक डिफ़ॉल्ट मान का उपयोग नहीं कर सका क्योंकि शून्य सब कुछ का चयन करता है, और मैं उद्देश्यपूर्ण सभी (शून्य) का चयन करने के लिए इससे पहले कि रिपोर्ट चले उपयोगकर्ता चाहता था। अगर सभी का चयन किया जाता है तो रिपोर्ट को प्रस्तुत करने में कई मिनट लगते हैं।

+0

वास्तव में उपयोगी चाल है –

1

वैकल्पिक फ़ील्ड वाले रिपोर्टों के साथ काम करते समय मुझे इसके लिए एक अच्छी चाल मिली, लेकिन वैकल्पिक फ़ील्ड खाली होने पर बड़ी मात्रा में डेटा खींचें।

चरण 1: रोकें ऑटो फ़ायरिंग

  • सुनिश्चित करें कि "शून्य मान की अनुमति दें" वैकल्पिक पैरामीटर के लिए सक्षम नहीं है
  • यकीन है कि वैकल्पिक पैरामीटर के लिए कोई डिफ़ॉल्ट मान है बनाओ

चरण 2: 'शून्य'

  • "रिक्त मान की अनुमति दें" सक्षम किए बिना पैरामीटर वैकल्पिक बनाएं या वैकल्पिक पैरामीटर
  • संशोधित अपने जहां WHERE (@param="" OR column = @param)
इस विधि वहाँ के साथ

लिए वैकल्पिक पैरामीटर के लिए खंड है अंत उपयोगकर्ताओं के लिए अतिरिक्त क्षेत्रों के बारे में, रिपोर्ट में सक्रिय नहीं होगा जब तक यह अनुरोध किया जाता है चिंता करने की कर रहे हैं, और टेक्स्ट बॉक्स को खाली छोड़ दिया गया है, जहां खंड में मूल्यांकन नहीं किया जाएगा।


ध्यान दें: रिपोर्ट उपलब्ध मान के बजाय "का इस्तेमाल किया जा सकता" अपनी मेज संरचना के लिए मान्य नहीं है किसी भी मान निर्दिष्ट करता है, तो उसके बाद, आप भी अन्य डेटा प्रकार (गैर स्ट्रिंग) इस तरह के साथ उपयोग कर सकते हैं

संबंधित मुद्दे