0
我在運行正常的mssql上有一個已經運行的存儲過程。 3天前,在代碼中運行相同的過程開始給我Timeout過期。試圖檢查底層表上是否有任何正在運行的進程,但似乎沒有。檢查了死鎖情況,但沒有。任何人都可以建議下一步做什麼來解決這個問題?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;
}
如果我執行存儲在Management Studio程序rptPaymentsDateOptions,它成功運行。
感謝@ChrisBint的反饋,我意識到分離和重新連接數據庫解決了超時問題。這讓我覺得有些東西阻止了它。然而,我會設置DbCommand.CommandTimeout屬性,如果這應該重新發生。謝謝 – Tonto