1. ホーム
  2. c#

[解決済み] SqlConnectionのタイムアウトを変更する

2023-04-14 10:14:35

質問

私は、デフォルトの SqlConnection のタイムアウトが 15 秒であることを示すエラーが発生します。

プロパティまたはインデクサは読み取り専用であるため、割り当てることができません。

これを回避する方法はありますか?

using (SqlConnection connection = new SqlConnection(Database.EstimatorConnection))
{
   connection.Open();

   using (SqlCommand command = connection.CreateCommand())
   {
       command.CommandType = CommandType.StoredProcedure;
       connection.ConnectionTimeout = 180; // This is not working 
       command.CommandText = "sproc_StoreData";
       command.Parameters.AddWithValue("@TaskPlanID", order.Projects[0].TaskPlanID);
       command.Parameters.AddWithValue("@AsOfDate", order.IncurDate);

       command.ExecuteNonQuery();
    }
}

どのように解決するのですか?

特定のクエリに対してタイムアウトを設けたい場合、CommandTimeoutが有効です。

その使い方は

command.CommandTimeout = 60; //The time in seconds to wait for the command to execute. The default is 30 seconds.