Crystal reports SAP Crystal Reports Viewer不显示在浏览器中

Crystal reports SAP Crystal Reports Viewer不显示在浏览器中,crystal-reports,report,viewer,Crystal Reports,Report,Viewer,我拥有一个使用framework 4.5的ASP.NET web项目。安装并实施了针对VS2012 Crystal Reports Developer的SAP报表 在本地报告中,它在浏览器(Chrome、Firefox、IE)中正常工作,并且数据位于正确的出口。现在,在发布(在另一台服务器上)时,我们做的第一件事就是安装相同版本的SAP,这样就有了必要的库等 我遇到的问题是,报表查看器的块,我的意思是,什么是repot容器,没有显示在浏览器中,打开窗口,在其中嵌入了它,但没有显示在报表查看器中的

我拥有一个使用framework 4.5的ASP.NET web项目。安装并实施了针对VS2012 Crystal Reports Developer的SAP报表

在本地报告中,它在浏览器(Chrome、Firefox、IE)中正常工作,并且数据位于正确的出口。现在,在发布(在另一台服务器上)时,我们做的第一件事就是安装相同版本的SAP,这样就有了必要的库等

我遇到的问题是,报表查看器的块,我的意思是,什么是repot容器,没有显示在浏览器中,打开窗口,在其中嵌入了它,但没有显示在报表查看器中的任何内容,报表看起来会更少

考虑到可能是数据错误或其他原因,我尝试更改报告并将其置为空白,其中显示的只是文本,没有连接或类似的内容,并删除了代码背后不需要的代码,我只是停止加载报告

在新的本地作品中,但在网络上发布,报告查看器仍然是

谁能帮我一点忙?我在寻找一些关于它的信息,但我在相关论坛中发现,报告没有被看到,但报告查看器什么都没有

事先非常感谢你


PS:我已经检查了服务器日志,查看是否存在任何问题或Asp.Net Crystal报告的错误,没有留下任何内容。

我遇到了smiler问题,并找到了解决方案

我认为从默认的
资源Uri
中查找资源以格式化crystal report时存在一些问题

以获取正确的格式 将
C:\inetpub\wwwroot\aspnet\u client\system\u web\4\u 0\u 30319\crystalreportviewers13
此文件夹复制到项目中

并通过这些行进入web.config文件




这将对您有所帮助。

我认为您需要将其部署为.Net 4,而不是.Net 4.5。

对于我们这些运行从.Net 4.0或更低版本迁移到4.5+版本的项目的人,我有一个观察。看起来,如果包含查看器的页面位于子目录中,那么图像URL是相对于该页面而不是web应用程序的根生成的。例如,如果页面为/gl/accounts.aspx,则图像可能为/gl/crystalimagehandler.aspx等。解决此问题的快速方法是将处理程序映射更改为以crystalimagehandler.aspx结尾的通配符,或将以下代码放在Global.asax中

protected void Application_BeginRequest(object sender, EventArgs e)
        {
            var p = Request.Path.ToLower().Trim();
            if (p.EndsWith("/crystalimagehandler.aspx") && p!= "/crystalimagehandler.aspx")
            {
                var fullPath=Request.Url.AbsoluteUri.ToLower();
                var index = fullPath.IndexOf("/crystalimagehandler.aspx");
                Response.Redirect(fullPath.Substring(index));
            }
        }

将文件夹“C:\inetpub\wwwroot\aspnet\u client\system\u web\4\u 0\u 30319\crystalreportviewers13”复制到应用程序根文件夹后,请确保复制并粘贴给定代码:

<configSections>
<sectionGroup name="businessObjects">
  <sectionGroup name="crystalReports">
    <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
       <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
  </sectionGroup>
</sectionGroup>
  </configSections>

<businessObjects>
  <crystalReports>
    <rptBuildProvider>
      <add embedRptInResource="true" />
    </rptBuildProvider>
    <crystalReportViewer>
          <add key="ResourceUri" value="/crystalreportviewers13" />
  </crystalReportViewer>
  </crystalReports>
</businessObjects>


就在web.config文件中的标记之后。对我来说,任何其他地方都无法工作并生成错误消息。

对我来说,网页开发工具(F12然后是控制台选项卡)显示,当我将文件复制到4\u 0\u 30319文件夹时,服务器正在查找root/aspnet\u client/system\u web/4\u 6\u 1069文件夹。我重命名了文件夹,砰

我遇到过这样一种情况:我使用连接“SQL Server Native Client 11.0”创建了一些Crystal报表,使用连接“Microsoft OLE DB Provider for SQL Server”创建了一些报表。他们都在运行IIS 6的旧服务器上工作。然而,当我们迁移到运行IIS8.5的新服务器时,一些报告按预期工作,而另一些则显示空的Crystal reports viewer。经过4-5天的努力,我终于比较了那些有效的报告和那些无效的报告。我发现的是使用“Microsoft OLE DB Provider for SQL Server”连接的报告。一旦我做了这个改变,报告就完美地完成了。

解决了。。。。100%都可以。遵循以下两个步骤:

1.更新应用程序文件夹

“C:\inetpub\wwwroot\aspnet\u client\system\u web\4\u 0\u 30319\crystalreportviewers13” 进入应用程序根文件夹asp下面的快照。

  • 使用以下代码更新Web.Config文件
  • protected void Application_BeginRequest(object sender, EventArgs e)
            {
                var p = Request.Path.ToLower().Trim();
                if (p.EndsWith("/crystalimagehandler.aspx") && p!= "/crystalimagehandler.aspx")
                {
                    var fullPath=Request.Url.AbsoluteUri.ToLower();
                    var index = fullPath.IndexOf("/crystalimagehandler.aspx");
                    Response.Redirect(fullPath.Substring(index));
                }
            }
    
    <configSections>
    <sectionGroup name="businessObjects">
      <sectionGroup name="crystalReports">
        <section name="rptBuildProvider" type="CrystalDecisions.Shared.RptBuildProviderHandler, CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304, Custom=null" />
           <section name="crystalReportViewer" type="System.Configuration.NameValueSectionHandler" />
      </sectionGroup>
    </sectionGroup>
      </configSections>
    
    <businessObjects>
      <crystalReports>
        <rptBuildProvider>
          <add embedRptInResource="true" />
        </rptBuildProvider>
        <crystalReportViewer>
              <add key="ResourceUri" value="/crystalreportviewers13" />
      </crystalReportViewer>
      </crystalReports>
    </businessObjects>