c++ - 不支持的操作。 JRC 引擎处理的文档无法在 C++ 堆栈中打开

标签 c++ asp.net crystal-reports

当我在 Windows Server 2003 上部署我的 asp.net 网站时,后端带有 oracle 10g 数据库。我使用的是 sap Crystal 报告版本 13.0.2000.0 它给出了错误

Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ 
stack.Description: An unhandled exception occurred during the execution of the current web request.
Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.

来源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常来源和位置的信息。

堆栈跟踪:

[COMException (0x80041811): Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.]
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +95
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +270

[CrystalReportsException: Load report failed.]
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +333
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +877
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +84
WEBPAGES_srccustomerbill2.setdatasource() +2270
WEBPAGES_srccustomerbill2.Page_Load(Object sender, EventArgs e) +233
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207

版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.0.30319.1

最佳答案

如果您有 Web 应用程序

您必须修改 .rpt 文件的属性:

  • 将 Build Action 更改为“Content”(默认为“Embedded Resource”)。
  • 将复制到输出更改为“始终复制”(默认为“不复制”)。

如果您不想更改每个文件的属性,有一个简单的方法来 default build action for non-default file-types


如果您有网站

您必须在“发布网站”菜单中标记“允许此预编译网站可更新”


在 Web 应用程序和网站中

你可以,而不是执行前面的步骤

  • 不使用发布选项发布报告,只需手动复制它们到发布文件夹中。

你必须

  • 检查报告是否存在以及应用程序是否可以访问(权限、文件路径)

祝你好运!

关于c++ - 不支持的操作。 JRC 引擎处理的文档无法在 C++ 堆栈中打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8654154/

相关文章:

c++ - 将 C++ 成员函数分配给 C 函数指针

c# - asp.net core 中的 TempData 为空

c# - Visual Studio 2013 的 Crystal 报表是免费的吗?

asp.net - 屏幕抓取 - 如何获取基于 AJAX 的过滤数据

asp.net - 从 System.IO.Stream 对象中查找文件扩展名

sql-server - 无法在多个数据库上使用 Delphi 4 中的 Crystal Reports 2008 报表

reporting-services - 有没有办法在 Crystal 报告或 SSRS 中显示气球工具提示

c++ - 在 iostream 中的不同数字格式样式之间切换

c++ - 使用 IOCP 时从两个线程调用 WSASend() 和 WSARecv() 是否安全?

c++ - 为什么 Visual Studio 编译器在此示例中允许违反私有(private)继承?