我的水晶报告在执行时崩溃,我能通过网站查看我的报告,但几分钟后我的报告崩溃了,asp.net告诉我加载报告失败。实际发生了什么问题?它会在执行期间崩溃吗?
protected void Page_Load(object sender, EventArgs e)
{
//load report
ReportDocument RD = new ReportDocument();
//base on App_Code xsdfile name
top5movie ds = new top5movie();
DataTable dt= new DataTable();
dt.TableName = "Report";
dt = getAllOrders().Tables[0];
ds.Tables[0].Merge(dt);
RD.Load(Server.MapPath("~/CrystalReport2.rpt"));
RD.SetDataSource(ds);
CrystalReportViewer1.ReportSource = RD;
//end load report
}
//report function
public DataSet getAllOrders()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
SqlCommand cmdSelect = new SqlCommand("selectTop5Movie",conn);
DataSet ds = null;
SqlDataAdapter dts;
try
{
conn.Open();
cmdSelect.Connection = conn;
ds = new DataSet();
dts = new SqlDataAdapter(cmdSelect);
dts.Fill(ds, "movieTitle");
dts.Fill(ds, "userName");
dts.Fill(ds, "uploadDate");
dts.Fill(ds, "movieClicks");
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
cmdSelect.Dispose();
if (conn.State != ConnectionState.Closed)
conn.Close();
}
return ds;
}
答案 0 :(得分:1)
ReportDocument RD
您没有在using
之后关闭并处理此对象。
使用
using(ReportDocument RD = new ReportDocument())
{
}
或
RD.Close()
RD.Dispose()
使用后。
您可以使用CrystalReport
的实例数限制(默认值 75 )
你可以在regedit
“HKEY_LOCAL_MACHINE \ SOFTWARE \ SAP BusinessObjects \ Crystal Reports for .NET Framework 4.0 \ Report Application Server \ Server \ PrintJobLimit”
答案 1 :(得分:0)
在您的.rpt属性(复制到输出目录)中更改为复制为更新或复制始终。