不支持的操作.由JRC引擎处理的文档不能在c++堆栈中打开
Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack
当我在Windows server 2003上部署oracle 10g数据库时。我使用sap水晶报告版本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 Version:4.0.30319;ASP。净版:4.0.30319.1
如果你有一个Web应用
您必须修改.rpt文件的属性:
- 将构建动作更改为"内容";("嵌入式Resource"默认情况下)。
- 将Copy to Output更改为"Copy always"("请勿复制";默认情况下)。
如果您不想更改每个文件的属性,有一种简单的方法可以默认构建操作用于非默认文件类型。
如果你有一个网站
你必须设置标志"允许这个预编译的网站被上传"在"发布网站"中菜单
Web应用程序和Web站点
你可以用代替前面的步骤
- 不使用发布选项发布报告,只是手动复制它们在发布文件夹
,你必须
- 检查报告是否存在并且可以被应用程序访问(权限,文件路径,)
祝你好运!
您需要修改.rpt文件中的两个属性:
- Build Action默认设置为"Embedded Resource"。改成"Content"
- Copy to Output默认设置为"不复制"。把它改成"Copy always"。
重新构建、构建部署包和发布。完成了!
我得到了同样的错误信息,并尝试了谷歌搜索和谷歌搜索,但找到了解决方案。
首先,你必须检查你的ReportPath
是否正确。
如果你正在使用c#,下面的代码可能会有帮助:
//declare new report
ReportDocument rpt = new ReportDocument();
//load your report
rpt.Load(Server.MapPath("crMembers.rpt"));
//set your datasource
rpt.Database.Tables[0].SetDataSource(m.GetReportSource());
//set your report for the viewer
crviewer.ReportSource = rpt;
//refresh the viewer
crviewer.RefreshReport();
在尝试以上所有解决方案后,我得到了最终解决方案,只是复制您的水晶报告文件夹(在那里您保存所有水晶报告到单个目录)直接到您的网站所在位置。在我的例子中,它是c:/inetpub/www/xyz这里xyz是发布文件夹
重新安装"Crystal report engine"到服务器,Build Action设置为"Content".
相关文章:
- 算法问题:查找从堆栈中弹出的所有序列
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- Visual Studio(或任何其他工具)能否将地址解释为调用堆栈(boost上下文)的开头
- 为什么调用堆栈数组会导致内存泄漏
- gdb错误:Backtrace已停止:上一帧与此帧相同(堆栈已损坏?)
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的 int main() 中出现堆栈溢出错误
- 堆栈和队列是否像C++中的数组一样传递?
- 拥有映射的现代方法,该映射可以指向或引用已在堆栈上分配的不同类型的数据
- 为什么 STL 容器适配器堆栈中的 top 返回常量引用?
- 从堆栈分配的原始指针构造智能指针
- 在函数范围内在堆栈上分配的数组在离开函数时是否总是被释放?
- 堆栈中大小变量输入错误 (C++)
- 堆栈问题(平衡表达式问题集)
- C++ 在堆栈中包含多态属性的类对象存储
- 用于解析 win64 堆栈跟踪的命令行客户端(可以访问符号服务器)
- 在 C++ 中使用链表进行堆栈
- 变量周围的堆栈'...'已损坏
- 在 gtest 中初始化堆栈上的引用变量的隔离错误
- C++线程的可用堆栈大小