2012-06-11 24 views
12

मेरे पास एक विंडोज 7 मशीन के साथ-साथ एएसपी.NET अनुप्रयोग पर चल रहा एक SQL Server 2008 R2 रिपोर्ट सर्वर है। ASP.NET एप्लिकेशन रिपोर्ट सर्वर की रिपोर्ट प्रदर्शित करने, रिपोर्ट प्रस्तुत करने आदि के अनुरोध करता है। मेरा एएसपी.NET एप्लिकेशन सफलतापूर्वक रिपोर्ट की सूची प्राप्त करता है लेकिन जब यह रिपोर्ट प्रस्तुत करने का प्रयास करता है तो मुझे निम्न त्रुटि मिलती है:रिपोर्ट सर्वर एक्सेस करने के साथ AppPool अनुमति समस्या

The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied) 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: Microsoft.Reporting.WebForms.ReportServerException: The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied) 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[ReportServerException: The permissions granted to user 'IIS APPPOOL\DefaultAppPool' are insufficient for performing this operation. (rsAccessDenied)] 
Microsoft.Reporting.WebForms.ServerReportSoapProxy.OnSoapException(SoapException e) +89 
Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.ProxyMethodInvocation.Execute(RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod) +404 
Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report, String HistoryID) +180 
Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession() +79 
Microsoft.Reporting.WebForms.ServerReport.GetParameters() +54 

नोट: यह वही कोड बेस विंडोज 7 और विंडोज सर्वर 2008 चलाने वाली कई मशीनों पर ठीक काम करता है। मैं वेब खोजों के आधार पर कई अलग-अलग चीजों की कोशिश कर रहा हूं लेकिन समाधान नहीं मिला है। इसमें कोई अंतर्दृष्टि की सराहना की जाएगी।

+2

क्या आपने यह सुनिश्चित किया है कि APPPool पहचान, 'IIS APPPOOL \ DefaultAppPool' के पास रिपोर्ट सर्वर तक पहुंच है। इसमें कम से कम ब्राउजर एक्सेस – mreyeros

+0

होना चाहिए जिसने मुझे मदद की। यदि आपको कोई फर्क नहीं पड़ता है तो मैं इसे एक उत्तर के रूप में रखूंगा ताकि यह दिखाई दे। –

+0

एक त्वरित अस्थायी परिवर्तन के लिए मैं यह करने में सक्षम था। मैंने विजुअल स्टूडियो में डिबगिंग करते समय यह त्रुटि देखी। मैंने देखा कि मेरे प्रोजेक्ट गुण> वेब> सर्वर, चयन 'स्थानीय आईआईएस वीवी सर्वर का उपयोग करें' था। मैं आमतौर पर उत्पादन वातावरण को दोहराने के लिए ऐसा करता हूं। 'विजुअल स्टूडियो डेवलपमेंट सर्वर का उपयोग करें' पर स्विच करने से मुझे रिपोर्ट डीबग करने की अनुमति मिली। – JabberwockyDecompiler

उत्तर

23

अंततः इसे समझें। मेरी रिपोर्टिंग सेवाएं स्थानीय खाते में कॉन्फ़िगर की गई थीं, जबकि आईआईएस के लिए मेरा एप्लिकेशन पूल एप्लीकेशनपूल इडेंटिटी में कॉन्फ़िगर किया गया था। मैंने अपना एप्लीकेशन पूल स्थानीय सिस्टम में बदल दिया और इसे ठीक कर दिया। उम्मीद है कि यह जानकारी दूसरों के लिए उपयोगी होगी क्योंकि मैंने इसे समझने में कई घंटे बर्बाद कर दिए थे।

+0

समय लेने और अपना जवाब साझा करने के लिए धन्यवाद! इसे स्वीकार किए गए उत्तर के रूप में चिह्नित करना न भूलें! – Jeroen

+3

उन लोगों के लिए स्पष्टीकरण के लिए जिन्हें इस जानकारी की आवश्यकता है: एप्लिकेशन पूल> [YourApp]> एप्लिकेशन पूल डिफ़ॉल्ट सेट करें> प्रक्रिया मॉडल के तहत, 'लोकलसिस्टम' की पहचान बदलें –

+3

क्या सिस्टम पूल के तहत एप्लिकेशन पूल चलाने में खतरनाक नहीं है? – Axarydax

4

विंडोज सर्वर 2008 आर 2 पर चल रहे आईआईएस और रिपोर्ट सर्वर को छोड़कर लगभग वही स्थिति यहां। मैं एएसपीनेट एप्लिकेशन अपने स्वयं के एप्लिकेशन पूल के साथ चल रहा था और सबकुछ काम करता था। जब मैंने एप्लिकेशन को DefaultAppPool में बदल दिया (एक अलग समस्या के कारण), मुझे अनुमति समस्या मिली। मैंने ApplicationPoolIdentity से लोकलसिस्टम (आईआईएस, उन्नत सेटिंग्स में) से DefaultAppPool की पहचान बदल दी और यह फिर से काम किया।

14

मैरीयर्स के रूप में एक अन्य समाधान टिप्पणी में डाल दिया गया है कि रिपोर्ट प्रबंधक में आईआईएस APPPOOL \ DefaultAppPool उपयोगकर्ता को ब्राउज़र अनुमति देना है।

ऐसा करने के लिए आपको होम फ़ोल्डर में रिपोर्ट प्रबंधक वेबसाइट (http: /// रिपोर्ट) खोलनी चाहिए फ़ोल्डर सेटिंग्स -> सुरक्षा पर क्लिक करें, नई भूमिका असाइनमेंट पर क्लिक करें और IIS APPPOOL \ DefaultAppPool को नाम के रूप में इनपुट करें, से अनुमतियां चुनें सूची।

+1

यह वह जवाब था जिसे मैं ढूंढ रहा था क्योंकि मैं ऐप पूल पर एडी खाता नहीं रखना चाहता था, लेकिन मैं इसे काम करने में सक्षम नहीं था। क्या आपने ऐपपूल की अनुमति देने से संबंधित कुछ और कोशिश की थी, पूर्व में मैंने रिपोर्ट सर्वर को पुनरारंभ करने का प्रयास किया था। – JabberwockyDecompiler

+0

मीकल, इसे पोस्ट करने के लिए आपको बहुत बहुत धन्यवाद! – CowboyBebop

3

जैसा कि Michal Drozdowicz ने कहा, AppPool उपयोगकर्ता को ब्राउज़र भूमिका के रूप में बनाएं। बात यह है कि याद आ रही है

  1. उपयोगकर्ता (कम से कम Windows 2012 का नाम 'IIS AppPool \ पूल नाम' यह सही नाम है कि त्रुटि पृष्ठ पर दिखाई देगा है। उद्धरण के आसपास न रखें अनुमति संवाद में दर्ज होने पर उपयोगकर्ता नाम।
  2. ब्राउज़र भूमिका मुख्य फ़ोल्डर में बनाई जानी चाहिए। बेशक, यदि आपको उप-फ़ोल्डर में अनुमति की आवश्यकता है, तो सुनिश्चित करें कि उप-फ़ोल्डर अभी भी अनुमतियां या सेट विरासत में है यह मैन्युअल रूप से
2

मैं अपना एप्लिकेशन पूल लोकलसिस्टम पर सेट नहीं करना चाहता क्योंकि मुझे लगता है कि यह खराब अभ्यास है।

माइक्रोसॉफ्ट सिफारिशों के लिए (स्थानीय सिस्टम का उपयोग न करें, ApplicationPoolIdentity का उपयोग करें), यहां देखें: https://technet.microsoft.com/en-us/library/jj635855.aspx#AppPools

औचित्य के लिए, यहाँ देखें: https://stackoverflow.com/a/510225/44169

मैं वर्णित त्रुटि का अनुभव कर रहा था। मैंने अपनी रिपोर्ट सर्वर फ़ोल्डर अनुमतियों में अपनी ऐप पूल पहचान जोड़ दी थी, लेकिन इसे सबफ़ोल्डर की सुरक्षा सेटिंग्स द्वारा ओवरराइड किया जा रहा था। मैंने सबफ़ोल्डर का चयन करके और "अभिभावकीय सुरक्षा सेटिंग्स पर वापस लौटें" पर क्लिक करके इसे ठीक किया।