关于水晶报表的问题,请各位多多指教!!!!!

asp_badboy 2002-12-20 07:16:45
在运行存储过程时需要3分钟以上,当查询的数据量过大时就出现了"内部服务器错误";
但是当查询的数据量小时就一切正常,初步判断是查询数据超时!!请问有什么办法解决!!多谢了!!!!!!!!
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using ExportPdf;
using DataCenter;
namespace testcry
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class rhs26_result_pdf : System.Web.UI.Page
{
public rhs26 optgb=new rhs26();
public rhs26big optbig=new rhs26big();
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Server.ScriptTimeout=9600;
if(!IsPostBack)
{
string dfrom1=rhs26_query.bdateParam;
string efrom1=rhs26_query.edateParam;
string type=rhs26_query.areaParam;
string brn=rhs26_query.brnParam;
string sea=rhs26_query.seaParam;
string bps=rhs26_query.bpercentParam;
string eps=rhs26_query.epercentParam;
string group=rhs26_query.groupParam;
string flag=rhs26_query.sale0Param;
string detail=rhs26_query.area1Param;
string ma=rhs26_query.maParam;
string code=rhs26_query.codeParam;

SqlConnection sqlConnStr=new SqlConnection("server=192.168.1.98;database=tsales;uid=tsales_dba;password=ctoppy;Timeout=9600");
string s_sql = "exec wwwsales_image1_new1 '"+type+"','"+detail+"','"+brn+"','"+sea+"','"+group+"','"+dfrom1+"','"+efrom1+"','"+flag+"','"+bps+"','"+eps+"','"+ma+"'";
//Response.Write(s_sql);
//Response.End();
//SqlDataAdapter dataAdapter = new SqlDataAdapter (s_sql,sqlConnStr);

SqlDataAdapter dataAdapter = new SqlDataAdapter (s_sql,sqlConnStr);
DataSet1 dataSet = new DataSet1();

dataAdapter.SelectCommand.CommandTimeout=9600;
//dataAdapter.UpdateCommand.CommandTimeout=9600;
//dataAdapter.DeleteCommand.CommandTimeout=9600;

// 连接到数据库、从数据库中获取数据然后断开数据库连接
dataAdapter.Fill (dataSet,"wwwsales_image1;1");
if(dataSet.Tables["wwwsales_image1;1"].Rows.Count==0)
{
Response.Write("<script>alert('对不起,由于系统不稳定,请稍后再试!');window.close();</script>");
Response.End();
}
ReportClass OPT1 =new ReportClass();
try
{
if (code=="简体显示(GB2312)")
{
optgb.SetDataSource(dataSet);
OPT1 = optgb;
}
else
{
optbig.SetDataSource(dataSet);
OPT1 = optbig;
}
}
catch(Exception e1)
{
Response.Write(e1.Message);
Response.End();
}
ExportOptions R_option=new ExportOptions();
R_option = OPT1.ExportOptions;
R_option.ExportDestinationType =ExportDestinationType.DiskFile;
R_option.ExportFormatType =ExportFormatType.PortableDocFormat;
R_option.ExportDestinationType =ExportDestinationType.DiskFile;
DiskFileDestinationOptions diskopts=new DiskFileDestinationOptions();
string pdfname="rhs26_"+DateTime.Now.ToShortDateString()+"_"+DateTime.Now.ToLongTimeString().Replace(":","-")+"_"+DateTime.Now.Millisecond.ToString()+".pdf";
diskopts.DiskFileName =Server.MapPath("pdfdata/"+pdfname);
R_option.DestinationOptions = diskopts;
ParameterValues paramValues=new ParameterValues();
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
discreteVal.Value=type;
paramValues.Add(discreteVal);
//设置第二个参数字段的名字及值,paramField及discreteVal变量
//被设置为新置,这样,以前的设置就不会被覆盖,第三、第四,...,
//以此类推
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=detail;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=brn;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=sea;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=group;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value =dfrom1;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=efrom1;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=flag;
paramValues.Add(discreteVal);

//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=bps;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=eps;
paramValues.Add(discreteVal);
//
discreteVal=new ParameterDiscreteValue();
discreteVal.Value=ma;
paramValues.Add(discreteVal);
discreteVal.Kind =DiscreteOrRangeKind.DiscreteValue;
ParameterValues paramValue=new ParameterValues();
for(int i=0;i<=paramValues.Count-1;i++)
{
paramValue.Clear();
paramValue.Add(paramValues[i]);
OPT1.DataDefinition.ParameterFields[i].ApplyCurrentValues(paramValue);

}
OPT1.Export();
//以下是释放资源
dataSet.Dispose();
dataAdapter.Dispose();
OPT1.Dispose();
sqlConnStr.Close();
Response.Redirect("pdfreader.asp?pdfname="+pdfname);
}
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion
}
}
...全文
21 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
asp_badboy 2002-12-22
  • 打赏
  • 举报
回复
设了成9600啊,不够吗???
龙腾九霄 2002-12-20
  • 打赏
  • 举报
回复
enlarge the connection timeout value..

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧