2013-01-22 64 views
0

我有使用實體框架和ADO.net的MVC2應用程序。在ADO.net SqlCommand連接中,它會得到:爲什麼在CommandTimeout中更改不起作用

'/'應用程序中的服務器錯誤。 超時已過期。操作完成之前超時的時間或服務器沒有響應。

的代碼,

using (SqlCommand command = conn.CreateCommand()) 
{ 
    var commandText = "exec 'stored producedure name'"; 
    command.CommandTimeout = 240; 

    SqlDataAdapter da = new SqlDataAdapter(commandText, conn); 
    DataSet ds = new DataSet(); 
    da.Fill(ds, "Table"); 
} 

該存儲的過程大約需要3分鐘來完成。所以我將CommandTimeout從默認的30秒改爲240s(4分鐘)。但是,運行約30秒後仍會出現「超時」錯誤。它看起來看起來CommandTimeout不起作用。代碼在VS 2010中運行。如何更改命令超時?

回答

1

您在此設置的超時時間是您使用的驅動程序的超時時間。也許你的SQL服務器本身有一個超時設置。打開SQL管理工作室,連接到SQL服務器,然後右鍵單擊屬性以在選項下面選中,如果在那裏設置另一個超時。將其設置爲您的首選值。

相關問題