我正在尝试将Web应用程序部署到Windows 2012 Server,但Crystal Report Viewer无法在服务器上正确呈现;但它在当地工作得很好。
我的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"></section>
</sectionGroup>
</sectionGroup>
</configSections>
<businessObjects>
<crystalReports>
<rptBuildProvider>
<add embedRptInResource="true" />
</rptBuildProvider>
<crystalReportViewer>
<add key="ResourceUri" value="/crystalreportviewers13" />
</crystalReportViewer>
</crystalReports>
</businessObjects>
我正在使用:
答案 0 :(得分:6)
问题是Crystal Reports默认使用本地打印机设置生成报告,服务器可能有不同的默认页面设置(我不知道为什么默认选项)。
要更正此情况,请打开Crystal Reports,在左上角选择“文件”,然后选择“页面设置”。您将看到一个名为“打印机选项”的部分,选中“无打印机”框。
然后,您将看到在服务器上打印的页面。纠正它,它将在任何服务器上以相同的方式打印。
我希望它有所帮助。
PS:您可以直接从IDE打开Crystal Reports,如Visual Studio,打开报告文件(.rpt)并选择此菜单(参见图片)。
PPS:我可能没有正确理解这个问题。我搜索了网络,找到了一个很好的,被接受的答案,解决了许多人遇到的类似问题。主题的名称是 在网络外部提供网页时,Crystal Reports无法呈现。一切都在当地运作良好,但在非本地时不会呈现:http://www.codeproject.com/Answers/361109/Crystal-Reports-not-rendering-when-webpage-is-serv#answer2
链接中解释的解决方案是:
Crystal报表查看器依赖于运行时引擎 .NET Framework 4的安装文件(32位和64位安装)。这些 程序集文件不包含在.NET项目中。
- 转到任何具有/或Crystal报表运行时引擎安装的计算机上的
C\inetpub\wwwroot
文件夹。为了我的 目的,我刚刚去了我正在安装的2008服务器上的那个。- 复制
aspnet_client
目录中的wwwroot
文件夹。- 将此文件夹粘贴到网站目录文件夹中。我假设这适用于从虚拟创建的Web应用程序 目录也是如此,只需将其粘贴到虚拟目录中即可。
醇>
(请点击链接查看CodeProject.com上的完整资源)
也许此链接可以帮助您,问题似乎涉及您指定的相同技术。那是你的问题吗?如果是的话,链接中提供的答案是否适合您?
如果这些anwers都没有帮助您,则可能是您和Crystal Reports CSS之间的CSS冲突导致此问题。如果是这种情况(您可以尝试仅使用CR CSS并查看问题是否仍然存在),则可以通过查找冲突的CSS并将其从CSS中删除来纠正它。
如果没有,请您更具体地说明您的问题,任何新信息都可以帮助我找到合适的答案。
谢谢你,祝你有愉快的一天。
答案 1 :(得分:2)
问题的可能原因之一可能是安装了Crystal Reports运行时,但您的应用程序未在默认网站下运行。
解决这些问题的方法是将aspnet_client文件夹从 c:\ inetpub \ wwwroot 文件夹复制到新的网站根文件夹。
以下讨论整个步骤:
<强> Crystal Report Issue with IIS - ( bobj is undefined , Crystal report not displaying ) 强>
更多参考资料:
答案 2 :(得分:0)
好的,经过数周的头痛,赏金和谷歌搜索后,我终于找到了问题所在。 Crystal Runtime运行良好,这是一个浏览器兼容性CSS问题。我在页面中添加了跟随元标记,现在它在IE中渲染得很好。
<meta http-equiv="X-UA-Compatible" content="IE=9">
不幸的是,它仍然无法在Chrome中正常呈现,但这是一个完整的问题。