0
mssqlで実行中のストアドプロシージャが正常に実行されていました。 3日前、コード内で同じ手順を実行すると、Timeoutの有効期限が切れました。基になるテーブルに実行中のプロセスがあるかどうかを確認しようとしましたが、何も存在しないようです。デッドロックの状況をチェックして、デッドロック状況はありません。誰もこの解決策を得るために次に何をするべきかを提案できますか?私は管理スタジオでrptPaymentsDateOptionsストアドプロシージャを実行した場合C#メソッドでタイムアウトが終了しました
ここでコード
public DataSet rptPaymentsByDateOptions(DateTime dateFrom, DateTime dateTo, string level, string sessionID, string degreeID, string programID, string jrnalSrce)
{
DataSet ds = new DataSet();
Database db = DatabaseFactory.CreateDatabase();
DbCommand cmdSem = db.GetStoredProcCommand("[iSchool].[rptCurrentSem]");
DbCommand cmd = db.GetStoredProcCommand("[iFinance].[rptPaymentsByDateOptions]");
db.AddInParameter(cmd, "DateFrom", DbType.Date, dateFrom);
db.AddInParameter(cmd, "DateTo", DbType.Date, dateTo);
db.AddInParameter(cmd, "Level", DbType.String, level);
db.AddInParameter(cmd, "SessionID", DbType.String, sessionID);
db.AddInParameter(cmd, "DegreeID", DbType.String, degreeID);
db.AddInParameter(cmd, "ProgramID", DbType.String, programID);
db.AddInParameter(cmd, "JrnalSrce", DbType.String, jrnalSrce);
db.LoadDataSet(cmdSem, ds, "rptCurrentSem");
db.LoadDataSet(cmd, ds, "rptPaymentsByDateOptions"); //Timeout error here
return ds;
}
だ、それが正常に実行されます。
フィードバック@ChrisBintのおかげで、データベースの切り離しと再接続がタイムアウトの問題を解決したことに気付きました。それは、それを妨害するものがあると私に思い出させる。しかし、これを再現する必要がある場合は、DbCommand.CommandTimeoutプロパティを設定します。ありがとうございました – Tonto