[英]Why does Sql Server connection TimesOut
我正在為我的Sql數據庫使用企業庫數據。 我正在使用3.1版。 我正在使用此代碼執行長時間運行的sp(大約1分鍾)。
Dim db As SqlDatabase = New SqlDatabase(System.Web.Configuration.WebConfigurationManager.ConnectionStrings("portalConnection").ConnectionString)
db.ExecuteNonQuery("spnametoexecute")
連接字符串如下所示
<add name="portalConnection" connectionString="Server=IP;Database=DBName;uid=User;pwd=PWD; Timeout=180;"
providerName="System.Data.SqlClient" />
問題是我總是會收到超時異常。 這是為什么 ?
System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
好吧,有幾種可能性:
第二,通常是問題所在。 查看阻塞等(sp_who / sp_who2),看是否有任何阻塞。 並使用跟蹤/探查器調查第一個選項。
我認為您設置了錯誤的服務器ip或未對服務器進行配置。 檢查服務器配置中是否允許管道和tcp / ip。 很多時候會忘記。
您是否總是超時,或者僅在長時間運行的查詢執行時才超時? 手動運行時-即在Management Studio中,需要多長時間? 您的連接設置為在3分鍾內超時,這是非常長的時間。
您需要在幾個級別上進行攻擊:
我不太熟悉企業數據庫,但是我想看看SqlDatabase對象是否具有timeout屬性。 嘗試在代碼中設置超時並測試行為。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.