1

次の状況でコマンドタイムアウトを設定するにはどうすればよいですか?明確にするために、接続文字列で接続タイムアウトを設定しましたが、必要に応じてクエリを5分間実行できるようにするため、コマンドタイムアウトも設定する必要がありますが、タイムアウトは1秒未満です。数分。

 String reportQuery = @"  complicated query returning many rows    ";

 SqlConnection ReportConnect = new SqlConnection(ConnectionString);

 ReportConnect.Open();

 DataSet tempDataset = new DataSet();

 SqlDataAdapter da = new SqlDataAdapter(reportQuery, ReportConnect);

 da.Fill(tempDataset);
4

1 に答える 1

8

SqlCommandコマンドでsetCommandTimeoutプロパティを作成し、それをデータアダプターのコンストラクターに渡すことができます。このようなもの:

String reportQuery = @"  complicated query returning many rows    ";
SqlConnection ReportConnect = new SqlConnection(ConnectionString);
ReportConnect.Open();
SqlCommand command = new SqlCommand(reportQuery, ReportConnect);
command.CommandTimeout = 300; //5 mins
DataSet tempDataset = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(command);
da.Fill(tempDataset);
于 2009-10-07T05:12:36.863 に答える