C# で SQL データベースからデータを取得しようとすると、次の 2 つの例外が生成されます。
System.Data.SqlClient.SqlException: トランザクション (プロセス ID 97) が別のプロセスのロック リソースでデッドロックされ、デッドロックの犠牲者として選択されました。
また
System.Data.SqlClient.SqlException: トランザクション (プロセス ID 62) が別のプロセスのロック リソースでデッドロックされ、デッドロックの犠牲者として選択されました。
また
System.Data.SqlClient.SqlException: トランザクション (プロセス ID 54) が別のプロセスのロック リソースでデッドロックされ、デッドロックの犠牲者として選択されました。トランザクションを再実行します。
これはコードです:
using (SqlConnection con = new SqlConnection(datasource))
{
SqlCommand cmd = new SqlCommand("Select * from MyTable Where ID='1' ", con);
cmd.CommandTimeout = 300;
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataSet ds = new DataSet();
adapter.Fill(ds);
con.Close();
return ds.Tables[0];
}
これらは毎回起こりました。
これらをどのように解決できるかについてのアイデアはありますか?