5

के साथ एसएसआरएस का उपयोग करके मैंने अपने लोकहोस्ट पर एसएसआरएस स्थापित किया है, और उन पर कुछ रिपोर्ट बनाने के लिए बोली का उपयोग किया है। वे उसी SQL सर्वर से डेटा तक पहुंचते हैं जहां एसएसआरएस तैनात किया जाता है, और जब मैं उनका पूर्वावलोकन करता हूं तो वे ठीक चलते हैं। तब मैंने उन्हें अपने लोकहोस्ट एसएसआरएस में तैनात किया और रिपोर्टमैनेजर वेब इंटरफ़ेस के माध्यम से उन्हें एक्सेस किया, फिर वे ठीक से दौड़ गए। आखिर में मैंने उन्हें अपने होस्टिंग प्रदाता के एसएसआरएस में तैनात किया। वही सौदा; अच्छी डेटा कनेक्टिविटी और यह ReportManager में बहुत अच्छा लग रहा है।एएसपी.Net ReportViewer

पहली बार जब मैं किसी भी सिस्टम पर ReportManager के माध्यम से उन्हें एक्सेस करता हूं, तो यह मेरा उपयोगकर्ता नाम और पासवर्ड मांगता है, जो कि मेरे लैपटॉप पर सिर्फ मेरा खाता लॉगऑन और पासवर्ड है। मेरे होस्टिंग प्रदाता के लिए यह उनके लिए मेरा खाता लॉगऑन है।

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

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

यदि कोई मुझे एसएसआरएस वेब सेवा में लॉग इन करने के लिए ReportViewer को कैसे प्राप्त करने के बारे में बता सकता है, तो मैं इसकी सराहना करता हूं।

उत्तर

4

यह मानते हुए कि आपने दर्शक पर प्रसंस्करण मोड = "रिमोट" एटिरबूट सेट किया है, तो आपके पास शायद एक प्रमाणीकरण समस्या हो। रिमोट मोड में रिपोर्ट व्यूअर का उपयोग करते समय, एसएसआरएस पर रिपोर्ट एएसपी.Net के तहत चल रही है। इस खाते में रिपोर्टिंग सर्वर और उस रिपोर्ट तक पहुंच होनी चाहिए, जिसे आप चलाना चाहते हैं। शायद यह हो रहा है कि एएसपी.Net उस खाते के तहत चल रहा है जिसके पास एसएसआरएस तक पहुंच नहीं है।

यदि आप रिपोर्ट दर्शक के लिए प्रमाण-पत्र सेट करने में सक्षम होना चाहते हैं, तो समाधान और नमूना कोड के लिए this thread पर एक नज़र डालें।

+0

वास्तव में, मुझे एक त्रुटि मिली जब मैंने किसी अन्य स्टेजिंग स्थान पर तैनात किया, कह रहा था कि एनटी खाता जिसका उपयोग मैं कर रहा था, उस क्रिया को करने के लिए विशेषाधिकार नहीं थे। प्रतिरूपण को समझना और मेरे आवेदन किस खाते में चल रहे हैं, मुझे कुछ और ध्यान केंद्रित करने की आवश्यकता है। अंत में, मैं "ब्राउजर" के "बिल्टिन \ उपयोगकर्ता" के लिए भूमिका जोड़कर इस चीज़ को चलाने में सक्षम था। यह काम करता है, लेकिन मैं इसके बारे में पागल नहीं हूं क्योंकि मुझे लगता है कि इसका मूल रूप से मतलब है कि रिपोर्ट अब लॉक नहीं है। मैं यहां आने वाले उत्तरों का पीछा करना जारी रखूंगा। –

+0

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

+0

बहुत बढ़िया। हम उसी मुद्दे में भाग गए जब हम एसएसआरएस को हमारे साथ एकीकृत करने की कोशिश कर रहे थे वेब ऐप। अंत में हम अनुमतियां ठीक करने में सक्षम थे, लेकिन यह दर्दनाक था। – jvilalta

1

दूरस्थ रूप से प्रमाणीकरण समस्याओं को डीबग करना हमेशा चुनौतीपूर्ण होता है, लेकिन आप अपने ऐपपूल पर प्रतिरूपण सक्षम करके अपनी समस्या का समाधान कर सकते हैं। इस तरह, जब कोई उपयोगकर्ता लॉग-इन होता है, तो आईआईएस आपके उपयोगकर्ता के रूप में SQL सर्वर से कनेक्ट करने में सक्षम होगा।

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

+0

मैं निश्चित रूप से एसक्यूएल प्रमाणीकरण का उपयोग करना पसंद करूंगा; मुख्य रूप से क्योंकि मैंने कभी नहीं समझा है कि विंडोज प्रमाणीकरण यह करता है कि यह क्या करता है। और क्योंकि वेब ऐप पर नेटवर्क लॉगऑन शामिल नहीं है। मैं प्रतिरूपण पर पढ़ने जा रहा हूँ। –