ADO.Net + C# + VSTS 2008 + ADO.Net を使用して SQL Server 2008 Enterprise に接続しています。ここで説明したほぼ同じパターン/サンプルを使用しています。ADO.Net DataReader を使用して、1 つのエントリ (行) ごとにデータを取得します。
http://msdn.microsoft.com/en-us/library/haa3afyz.aspx
私の質問は、このサンプルで SqlCommand タイムアウトを設定した場合、1 です。タイムアウトは、エントリごとのデータ全体の合計タイムアウトではなく、1 つの特定の行を取得するために最大値として使用できる時間に適用されると思いますループ?
ところで:ループつまり、
while (reader.Read())
{
Console.WriteLine("{0}\t{1}", reader.GetInt32(0),
reader.GetString(1));
}
2. このタイムアウトは、データベースからデータ エントリを取得するのにかかる時間のみが重要であり、このタイムアウトは、各エントリを処理する時間とは何の関係もありません (たとえば、タイムアウトを 20 秒に設定し、1 秒かかる場合)データベースから 1 つのデータ エントリを取得するのに 1 秒かかり、アプリケーション ロジックがデータ エントリを操作するのに 30 秒かかります。タイムアウトは発生しません)。
正しい理解?