我運行一個存儲過程,但在運行它顯示像超時已過期。操作完成或服務器之前經過的超時時間沒有響應。」
超時已過期。超時時間誤差之前完成經過操作或服務器沒有響應。
我已經把我的web配置像
<add name="SAMPLECONNECTION" connectionString="Data Source=ADMIN\SQLEXPRESS;Initial Catalog=PFGRT;Persist Security Info=True;MultipleActiveResultSets=true;User ID=sa;connect Timeout =1000000;Password=PASSWORD"
providerName="System.Data.SqlClient" />
我試着像設置connect Timeout = 0;
也,但我得到同樣的錯誤。
我該如何解決?
我的存儲過程調用的類
public DataSet adFeedBackReportFacultyWise(string SetID, string FacultyID, string SubjectID,string groupid)
{
DbUtil du = new DbUtil();
Dictionary<string, SqlParameter> cmdParameters = new Dictionary<string, SqlParameter>();
cmdParameters["SetID"] = new SqlParameter("SetID", SetID);
cmdParameters["FacultyID"] = new SqlParameter("FacultyID", FacultyID);
cmdParameters["SubjectID"] = new SqlParameter("SubjectID", SubjectID);
cmdParameters["groupid"] = new SqlParameter("groupid", groupid);
return du.ExecuteQuery("adFeedBackReportFacultyWise", cmdParameters);
}
我DButil類是
public class DbUtil
{
string connection = ConfigurationManager.ConnectionStrings["gatikkcmsConnectionString"].ConnectionString;
public SqlDataAdapter ad;
public DataTable dt = new DataTable();
SqlConnection conn;
SqlCommand cmd = new SqlCommand();
public DbUtil()
{
conn = new SqlConnection(ConfigurationManager.ConnectionStrings["gatikkcmsConnectionString"].ConnectionString);
cmd = null;
}
public SqlConnection getConnection()
{
return new SqlConnection(connection);
}
public int ExecuteCommand(string storedProcName, Dictionary<string, SqlParameter> procParameter)
{
int rc;
using (SqlConnection cn = getConnection())
{
cn.Open();
// create a SQL command to execute the stored procedure
using (SqlCommand cmd = cn.CreateCommand())
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = storedProcName;
// assign parameters passed in to the command
foreach (var procParameters in procParameter)
{
cmd.Parameters.Add(procParameters.Value);
}
rc = cmd.ExecuteNonQuery();
}
cn.Close();
}
return rc;
}
}
使用應用程序塊嗎? – Webruster
「連接超時」與「命令超時」不同。前者可以在連接字符串中設置,但後者需要以編程方式應用於正在執行的命令。也就是說,我認爲默認值是30秒 - 這個過程需要多長時間才能運行? –
增加'Connection Timeout'。默認情況下是30秒。您可以爲其分配自己的值。 – Webruster