如何解决ASP.Net中的“加载报告失败”?

时间:2018-10-14 05:04:59

标签: asp.net crystal-reports

我有一台远程服务器(例如:192.168.8.8)和一台本地服务器。我可以运行本地服务器上的水晶报表,而不会出现任何问题。

但是当我尝试在远程服务器上运行时,它会引发 Load Report Failed (加载报告失败)错误。

这是我的代码:

CrystalReport.cs

protected void CrystalReportViewer1_Init(object sender, EventArgs e)
    {
        ReportDocument _rdStudents = new ReportDocument();
        string reportPath = Server.MapPath("~" + Request.QueryString["filename"].ToString());
        //string reportPath = Request.QueryString["filename"].ToString();
        _rdStudents.Load(reportPath);
        CrystalReportViewer1.ReportSource = _rdStudents;
    }

CrystalReport.aspx

<%@ Register Assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <script src="js/jquery-3.1.1.js"></script>
    <title></title>

</head>
<body>
    <form id="form1" runat="server">
    <div>
        <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="true" Height="962px" ToolbarImagesFolderUrl="" ToolPanelWidth="200px" Width="1344px"  HasRefreshButton="True" ToolPanelView="ParameterPanel" OnInit="CrystalReportViewer1_Init" />

    </div>
    </form>
</body>
</html>

我的报告位置为 // 192.168.8.8/c$/inetpub/wwwroot/CrystalReportFiles/Test/Report1.rpt

我检查了此crystal-reports-load-report-failed-error-running-report-on-the-server链接。

我不会使用 Report FileName (报告文件名)属性直接运行报告。

我尝试了两种类别

string reportPath = Server.MapPath("~" + Request.QueryString["filename"].ToString());  //filename = /CrystalReportFiles/Test/Report1.rpt

string reportPath = Request.QueryString["filename"].ToString();  //filename=//192.168.8.8/c$/inetpub/wwwroot/CrystalReportFiles/Test/Report1.rpt

我已授予对c:\ Windows \ Temp 的访问权限,以完全控制(IIS_IUSRS,USERS,Everyone)

我安装了 CRforVS_13_0_20

更新

  
      
  1. 我的远程服务器和本地服务器上也都具有CrystalReport.aspx文件

  2.   
  3. 通过将文件路径(//192.168.8.8/c$/inetpub/wwwroot/CrystalReportFiles/Test/Report1.rpt)的参数传递到CrystalReport.aspx(本地服务器)。我可以运行报告

  4.   
  5. 但是我无法通过相同的路径从 RemoteServer(192.168.8.8)上的CrystalReport.aspx运行

  6.   

0 个答案:

没有答案