2009-07-29 14 views

Odpowiedz

29

Nie. To polecenie, a nie połączenie.

Edycja maja 2013

Zgodnie z wnioskiem w komentarzu:

Jeszcze kilka uwag na temat commands and execution time outs in SQL Server (DBA.SE).I jeszcze więcej rzeczy: What happens to an uncommitted transaction when the connection is closed?

+0

Przydatne byłoby łącze do dowolnej dokumentacji, która je zawiera. –

+1

@RichardEv: done – gbn

3

Limit czasu połączenia można ustawić tylko na łańcuchu połączenia, limit czasu dla zapytania zwykle znajduje się w komendzie oczekiwania. (Zakładając, że mówimy tutaj .net, nie mogę tak naprawdę powiedzieć z twojego pytania).

Limit czasu polecenia nie ma jednak wpływu, gdy polecenie jest wykonywane względem połączenia kontekstowego (połączenie SqlConnection otwarte z "connection context = true" w ciągu połączenia).

+0

dzięki chłopaki, to ma sens casue ciąg połączenia może być używany do innych queris –

1

Tylko z kodem:

namespace xxx.DsXxxTableAdapters { 
 
    partial class ZzzTableAdapter 
 
    { 
 
     public void SetTimeout(int timeout) 
 
     { 
 
      if (this.Adapter.DeleteCommand != null) { this.Adapter.DeleteCommand.CommandTimeout = timeout; } 
 
      if (this.Adapter.InsertCommand != null) { this.Adapter.InsertCommand.CommandTimeout = timeout; } 
 
      if (this.Adapter.UpdateCommand != null) { this.Adapter.UpdateCommand.CommandTimeout = timeout; } 
 
      if (this._commandCollection == null) { this.InitCommandCollection(); } 
 
      if (this._commandCollection != null) 
 
      { 
 
       foreach (System.Data.SqlClient.SqlCommand item in this._commandCollection) 
 
       { 
 
        if (item != null) 
 
        { item.CommandTimeout = timeout; } 
 
       } 
 
      } 
 
     } 
 
    } 
 
    
 
    //.... 
 
    
 
}

Powiązane problemy