के साथ एसएसआरएस का उपयोग करके मैंने अपने लोकहोस्ट पर एसएसआरएस स्थापित किया है, और उन पर कुछ रिपोर्ट बनाने के लिए बोली का उपयोग किया है। वे उसी SQL सर्वर से डेटा तक पहुंचते हैं जहां एसएसआरएस तैनात किया जाता है, और जब मैं उनका पूर्वावलोकन करता हूं तो वे ठीक चलते हैं। तब मैंने उन्हें अपने लोकहोस्ट एसएसआरएस में तैनात किया और रिपोर्टमैनेजर वेब इंटरफ़ेस के माध्यम से उन्हें एक्सेस किया, फिर वे ठीक से दौड़ गए। आखिर में मैंने उन्हें अपने होस्टिंग प्रदाता के एसएसआरएस में तैनात किया। वही सौदा; अच्छी डेटा कनेक्टिविटी और यह ReportManager में बहुत अच्छा लग रहा है।एएसपी.Net ReportViewer
पहली बार जब मैं किसी भी सिस्टम पर ReportManager के माध्यम से उन्हें एक्सेस करता हूं, तो यह मेरा उपयोगकर्ता नाम और पासवर्ड मांगता है, जो कि मेरे लैपटॉप पर सिर्फ मेरा खाता लॉगऑन और पासवर्ड है। मेरे होस्टिंग प्रदाता के लिए यह उनके लिए मेरा खाता लॉगऑन है।
मेरी समस्या तब होती है जब मैं ASP.Net में ReportViewer नियंत्रण का उपयोग करके एक रिपोर्ट प्रदर्शित करने का प्रयास करता हूं। अक्सर, जब यह प्रस्तुत करने का प्रयास करता है तो मुझे अपनी रिपोर्ट के बजाय "खराब लॉगऑन" या "401: अनधिकृत" मिलता है। बहुत सी पढ़ाई और सोचने के बाद, मुझे विश्वास है कि समस्या यह है कि मुझे SQL सर्वर पर लॉग ऑन करने की आवश्यकता नहीं है, लेकिन वेबसाइट (वेब सेवा?) पर जहां मेरी रिपोर्ट का खुलासा किया गया है। अभी अगर मैं कोई प्रमाण-पत्र प्रदान नहीं करता हूं, तो मैं अपनी स्थानीय रिपोर्ट ReportViewer (आमतौर पर) में प्राप्त कर सकता हूं। हालांकि, जब मैं रिमोट सर्वर पर रिपोर्ट्स को तैनात करता हूं, तो यह अब काम नहीं करता है।
कुछ शोध के बाद मैंने एक वर्ग बनाया जो आईआरपोर्टपोर्ट सर्वर प्रमाण पत्र लागू करता है और उपयोगकर्ता नाम और पासवर्ड में पास करने के लिए इसका उपयोग करने का प्रयास करता है, लेकिन यह काम नहीं करता है। और यह मुझे भ्रमित कर रहा था कि क्या ये प्रमाण-पत्र डेटा स्रोत या वेब सेवा के लिए होना चाहिए।
यदि कोई मुझे एसएसआरएस वेब सेवा में लॉग इन करने के लिए ReportViewer को कैसे प्राप्त करने के बारे में बता सकता है, तो मैं इसकी सराहना करता हूं।
वास्तव में, मुझे एक त्रुटि मिली जब मैंने किसी अन्य स्टेजिंग स्थान पर तैनात किया, कह रहा था कि एनटी खाता जिसका उपयोग मैं कर रहा था, उस क्रिया को करने के लिए विशेषाधिकार नहीं थे। प्रतिरूपण को समझना और मेरे आवेदन किस खाते में चल रहे हैं, मुझे कुछ और ध्यान केंद्रित करने की आवश्यकता है। अंत में, मैं "ब्राउजर" के "बिल्टिन \ उपयोगकर्ता" के लिए भूमिका जोड़कर इस चीज़ को चलाने में सक्षम था। यह काम करता है, लेकिन मैं इसके बारे में पागल नहीं हूं क्योंकि मुझे लगता है कि इसका मूल रूप से मतलब है कि रिपोर्ट अब लॉक नहीं है। मैं यहां आने वाले उत्तरों का पीछा करना जारी रखूंगा। –
अंत में, मैंने आखिरकार क्रेडेंशियल क्लास की जांच करके इसे और अधिक ध्यान से बनाया, इसे नमूना कोड से तुलना करके मुझे पता चला कि मुझे काम पता था। यह पता चला कि मैं अपने GetFormsCredentials() विधि से "ट्रू" लौट रहा था। चूंकि मैंने फॉर्म प्रमाणीकरण का उपयोग करने का इरादा कभी नहीं किया था, इसलिए मुझे "गलत" वापस करना चाहिए था।"उस विधि के सभी" आउट "पैरा को नल पर सेट किया जा रहा था, इसलिए प्रमाणीकरण कभी सही तरीके से नहीं किया जा रहा था, और मुझे इसका एहसास नहीं हुआ। –
बहुत बढ़िया। हम उसी मुद्दे में भाग गए जब हम एसएसआरएस को हमारे साथ एकीकृत करने की कोशिश कर रहे थे वेब ऐप। अंत में हम अनुमतियां ठीक करने में सक्षम थे, लेकिन यह दर्दनाक था। – jvilalta