【问题标题】:SAP Crystal Reports Viewer does not display in browserSAP Crystal Reports Viewer 不显示在浏览器中
【发布时间】:2013-04-16 19:56:29
【问题描述】:

我拥有一个带有框架 4.5 的 ASP.NET Web 项目。为 VS2012 Crystal Reports Developer 安装并实现了一个 SAP 报表。

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

我遇到的问题是 Report Viewer 的块,我的意思是,repot 容器是什么,没有显示在浏览器中,打开这个嵌入的窗口,但在 Report Viewer 中没有显示任何内容,报告将是什么看起来更小。

认为这可能是数据错误或其他原因,我尝试更改报告并放置一个空白,其中显示的所有内容都是文本,没有连接或类似的东西,并删除了不需要的代码代码落后,我刚刚停止加载报告。

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

有人可以帮帮我吗?我正在寻找有关它的一些信息,但我在相关论坛中发现,没有看到报告,但没有看到报告查看器。

非常感谢您。

PS:我已经检查了服务器日志是否有任何问题或 Asp.Net Crystal Reports 的错误,并且没有留下任何东西。

【问题讨论】:

    标签: crystal-reports report viewer


    【解决方案1】:

    已解决.... 100 % 会工作的。请按照以下两个步骤操作:

    1.更新应用程序文件夹。

    “C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13” 进入快照下方的应用程序根文件夹。

    1. 通过以下代码更新 Web.Config 文件。

    【讨论】:

      【解决方案2】:

      我遇到过一些 Crystal Reports 使用连接“SQL Server Native Client 11.0”创建的情况和一些使用连接“Microsoft OLE DB Provider for SQL Server”创建的情况。两者都在我们运行 IIS 6 的旧服务器上工作。但是,当我们迁移到运行 IIS 8.5 的新服务器时,一些报表按预期工作,而另一些则显示一个空的 Crystal Reports 查看器。经过 4-5 天的努力,我尝试了我能想到的一切,最后我比较了有效报告和无效报告之间的所有内容。我发现的是使用“Microsoft OLE DB Provider for SQL Server”连接的报告。一旦我做出了这个改变,报告就完美地服务了。

      【讨论】:

        【解决方案3】:

        对我来说,当我将文件复制到 4_0_30319 文件夹中时,网页开发者工具(F12 然后控制台选项卡)显示服务器正在寻找 root/aspnet_client/system_web/4_6_1069 文件夹。我重命名了文件夹和 BAM!

        【讨论】:

          【解决方案4】:

          将文件夹 "C:\inetpub\wwwroot\aspnet_client\system_web\4_0_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 文件中的 标记之后。对我来说,任何其他地方都不起作用并生成错误消息。

          【讨论】:

            【解决方案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));
                        }
                    }
            

            【讨论】:

              【解决方案6】:

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

              【讨论】:

                【解决方案7】:

                我遇到了微笑问题并找到了解决方案。

                我认为从默认Resource-Uri 中查找资源以格式化水晶报表时存在一些问题。

                为了正确的格式 复制C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13这个文件夹到你的项目中。

                然后将这些行添加到您的 web.config 文件中

                <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>
                

                Check this

                这会对你有所帮助。

                【讨论】:

                  猜你喜欢
                  • 2020-12-22
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-02-07
                  • 1970-01-01
                  • 2013-08-15
                  • 2012-08-26
                  • 1970-01-01
                  相关资源
                  最近更新 更多