我有存儲過程,當從SSMS調用併成功執行時需要大約10秒的時間運行。該過程以int
作爲參數。從代碼調用的存儲過程超時,從SSMS執行正常
當代碼調用同一個存儲過程:
using (var connection = new SqlConnection(ConnectionStringName))
{
using (var cmd = new SqlCommand("ProcedureName", connection))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@itemId", itemId));
cmd.CommandTimeout = 150;
connection.Open();
cmd.ExecuteNonQuery();
}
}
我得到的錯誤是:
System.Data.SqlClient.SqlException (0x80131904): Timeout expired.
The timeout period elapsed prior to completion of the operation or the server is not responding. --->
System.ComponentModel.Win32Exception (0x80004005): The wait operation timed out
傳遞的參數是有效的,並呼籲從SSMS與存儲過程時它正確執行的參數值相同。
從SSMS執行需要多長時間? – rikitikitik
大約10秒鐘。 –
@ shA.t刪除該行,我得到相同的異常,只有更快。 –