38

मैं एसएसआरएस में यूआरएल के माध्यम से पैरामीटर पास करने की कोशिश कर रहा हूं और ऐसा लगता है कि यह काम नहीं कर रहा है!एसक्यूएल सर्वर रिपोर्टिंग सेवा के लिए यूआरएल के माध्यम से पैरामीटर पास करना

मैं यूआरएल (स्ट्रिंग) को यूआरएल के माध्यम से पास करने की कोशिश कर रहा हूं जो डेटाबेस में पास हो जाएगा और क्वेरी द्वारा उपयोग किया जाएगा।

आधार यूआरएल: http://blah/Reports/Pages/Report.aspx?ItemPath=MyReport

इस कोशिश की, लेकिन यह काम नहीं करता: http://blah/Reports/Pages/Report.aspx?ItemPath=MyReport&UserId=fred

कोई भी विचार

+0

समस्या एक 'स्थिर' यूआरएल के माध्यम से रिपोर्ट तक पहुँचने का प्रयास के रूप में आईडब्ल्यू था,: वहाँ अधिक विस्तृत जानकारी के इस &<parameter>=<value>

की तरह अपने parmaters संलग्न एक रिपोर्ट पहले से जेनरेट की गई है, यह 'गतिशील' रिपोर्ट पीढ़ी नहीं करती है - अगर आप इसे चाहते हैं तो आपको 'http: // /ReportServer/Pages/ReportViewer.aspx ...' जैसे यूआरएल का उपयोग करना होगा। जैसा कि नीचे बताया गया है। – AwkwardCoder

उत्तर

44

साथ ही शिरज़ ने जो कहा, इस तरह कुछ कोशिश करें:

http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred' 

ध्यान दें कि पथ केवल तभी काम करेगा यदि आप एक फ़ोल्डर में हैं। जब मुझे ऐसा करना होता है तो मैं रिपोर्टर्सवर पथ ("रिपोर्ट्स" रिपोर्ट मैनेजर) का उपयोग करके रिपोर्ट पर ब्राउज़ करता हूं और यूआरएल की प्रतिलिपि बना देता हूं और अंत में &<ParameterName>=<value> जोड़ता हूं।

+0

धन्यवाद दस लाख: डी – rlee923

+0

यदि मैं @Model – JsonStatham

+0

जैसे कुछ के माध्यम से एक गतिशील पैरामीटर पास करना चाहता हूं तो धन्यवाद! यह काम किया। – Maxsteel

6

"रिपोर्ट" "ReportServer" करने के लिए अपने यूआरएल में बदलने का प्रयास करें

8

मैंने अभी इस समस्या को हल किया है। मुझे एमएसडीएन पर समाधान मिला: http://msdn.microsoft.com/en-us/library/ms155391.aspx

प्रारूप मूल रूप से है

http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value> 
3

यूआरएल के माध्यम से कई मान पास का प्रयास करें:

/ReportServer?%2fService+Specific+Reports%2fFilings%2fDrillDown%2f&StartDate=01/01/2010&EndDate=01/05/2010&statuses=1&statuses=2&rs%3AFormat=PDF 

यह काम करना चाहिए।

45

मैं एक ही सवाल है और अधिक था, और हालांकि इस सूत्र पुराना है, यह अभी भी सारांश SSRS 2008R2 के लिए मैंने पाया में एक अच्छा एक है, इसलिए ...

हालात

  1. आप डेटा को देखने के लिए किसी URL से एक मूल्य का उपयोग करना चाहते
  2. आप एक रिपोर्ट
  3. आप एक अन्य रिपोर्ट के लिए एक रिपोर्ट से एक पैरामीटर पास करना चाहते हैं में किसी URL से एक पैरामीटर प्रदर्शित करना चाहते हैं

क्रिया

यदि लागू हो, रिपोर्ट/पृष्ठ/Report.aspx? ItemPath =ReportServer साथ बदलने के लिए सुनिश्चित हो?। इसके बजाय इस की:

http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName 

उपयोग इस वाक्य: दूसरे शब्दों में

http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName 

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

मापदंडों संलग्न & ParameterName = मूल्य के साथ URL पर

पैरामीटर संदर्भित किया जा सकता या @ParameterName का उपयोग कर रिपोर्ट में प्रदर्शित हैं, चाहे वे रिपोर्ट में या यूआरएल

उपकरण पट्टी जहां छिपाने के लिए में सेट कर रहे हैं मापदंडों प्रदर्शित किए जाते हैं, & rc जोड़ें: टूलबार = यूआरएल के लिए झूठी (reference)

लाना है कि सभी को एक साथ, आप एम्बेडेड मूल्यों के साथ एक यूआरएल चला सकते हैं, या एक रिपोर्ट से एक कार्रवाई के रूप में इस फोन और एक अन्य रिपोर्ट में लिखा है:

http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false 

रिपोर्ट डाटासेट गुण क्वेरी में: देखने से चयन सामान जहाँ उपयोगकर्ता = @UserID

रिपोर्ट में, करने के लिए [UserID] (या = फील्ड्स UserID.Value!)

रखें सेट अभिव्यक्ति मूल्य ध्यान रखें कि यदि किसी रिपोर्ट में एकाधिक पैरामीटर हैं, तो आपको डेटासेट क्वेरी कैसे लिखी जाती है, इस पर निर्भर करते हुए, आपको URL में सभी पैरामीटर शामिल करने की आवश्यकता हो सकती है, भले ही रिक्त हो।

कार्रवाई का उपयोग कर एक पैरामीटर पास करने के लिए = URL पर जाएं करने के लिए अभिव्यक्ति सेट: (एक लाइन ब्रेक है पर्याप्त नहीं है)

="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=" 
&Fields!UserID.Value 
&"&rc:Toolbar=false" 
&"&rs:ClearSession=True" 

एक अभिव्यक्ति के बाद एक स्थान की अगर & के बाद सुनिश्चित करें। अभिव्यक्ति से पहले कोई स्थान आवश्यक नहीं है। यह विधि पैरामीटर को पास कर सकती है लेकिन इसे छिपाने में नहीं है क्योंकि यह यूआरएल में दिखाई दे रही है।

यदि आप & आरएस शामिल नहीं करते हैं: ClearSession = True तो जब तक ब्राउज़र सत्र कैश साफ़ नहीं हो जाता है तब तक रिपोर्ट रीफ्रेश नहीं होगी।

कार्रवाई का उपयोग कर एक पैरामीटर पास करने के लिए = रिपोर्ट पर जाएँ:

  • रिपोर्ट निर्दिष्ट
  • रिपोर्ट चलाने के लिए
  • पैरामीटर (रों) जोड़े पैरामीटर (रों) जोड़े आप पारित करने के लिए चाहते हैं (पैरामीटर को गंतव्य रिपोर्ट में परिभाषित करने की आवश्यकता है, इसलिए मेरे ज्ञान के लिए आप इस विधि का उपयोग कर आरआर: टूलबार जैसे यूआरएल-विशिष्ट कमांड का उपयोग नहीं कर सकते हैं); हालांकि, मैं इसे के रूप में रिपोर्ट में रिपोर्टिंग Sever मानकों में देखा, कस्टम कोड के माध्यम से पढ़ने के लिए या उपयोगकर्ता को संकेत चेकबॉक्स सेट करने के लिए, संभव हो जाएगा लगता है।)

संदर्भ के लिए, / = %2f

+0

अच्छा है टूलबार = झूठी, ठीक वही जो मैं खोज रहा था। – kralco626

+0

जो भाग मैं लापता था उसे 'ItemPath' को 'ReportServer' से बदलना था? मैं इसे कहीं भी दस्तावेज नहीं मिला! मुझे निराशा के घंटे बचाने के लिए धन्यवाद! – confusedKid

1

मैं एक ऐसी ही हल पैरामीटर के लेबल के बजाय यूआरएल में उपलब्ध पैरामीटर के मूल्य को पार करके समस्या।

उदाहरण के लिए, मेरे पास व्यूनाम नामक पैरामीटर के साथ एक रिपोर्ट है और पैरामीटर के लिए पूर्वनिर्धारित उपलब्ध मान हैं: (लेबल/मान) ऑर्डर/सब_ऑर्डर, ऑर्डर डेंट/सब_ऑर्डरडिमेंट, उत्पाद/सब_प्रॉडक्ट।

पैरामीटर = उत्पाद के लिए स्वचालित रूप से प्रस्तुत करने के लिए इस रिपोर्ट को यूआरएल के साथ कॉल करने के लिए, आपको उस लेबल को मान निर्दिष्ट नहीं करना चाहिए।
यह गलत होगा: http://server/reportserver?/Data+Dictionary/DetailedInfo&viewName=product&rs:Command=Render

यह सही है: http://server/reportserver?/Data+Dictionary/DetailedInfo&viewName=sub_product&rs:Command=Render

0

इस link आप भी अगर प्रॉक्सी सिंटैक्स का उपयोग नहीं

0

प्रयास करें बदलते & आरपी के साथ अपने परम उपसर्ग करना पड़ सकता है के अनुसार " आपके यूआरएल में "रिपोर्ट सर्वर" को रिपोर्ट करता है। इसके लिए बस इस http://host/ReportServer/ पर जाएं और वहां से आप रिपोर्ट पेज पर जा सकते हैं। इस urlonly शो

http://dobrzanski.net/2008/08/11/reporting-services-problem-with-passing-parameters-directly-in-the-url/

https://www.mssqltips.com/sqlservertip/1336/pass-parameters-and-options-with-a-url-in-sql-reporting-services/

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

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