El Visor De Informes De Control (Web), Muestra En Informe En Blanco

Tengo una web en un formulario que contenga un control ReportViewer, un elemento DIV para que yo pueda ver que realmente la página hace. Veo que mi página correctamente las cargas, yo véase el informe del servicio de acceso en Fiddler, pero nunca hay nada muestra.

En la actualidad, estoy usando un informe con texto estático, sin consultas sobre él, con el fin de asegurarse de que yo aislar el problema.

Mi página es la siguiente:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ReportViewer.aspx.cs" Inherits="PeopleNet.Web.Views.Reports.ReportViewer" %>

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:ScriptManager ID="ScriptManager1" runat="server">
            <Scripts>
                <asp:ScriptReference Path="~/scripts/jquery-1.7.2.js" />
                <asp:ScriptReference Path="~/scripts/fixReportViewer.js" />
            </Scripts>
        </asp:ScriptManager>

        <div>
            This is the report viewer page...
        </div>
        <rsweb:ReportViewer ID="ReportViewer1" runat="server"></rsweb:ReportViewer>
    </form>
</body>
</html>

El código para mostrar el informe:

protected void Page_Load(object sender, EventArgs e)
{
    this.ReportViewer1.ServerReport.ReportServerUrl = ConfigurationFacade.ReportServerUri;
    this.ReportViewer1.ServerReport.ReportPath = { path to report name };
    this.ReportViewer1.ServerReport.ReportServerCredentials = new ReportServerCredentials(); //custom class implementing IReportServerCredentials as described in various places around the web, including SO
    this.ReportViewer1.ServerReport.Refresh();
}

Mi web.archivo de configuración está configurado con el HttpHandlers, según sea necesario:

<system.web>
    <!-- abbreviated... -->
    <httpHandlers>
        <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" validate="false" />
    </httpHandlers>
</system.web>

Y :

<system.webServer>
    <!-- abbreviated... -->
    <handlers>
        <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
    </handlers>
</system.webServer>

Ejecuta el servidor de Windows 2008 y SQL Server 2008 R2.

Estoy usando la versión de SQL Server 2012 el espectador, ya que estamos en el proceso de actualización de nuestro entornos de 2012.

Repetidas ocasiones he comprobado que el informe es accesible desde el ReportManager, sin problemas de ningún tipo.

He estado intentando tener acceso a este en IE9, después de haber visto varios problemas declaró con otros navegadores.

Estoy actualmente (solo para probar), pasando mis credenciales como las credenciales del servidor de informes. Yo soy una de Reporting Services Administrador, así como un miembro del grupo de administradores de servidores en el servidor.

He comprobado el registro de eventos y el registro ReportServerService, y no hemos encontrado nada mal.

ACTUALIZACIÓN: se Ve como cuando se cambio el AsyncRendering a false, y asegurarse de que yo no trato de «SetParameters» con una colección vacía, esto se presenta sobre todo aclarado:

this.ReportViewer1.AsyncRendering = false;

Lo que me estoy perdiendo en la configuración de/aquí el código?

  • Sólo un tonto de verificación/pregunta: has comprobado con un nuevo básicos (por ejemplo, sólo un cuadro de texto con texto codificado) informe así? También, se puede agregar que la versión de los controles ReportViewer que está utilizando?
  • Sí, en la actualidad, estoy usando una simple página con texto estático en él, sólo para asegurarse de que puedo aislar el problema.
  • ¿Usted todavía tiene un problema, o su actualización significa que has resuelto de ti?
  • «Resolver» es un término con una carga aquí. Es trabajo, pero sobre todo se siente un poco demasiado hack-y. Lo async por si no los puedo usar? ¿Por qué no puedo SetParameters con una lista vacía? (dejando de lado si es o no es una buena idea)
  • Parece que han respondido a tu propia pregunta. Por favor enviar su respuesta y aceptar que si ese es el caso. (Era de la navegación a través del sitio y este es el primer resultado en la categoría sin respuesta para SSRS.)
  • Yo no lo considero sin embargo, respondió. ¿Cuál es el punto de Async si la única manera de obtener un informe es desactivarlo?
  • docs aquí parecen indicar que async representación requiere de un iframe msdn.microsoft.com/en-US/library/ms252090(v=VS.80).aspx sinceramente, no saben nada sobre html, por lo que no puede ser el problema -, pero pensé que podría ayudar.
  • Pruebe el mismo informe, pero esta vez, añadirlo a tu VS proyecto y lo utilizan como un LocalReport — funciona?

InformationsquelleAutor reallyJim | 2012-10-11

5 Kommentare

  1. 3

    Mi solución a este problema estaba relacionado con el intento de fijar el visor de informes de altura al 100%. Esto se tradujo en ningún informe que muestra. El cambio de la altura de un px de valor (es decir, 900px) obtuvo el reportviewer de trabajo.

  2. 1

    Hay esta entrada de blog en MSDN que explica cómo el procesamiento asíncrono obras.

    Además, se menciona que (como se dijo en los comentarios) el procesamiento síncrono incrusta el contenido en la página, mientras que el procesamiento asíncrono presenta el contenido en un marco. El tamaño de la trama es «difícil…para calcular» y el SizeToReportContent propiedad se omite.

    Ya que su informe no aparecerá a menos que sea de forma sincrónica prestados, el problema debe estar en el uso de marcos.

    En el artículo se menciona en los comentarios, de forma asincrónica de representación en el informe se colapso el control de la altura a cero píxeles si un pariente de altura se utiliza. Esto podría explicar por qué no se muestra nada. Usted puede tratar de especificar una altura para el control. Hay otras sugerencias en ese artículo así.

    Eso suponiendo que el problema está en el Servidor de SQL server 2008 R2 SSRS versión, que creo que se nutre de VS 2008. SQL Server 2012 de SSRS creo que se basa en VS 2010, que se supone que no tienen esos problemas, así que cuando termine la actualización, este problema podría desaparecer.

  3. 1

    Yo tenía exactamente el mismo síntoma: Un informe fue rendido con una página completamente en blanco. Para mí ese fue el caso de la producción, pero se trabajó en el entorno de desarrollo.

    El informe había dos parámetros y en el RDL ambos sin tener los valores predeterminados especificados. Cuando se llama el informe en el código aspx detrás accidentalmente había pasado sólo un parámetro. El segundo parámetro tenía un valor predeterminado configurado en el Servidor de Informes de la máquina de desarrollo, pero no en la producción. (Sí, el Servidor de Informes permite especificar los valores predeterminados de parámetros independientemente de la configuración predeterminada en el archivo RDL.) Como resultado, el informe rendido en el desarrollo, pero no en la producción.

    He encontrado esto mirando el XML de respuesta con el Violinista. Contenía un elemento que me decía que el valor de un parámetro no es válido. Por desgracia, el Informe Visor no muestra ningún mensaje de error acerca de la falta de parámetros y sólo muestra una página en blanco – que hace que la raíz del problema difícil de encontrar.

    • ¿Cómo puedo ver el XML de respuesta? La forma en que mi proyecto se ha establecido, no hay lugar para poner un punto de interrupción en el código fuente para ver la respuesta. Es allí una manera de ajustar el registro, o qué?
    • Gracias. Esta solucionado mi problema. Tuve un parámetro sin usar que no tienen un valor por defecto. Una vez que he eliminado de mi informe se mostraba correctamente.
    • En lugar de usar Fiddler, usted puede poner un punto de interrupción justo después de asignar los parámetros de informe (algo como ReportViewer1.LocalReport.SetParameters(lst) ), a continuación, en la Ventana Inmediato asignar los parámetros para cualquier variable como var r = reportViewer1.LocalReport.GetParameters(), a continuación, explore el contenido de cada parámetro en «r» con un QuickWatch. Usted puede fácilmente identificar la problemática valor de parámetro.
  4. 0

    Mi informe se muestra en blanco también. He jugado con las propiedades, y por último se presentó.

    Cambiar el ProcessingMode de la propiedad en el control ReportViewer en la página aspx que trabajó para mí:

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" 
        Width="100%"  ProcessingMode="Remote">
    </rsweb:ReportViewer>

    Esto es lo que tengo:

    <rsweb:ReportViewer ID="ReportViewer1" runat="server" ZoomMode="PageWidth"
        Font-Names="Verdana" Font-Size="8pt" Width="100%" ProcessingMode="Remote"
        ShowParameterPrompts="False" ShowToolBar="True"  ShowCredentialPrompts="False" 
        ShowFindControls="False" ShowZoomControl="False" CssClass="ReportViewer">
    </rsweb:ReportViewer>

    web.config:

    <configuration>
      <connectionStrings>
        <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
      </connectionStrings>
      <system.web>
    
        <httpHandlers>
          <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
        </httpHandlers>
    
        <compilation debug="true" targetFramework="4.0">
          <assemblies>
            <add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="Microsoft.Build.Framework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
            <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
          </assemblies>
        </compilation>
        <authentication mode="Forms">
          <forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
        </authentication>
        <membership>
          <providers>
    ...
          </providers>
        </roleManager>
      </system.web>
      <system.webServer>
        <modules runAllManagedModulesForAllRequests="true"/>
        <handlers>
          <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        </handlers>
      </system.webServer>
    </configuration>
  5. 0

    Hay varios problemas cuando usted consigue en blanco informes:

    1. IIS Tubería; IIS 6 vs IIS7 y por encima de
      Asegúrese de tener correctamente registrado HttpHandler

    IIS7 configuración

        <system.webServer>
        <handlers>
          <add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
        </handlers>

    Más detalles

    Si se perdió el correcto registro, usted puede intentar cambiar de grupo de aplicaciones de IIS en Classic modo
    El Visor De Informes De Control (Web), Muestra En Informe En Blanco

    Si su registro es Aceptar que usted debería ser capaz de utilizar Integrated modo

    1. Otro Controlador interfiere con ReportViewer

    En mi caso fue Vistazo. Vistazo es una herramienta muy potente y funciona bien junto con ReporViewer en desarrollador de la máquina, pero tiene problemas en desplegadas cliente servidor. La solución fue fácil, jst eliminar todas visión general la configuración de la web.config

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea