我用.net4.0在vs2010中创建了一个水晶报告.当我发布网站时,它会抛出错误"由JRC引擎处理的文档无法在C++堆栈中打开".我在服务器上发布了这个网站,我正在尝试从客户端访问它,我确实在app_code中记录了.rpt文件,但又一次得到了同样的错误.所以我创建了一个文件夹wwwroot,在该文件夹中我保存了asp_client和网站文件夹,并给了wwwroot的物理路径.一切正常,除了水晶报告.在.cs文件代码如下:
ReportDocument rptDoc = new ReportDocument();
DataSetForCrystalReport ds = new DataSetForCrystalReport();
DataSetForCrystalReport dsHeader = new DataSetForCrystalReport();
DataTable dt = new DataTable();
DataTable dtHeader = new DataTable();
dt.TableName = "dtBill";
string ReceiptNo = Request.QueryString["ReceiptNo"];
dt = getAllOrders(ReceiptNo).Tables[0];
dtHeader = TblcompanysettingsService.GetOrganizationDetails();
ds.Tables[1].Merge(dt);
ds.Tables[2].Merge(dtHeader);
rptDoc.Load(Server.MapPath("crBill.rpt"));
rptDoc.SetDataSource(ds);
CrystalReportViewer1.ReportSource = rptDoc;
Run Code Online (Sandbox Code Playgroud)
堆栈错误的痕迹:
[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) +147
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +422
[CrystalReportsException: Load report …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用ASP.NET 4.0和Visual Studio 2010从我的Web应用程序运行水晶报表.我已经从SAP站点安装了以下内容(http://www.businessobjects.com/jump/xi/crvs2010 /us2_default.asp)
1)SAP Crystal Reports,Visual Studio 2010版本 - 标准EXE安装包,用于将软件安装到Visual Studio IDE中.
2)用于.NET Framework 4的SAP Crystal Reports运行时引擎(64位)
我有一个名为Reports.aspx的页面,其中我有一个水晶报表查看器控件
<CR:CrystalReportViewer ID="rptViewer" runat="server" AutoDataBind="true" />
Run Code Online (Sandbox Code Playgroud)
在Reports.aspx.cs文件中,我有以下代码:
protected override void OnPreRender(EventArgs e)
{
ReportDocument report = new ReportDocument();
var path = Server.MapPath("Reports/Sample.rpt");
report.Load(path);
report.SetDatabaseLogon("username", "password", "servername", "databasename");
rptViewer.ReportSource = report;
}
Run Code Online (Sandbox Code Playgroud)
在report.Load(path)行上,我收到以下错误:
不支持的操作.由JRC引擎处理的文档无法在C++堆栈中打开.
我怎样才能解决这个问题?