2012-01-16 29 views
0

我是這個網站的新手,但在這裏找到信息非常有幫助。我有一個問題,我將結果從sql 8 db返回到用C#編寫的網站上的網格控件。結果非常大,我說的是800K行!直到幾個月前它工作得很好。我不確定管理員可能用我的內存資源做了什麼。所以現在我已經把這份報告限制在只有三個月的數據上,但即使如此,大約需要20分鐘(在工作時)來檢索任何數據。我也可以選擇導出數據,所以我不能使用數據閱讀器來傳輸數據。在臨時環境中一切正常,但在生產中它沒有。在這一點上,我已經沒有想法。 dba說我的一個數據庫問題是一個應用問題。以下是代碼示例:導出「datareader」數據

// 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(); 
+1

當生活給你一個檸檬..火的DBA! – JonH 2012-01-16 18:52:09

+0

您需要向我們展示存儲過程。 – JonH 2012-01-16 18:52:21

+0

您是否嘗試過配置您的應用以查看在哪裏花費了什麼時間?您只需添加少量日誌記錄即可購買。 – 2012-01-16 18:52:47

回答

0

您可能會在數據庫或網站中超時。絕對做一些性能調優,也許看一個界面,一次只返回一小部分行。

Excel工作表上是否還有一個65k行限制?