【问题标题】:Reportviewer - doesnt return a report on my pc onlyReportviewer - 仅在我的电脑上不返回报告
【发布时间】:2016-02-11 19:28:59
【问题描述】:

这是我第一次使用 Microsoft Reporting Services 和 ReportViewer v11.0.0.0。 Visual Studio 2010 上有一个带有 SQL Server 2008 和 ReportViewer v11.0.0.0 的项目。这个项目可以在其他电脑上运行,但是我的电脑在运行项目的时候,输入参数后,我收到一个空白页(全白),基本上reportviewer不会显示在其他电脑上看到的报告。

// .net
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<form id="form1" runat="server" >
    <asp:ScriptManager ID="ScriptManager1" runat="server" ScriptMode="Release" AsyncPostBackTimeout="600" />
    <rsweb:ReportViewer ID="rv" runat="server" AsyncRendering="true" Width="100%" Height="900px" ProcessingMode="Remote" ShowPrintButton="false" onreporterror="rv_ReportError"/>
</form>

// c#
rv.ProcessingMode = ProcessingMode.Remote;
rv.ShowParameterPrompts = false;
rv.ShowRefreshButton = false;

rv.ServerReport.Timeout = 12500000;
rv.ServerReport.ReportPath = reportViewerModel.ReportPath;

rv.ServerReport.ReportServerUrl = new Uri(AppUtil.GetReportExecutionUrl());

rv.ServerReport.SetParameters(reportViewerModel.ReportParameters);
rv.ServerReport.Refresh();

代码和上面一样,但我认为我们不需要对代码做些什么,因为这适用于另一台计算机。我尝试了很多类似下面的方法但无法修复:

  1. EnablePartialRendering: true(对于 ScriptManager),

  2. 异步渲染:假,

  3. 卸载/安装报告服务和报告查看器。也在尝试以前的版本。

  4. 从 GAC (windows/assembly/gac_msil) 中删除 webforms.dl 和 winforms.dll 并将其再次添加到项目中

  5. 在安装报告服务时更改目标 url:(localhost/Reportserver 现在已启动,正在运行)。

我现在卡住了。我检查了所有相关问题并一一尝试了他们的解决方案,但没有一个解决。我不知道我还能做什么?我应该检查什么,我需要关注哪里?

任何想法都将不胜感激。

编辑:在某些时候没有收到错误消息。

【问题讨论】:

  • 我想您是从网络浏览器运行报告的,对吧?如果是这种情况,您使用的是什么浏览器?
  • Internet Explorer 和 Google Chrome 都无法使用。
  • 另外,操作系统是 Windows 7 x64。以防万一。
  • 您的参数字段是否可见但您的报告区域是白色的,还是屏幕上的所有内容都是白色的
  • 屏幕上的所有内容都是白色的,没有字段...

标签: c# reporting-services reportviewer microsoft-reporting report-viewer2012


【解决方案1】:

过去我在使用报表查看器引用时也遇到了麻烦。我已经让他们使用 Winforms 项目工作,但遇到了 aspx 问题。我最终使用简单的链接和命令渲染来打开几个不同应用程序的 SSRS 报告。如果您被困在其他地方,您可能想尝试使用类似的东西。

string reportHref = "http://DbSSRSHost/ReportServer/Pages/ReportViewer.aspx?%2fUser+Reports" + 
                            "&rs:Command=Render&startDate=" + startDate + "&endDate=" + endDate + "&JobNumber=" + jobNum + "&ToDepartment=empty";

像这样的字符串在应用程序中与锚点和 Href、System.Diagnostics.Process.Start("url") 或任何其他您喜欢的方法一起使用。您也可以在 Command=Render 之后使用普通参数字符串语法传递您需要的任何参数。

您可能需要进行一些配置才能以这种方式使用您的报告服务器,这可能不是最好的方法,但我想我还是可以提一下。这个 MSDN 库介绍了通过 url 访问 SSRS 报告的一些方面: https://msdn.microsoft.com/en-us/library/ms152835.aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-14
    相关资源
    最近更新 更多