私はこのサイトを初めて使っていますが、ここで役立つ情報を見つけることができます。私はC#で書かれたWebサイト上のグリッドコントロールにSQL 8 dbの結果を返す問題があります。結果は非常に大きいです、私は約800Kの行を話しています!それは数ヶ月前までうまくいっていました。私は管理者が自分のリソースを使って何をしているのかよく分かりません。だから今私は3ヶ月のデータだけにレポートを制限していますが、それでもデータを取得するのに(作業中に)約20分かかります。また、データをエクスポートするオプションもありますので、データ・リーダーを使用してデータをストリーミングすることはできません。ステージング環境ではすべて正常に動作しますが、実際には動作しません。私はこの時点で考えていない。 dbaは、データベースの問題を言います。コードのサンプルは次のとおりです。"dataareader"データのエクスポート
// 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();
あなたの人生があなたにレモンを与えたら... dbaを焼く! – JonH
ストアドプロシージャを表示する必要があります。 – JonH
あなたのアプリをプロファイルして、どの時間がどこに費やされたかを確認しようとしましたか?買い物をするには、ロギングステートメントを少し追加するだけです。 –