Db migrated from 2005 to 2012, Reports are breaking with an error "Invalid URI, URI string is too long".

  • Environment Details:

    Reporting server migrated from 2005 to 2012.

    But we haven't migrated rdls and these reports are being viewed via reportviewer 8.0 version (2005).

    IIS 7.0 ( hosting environment has 8.0 & 11.0 dlls for report viewer)

    The reports are loading properly when limited values passed as parameter.

    When multiple parameters are passed (i.e. complete hierarchy tree selection), report is rendered as expected with 740 pages. But when user clicks on next page of report viewer control, we are getting "Invalid URI: URI is too long" error.

    As per suggestions on other blogs added settings to Report Server web.config. But it didn't worked for me.

    <add key="aspnet:IgnoreFormActionAttribute" value="true" />

    <add key="aspnet:MaxHttpCollectionKeys" value="100000" />

    Report Server Log Files Details:

    library!ReportServer_0-2!6e0!05/03/2013-00:44:35:: i INFO: Using folder C:\Program Files\Microsoft SQL Server\MSRS11.REPORTS\Reporting Services\RSTempFiles for temporary files.

    library!ReportServer_0-2!6e0!05/03/2013-00:44:41:: e ERROR: Throwing Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:

    Internal error, Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException:

    An internal error occurred on the report server. See the error log for more details. --->

    System.UriFormatException: Invalid URI: The Uri string is too long.

    at System.Uri.EscapeString(String input, Int32 start, Int32 end, Char[] dest, Int32& destPos, Boolean isUriString, Char force1, Char force2, Char rsvd)

    at System.Uri.EscapeDataString(String stringToEscape)

    at Microsoft.ReportingServices.Common.UrlUtil.UrlEncode(String input)

    at Microsoft.ReportingServices.ReportProcessing.ParameterInfoCollection.UrlEncodeSingleParam(StringBuilder url, String name, Object val, Func`2 cs)

    at Microsoft.ReportingServices.ReportProcessing.ParameterInfoCollection.ToUrl(Boolean skipInternalParameters, Func`2 cs)

    at Microsoft.ReportingServices.Library.ReportExecutionBase.WriteParametersToJobContext(RunningJobContext jobContext)

    at Microsoft.ReportingServices.Library.ReportExecutionBase.Execute()

    at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper()

    --- End of inner exception stack trace ---;

    library!ReportServer_0-2!6e0!05/03/2013-00:44:43:: i INFO: Dump result: External dump process return code 0x20000001.

    External dump process returned no errors.

    .

    webserver!ReportServer_0-2!6e0!05/03/2013-00:44:43:: e ERROR: Reporting Services error Microsoft.ReportingServices.Diagnostics.Utilities.InternalCatalogException: An internal error occurred on the report server. See the error log for more details. ---> System.UriFormatException: Invalid URI: The Uri string is too long.

    at System.Uri.EscapeString(String input, Int32 start, Int32 end, Char[] dest, Int32& destPos, Boolean isUriString, Char force1, Char force2, Char rsvd)

    at System.Uri.EscapeDataString(String stringToEscape)

    at Microsoft.ReportingServices.Common.UrlUtil.UrlEncode(String input)

    at Microsoft.ReportingServices.ReportProcessing.ParameterInfoCollection.UrlEncodeSingleParam(StringBuilder url, String name, Object val, Func`2 cs)

    at Microsoft.ReportingServices.ReportProcessing.ParameterInfoCollection.ToUrl(Boolean skipInternalParameters, Func`2 cs)

    at Microsoft.ReportingServices.Library.ReportExecutionBase.WriteParametersToJobContext(RunningJobContext jobContext)

    at Microsoft.ReportingServices.Library.ReportExecutionBase.Execute()

    at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper()

    --- End of inner exception stack trace ---

    at Microsoft.ReportingServices.Diagnostics.CancelablePhaseBase.ExecuteWrapper()

    at Microsoft.ReportingServices.Library.ExecutionDisposerProxy.ExecuteReport()

    at Microsoft.ReportingServices.Library.RenderReportAction.PerformExecution()

    at Microsoft.ReportingServices.Library.RenderReportAction.Render()

    at Microsoft.ReportingServices.Library.StreamRequestHandler.RenderReport(SessionfulClientRequest sessionManager)

    at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderReport(SessionfulClientRequest sessionManager)

    at Microsoft.ReportingServices.Library.StreamRequestHandler.PerformStreamedOperation(StreamedOperation operation)

    at Microsoft.ReportingServices.Library.StreamRequestHandler.RenderItem(ItemType itemType)

    at Microsoft.ReportingServices.Library.StreamRequestHandler.ExecuteCommand()

    at Microsoft.ReportingServices.WebServer.ReportServiceHttpHandler.RenderPage()

    ==========================

    If you need any more inputs please reply me on nbethi@gmail.com

Viewing 0 posts

You must be logged in to reply to this topic. Login to reply