I am having no luck getting the ReportViewer to work on my DASP site. I have read all the previous posts regarding the ReportViewer and followed the instructions exactly at http://otkfounder.blogspot.com/2007/11/solving-reportviewer-rendering-issue-on.html without positive results. Here is a brief rundown of the steps I have taken – I hope someone can point me in the right direction as I am about ready to give up. Created report using VS2005 and uploaded to the report server. The report renders correctly in VS2005 and also when logged on to the report server. However, when I try to display a page on the site with the ReportViewer control I got the following error: The Report Viewer Web Control HTTP Handler has not been registered in the application's web.config file. Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file. OK – no problem – just follow the instructions in the link above. I followed instructions exactly. Added managed handler with IIS7 manager. These lines were added to web.config <system.webServer> <handlers> <add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler" resourceType="Unspecified" /> </handlers> </system.webServer> Still got the same error. In desperation I tried adding the following to the system.web section: <httpHandlers> <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </httpHandlers> That resulted in this error: HTTP Error 500.23 - Internal Server Error An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. Thoughts anyone? Help would be appreciated. Thanks.
This error means that your application pool is set to use Classic Pipeline mode. Try switch it to Integrated mode in the control panel's IIS manager section.
Thanks for the reply Bruce. It is already set to integrated mode. I tried it both ways with the same result.
You wouldn't get that error if you are running in integrated mode. Do you have the URL that produce this error?
Bruce: The second error goes away when I remove the <httpHandlers> <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </httpHandlers> It’s the first error that I am having trouble with – the one about registering the httpHandler. To see the first error, try this: http://www.meridethsystems.com/reporttest.aspx Thanks, Bill
Hi, Can you post your web.config, just make sure you comment out any sensitive parts like Email address or Passwords. All the best, Mark
One possible clue - in the IIS7 Manager Handler Mappings list all handlers have 'Inherited' in the Entry Type column with the exception of the one I added (Reserved-ReportViewerWebControl-asxd). It has 'Local' in the Entry Type column. Not sure if this means anything or not. Here is the web.config with some items replaced by 'x'. <?xml version="1.0" encoding="UTF-8"?> <!-- Note: As an alternative to hand editing this file you can use the web admin tool to configure settings for your application. Use the Website->Asp.Net Configuration option in Visual Studio. A full list of settings and comments can be found in machine.config.comments usually located in \Windows\Microsoft.Net\Framework\v2.x\Config --> <configuration> <appSettings> <add key="SQLConString" value="Data Source=SQL2k506.discountasp.net;Persist Security Info=True;Password=xxxxxxxx;User ID=xxxxxxxxxxxxxxxxx;Initial Catalog=xxxxxxxxxxxxxxxxxx" /> <add key="LocationOfFiles" value="c:\inetpub\wwwroot\" /> <add key="AppLocation" value="BILL" /> <add key="WriteLogFiles" value="No" /> <add key="LocationOfLogFiles" value="c:\temp\logfiles\" /> <add key="AllowWrite" value="Yes" /> <add key="UnderConstruction" value="No" /> <add key="ApplicationName" value="xxxxx xxxxx xxxxx" /> </appSettings> <connectionStrings> <add name="cloudradiologConnectionString" connectionString="Data Source=SQL2k506.discountasp.net;Initial Catalog=xxxxxxxxxxxxxxx;Persist Security Info=True;User ID=xxxxxxxxxxxxx;Password=xxxxxxxxxxxxxx" providerName="System.Data.SqlClient" /> <add name="cloudradiologConnectionString2" connectionString="Data Source=SQL2k506.discountasp.net;Initial Catalog=xxxxxxxxxxxxxxx;Persist Security Info=True;User ID=xxxxxxxxxxxxxxx;Password=xxxxxxxxxxxxxxx" providerName="System.Data.SqlClient" /> </connectionStrings> <system.web> <!-- Set compilation debug="true" to insert debugging symbols into the compiled page. Because this affects performance, set this value to true only during development. Visual Basic options: Set strict="true" to disallow all data type conversions where data loss can occur. Set explicit="true" to force declaration of all variables. --> <compilation debug="true" strict="false" explicit="true" /> <pages> <namespaces> <clear /> <add namespace="System" /> <add namespace="System.Collections" /> <add namespace="System.Collections.Specialized" /> <add namespace="System.Configuration" /> <add namespace="System.Text" /> <add namespace="System.Text.RegularExpressions" /> <add namespace="System.Web" /> <add namespace="System.Web.Caching" /> <add namespace="System.Web.SessionState" /> <add namespace="System.Web.Security" /> <add namespace="System.Web.Profile" /> <add namespace="System.Web.UI" /> <add namespace="System.Web.UI.WebControls" /> <add namespace="System.Web.UI.WebControls.WebParts" /> <add namespace="System.Web.UI.HtmlControls" /> </namespaces> </pages> <!-- The <authentication> section enables configuration of the security authentication mode used by ASP.NET to identify an incoming user. --> <authentication mode="Windows" /> <!-- The <customErrors> section enables configuration of what to do if/when an unhandled error occurs during the execution of a request. Specifically, it enables developers to configure html error pages to be displayed in place of a error stack trace. <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" /> </customErrors> --> </system.web> <system.webServer> <handlers> <add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler" resourceType="Unspecified" /> </handlers> </system.webServer> </configuration> Thanks for the help. Bill
are you trying to display using localmode (rdlc file on the webserver) or remote mode (render from the report server)? I really can't help you if you are trying to remote mode. It is a real pain in the a** doing remote mode.
make sure you put this back <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
ReportViewer Problem Resolved (mostly) ReportViewer Problem Resolved (mostly) First, I created a local report to be rendered by the web server, not the report server. After fighting with the web.config file for a while I finally figured out that I was missing the following lines in the <compilation> section: <assemblies> <add assembly="Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> <add assembly="Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> </assemblies> <buildProviders> <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </buildProviders> I then removed both of the following entries: <httpHandlers> <add verb="*" path="Reserved.ReportViewerWebControl.axd" type = "Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> </httpHandlers> and <system.webServer> <handlers> <add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler" resourceType="Unspecified" /> </handlers> </system.webServer> When I tried my new test report I got the following error: HTTP Error 500.23 - Internal Server Error An ASP.NET setting has been detected that does not apply in Integrated managed pipeline mode. I then changed the Application Pool Pipeline Mode to Classic and finally got the report to work. Out of curiosity I tried the remote report and got the following error: The request failed with HTTP status 401: Unauthorized. I really don't care about that, I plan to use the local report anyway. Which brings up another question - do I need to spend the 5$ per month for the 'SQL Server 2005 Reporting Services Hosting' even though I plan to use local reports, not reports on the report server? In other words, is the SSRS hosting necessary fee necessary for rendering local reports from the web server? Thanks, Bill
No. You do not need the reporting server service. Most users use Reporting service to generate scheduled report and the ability to keep history.
I would like to use the ReportViewer control in Remote mode with SQL Server Reporting Services. Does anyone have this working? Thanks. -Lynn
Here is the error that I receive when running my application - Server Error in '/CLEANUP' Application. -------------------------------------------------------------------------------- Configuration Error Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. Parser Error Message: Could not load file or assembly 'Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. Source Error: Line 12: <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> Line 13: <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" /> Line 14: <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> Line 15: <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> Line 16: <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /> Source File: E:\web\lynnlcom000\htdocs\CLEANUP\web.config Line: 14 Assembly Load Trace: The following information can be helpful to determine why the assembly 'Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' could not be loaded. WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1
Notice that I have version 10.0.0.0 Microsoft.ReportViewer.WebForms in my web.config, while it is version 8.0.0.0 in Bill's solution above. I am using Visual Studio 2010, .NET 4.0 and SQL Server 2008. I am hoping that bruce can help. This occurs even with ReportViewer reports in local mode. I would eventually like to get local mode working, then perhaps remote mode working if the planets align themselves correctly. Thanks, Lynn
Thank you for installing Report Viewer 2010 on the server. I have the ReportViewer control working in both Local and Remote Mode now.