水晶报表提示错误,求助
我用的是vs2010,自己网上下载安装的水晶报表。代码如下:
//连接数据库
SqlConnection conn= new SqlConnection(。。。);
conn.Open();
DataSet ds=new DataSet();
string sql = "SELECT * FROM table1 where id="+id+"";
SqlDataAdapter da = new SqlDataAdapter(sql, conn);
da.Fill(ds, "table1");
//装载设备维护信息
sql = "SELECT * FROM table2 where device_id=" + id + " ";
SqlDataAdapter da1 = new SqlDataAdapter(sql, conn);
da1.Fill(ds, "table2");
// CrystalReport1.rpt是水晶报表文件的名称;CrystalReportSource1是从工具箱加到页面上的水晶报表数据源对像。
*****CrystalReportSource1.ReportDocument.Load(Server.MapPath@("CrystalReport1.rpt"));******
CrystalReportSource1.ReportDocument.SetDataSource(ds);
CrystalReportViewer1.ReportSource = CrystalReportSource1;
CrystalReportViewer1.DataBind();
*****部分若打开,编译时就会报错,不知道原因。
若封掉,则本地编译能通过,但发布到网站上后就报下面的错,请问什么原因呢?
System.Web.HttpUnhandledException (0x80004005): 引发类型为“System.Web.HttpUnhandledException”的异常。 ---> CrystalDecisions.Shared.CrystalReportsException: 加载报表失败。 ---> System.Runtime.InteropServices.COMException: 不支持的操作。无法在 C++ 堆栈中打开由 JRC 引擎处理的文档。
在 CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options)
在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options)
在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
--- 内部异常堆栈跟踪的结尾 ---
在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened()
在 CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.get_ProductLocaleID()
在 CrystalDecisions.ReportSource.CachedObjectReportSource.GetReport(RequestContext context, Boolean bAddToCacheWhenCreated)
在 CrystalDecisions.Web.CrystalReportSource.get_ReportDocument()
在 device_change_EquipReportList.Page_Load(Object sender, EventArgs e)
在 System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
在 System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
在 System.Web.UI.Control.OnLoad(EventArgs e)
在 System.Web.UI.Control.LoadRecursive()
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.HandleError(Exception e)
在 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
在 System.Web.UI.Page.ProcessRequest()
在 System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
在 System.Web.UI.Page.ProcessRequest(HttpContext context)
在 ASP.device_device_equipreportlist_aspx.ProcessRequest(HttpContext context) 位置 c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\luna\8c61713a\78e3bff6\App_Web_equipreportlist.aspx.89a75197.g6qfvk2i.0.cs:行号 0
在 System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
在 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
报表 vs2010 异常 --------------------编程问答-------------------- 路径不对吧,如果是放在要目录下,应该这样
Server.MapPath(@"~CrystalReport1.rpt")
如果放在report文件夹下
Server.MapPath(@"~/Report/CrystalReport1.rpt")
补充:.NET技术 , C#