导出“;数据读取器”;数据

本文关键字:数据 读取 导出 | 更新日期: 2023-09-27 18:20:23

我是这个网站的新手,但发现这里的信息非常有用。我有一个问题,我将sql8db的结果返回到用C#编写的网站上的网格控件。结果非常大,我说的是800K行!直到几个月前它还运行良好。我不确定管理员可能对我的内存资源做了什么。因此,现在我将报告限制为只有三个月的数据,但即使如此,检索任何数据也需要大约20分钟(工作时)。我还可以选择导出数据,这样我就不能使用数据读取器来流式传输数据。在暂存环境中,一切都可以正常工作,但在生产环境中则不然。在这一点上我无计可施。dba说这是一个应用程序问题,我说这是数据库问题。以下是代码示例:

// Get Data
SqlConnection con = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter da;
DataSet ds = new DataSet();
con.ConnectionString = "MyConnectionString";
con.Open();
cmd.Connection = con;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "MyStoredProc";
da = new SqlDataAdapter(cmd);
da.Fill(ds);
con.Close();
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
DataGrid dg = new DataGrid();
dg.DataSource = ds.Tables[0];
dg.DataBind();
dg.RenderControl(htw);
Response.ClearContent();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment;filename=Report.xls");
Response.Write(sw.ToString());
Response.End();

导出“;数据读取器”;数据

您可能在数据库或网站中超时。一定要做一些性能调优,也许可以研究一个一次只返回一小部分行的接口。

Excel表上不是也有65k行的限制吗?