Có sự khác biệt nào giữa SqlCommand.CommandTimeout
và SqlConnection.ConnectionTimeout
trong .NET không?Sự khác nhau giữa SqlCommand.CommandTimeout và SqlConnection.ConnectionTimeout là gì?
Trả lời
Có. CommandTimeout
là thời gian một lệnh duy nhất có thể thực hiện để hoàn thành. ConnectionTimeout
là mất bao lâu để thiết lập kết nối với máy chủ để bắt đầu. Ví dụ: bạn có thể đang thực hiện các truy vấn tương đối dài - hoàn toàn ổn định để hoàn thành 10 phút, nhưng nếu mất 10 phút để kết nối bắt đầu, bạn sẽ biết rằng sai.
Vì tò mò: Vì thời gian chờ mặc định là 30 giây, điều gì xảy ra nếu tôi đặt CommandTimeout thành 60 giây nhưng không thay đổi ConnectionTimeout từ mặc định? – flipdoubt
Ý của bạn là gì? Hoặc bạn đang thiết lập CommandTimeout hoặc bạn không ... –
Vì lợi ích của đối số, giả sử tôi có một **! & # Q @? truy vấn mất 32 giây để chạy. Nếu tôi đặt SqlCommand.CommandTimeout = 40 nhưng để lại SqlConnection.ConnectionTimeout tại mặc định của nó (có lẽ là 30), sẽ hết thời gian kết nối? Nói cách khác, tôi có phải đặt cả hai thuộc tính? Có vẻ như bạn đang nói "không", nhưng tôi phải quên thuộc tính SqlConnection.ConnectionTimeout và bắt đầu đặt câu hỏi liệu việc đặt CommandTimeout có làm mọi thứ tôi cần đến không. – flipdoubt
SqlCommand.CommandTimeout = giới hạn thời gian chờ cho truy vấn SQL của bạn. Có nghĩa là, thời gian truy vấn (ví dụ: SELECT, UPDATE) có thể mất bao lâu để thực thi nó. Nếu nó vượt quá SqlCommand.CommandTimeout, sau đó nó dừng thực hiện. Một lỗi thời gian chờ lệnh sẽ xảy ra.
SqlConnection.ConnectionTimeout = giới hạn thời gian chờ cho kết nối của bạn. Có nghĩa là, bao nhiêu thời gian đối tượng kết nối của bạn có thể thử kết nối. Nếu nó vượt quá thời gian quy định, nó sẽ ngừng kết nối. Lỗi kết nối thời gian chờ sẽ xảy ra.
ConnectionTimeout
chỉ định thời lượng chờ trước khi hết thời gian khi cố gắng mở an SqlConnection
. Nó có liên quan đến lệnh Connection.Open()
.
khi
SqlCommand.CommandTimeout
quy định thời gian cho một SqlCommand để đợi trước khi thời gian ra ngoài. Điều này xảy ra sau khi kết nối đã được mở và một trong các phương thức ExecuteXXX
đã được gọi trên đối tượng Command.
select @@LOCK_TIMEOUT //get the TIMEOUT,default is -1
set LOCK_TIMEOUT = 600//set TIMEOUT with ms
Đây là loại thứ ba của thời gian chờ. Không một trong hai chủ sở hữu chủ đề yêu cầu. Và không trả lời câu hỏi. Tôi sẽ không -1 nó, bởi vì tôi không biết câu hỏi trước khi chỉnh sửa là gì. –
Thông tin cá
Giá trị mặc định của CommandTimeout
là 30 giây. Không (0) cho biết không có giới hạn. Bạn chỉ có thể đặt giá trị CommandTimeout
trong mã hóa.
Giá trị mặc định là ConnectiontTimeout
là 15 giây. Không (0) cũng không có giới hạn. Giá trị nhỏ hơn 0 (giá trị âm) sẽ nhận được ArgumentException
. Bạn có thể đặt giá trị ConnectionTimeout
trong cả tệp Mã hóa và Cấu hình.
- 1. Sự khác nhau giữa WPF và WinForms là gì?
- 2. Sự khác nhau giữa JavaScript và Java là gì?
- 3. Sự khác nhau giữa ODBC và OleDB là gì?
- 4. Sự khác nhau giữa SGML và XML là gì?
- 5. Sự khác nhau giữa DefaultSelenium và RemoteWebDriver là gì?
- 6. Sự khác nhau giữa RMI và Corba là gì?
- 7. Sự khác nhau giữa scgi và wsgi là gì?
- 8. Sự khác nhau giữa wsHttpBinding và ws2007HttpBinding là gì?
- 9. Sự khác nhau giữa Pingback và Trackback là gì?
- 10. Trong Python, sự khác nhau giữa ".append()" và "+ = []" là gì?
- 11. Sự khác nhau giữa AxInterop và Interop là gì?
- 12. Sự khác nhau giữa CellClick và CellMouseClick là gì?
- 13. Sự khác nhau giữa .bashrc, .bash_profile và .environment là gì?
- 14. Sự khác nhau giữa JSP và Facelets là gì?
- 15. Sự khác nhau giữa hg quên và hg là gì?
- 16. Sự khác nhau giữa GDI và GDI + là gì?
- 17. Sự khác nhau giữa đá quý và plugin là gì?
- 18. Sự khác nhau giữa metaClass.methods và metaClass.metaMethods là gì?
- 19. Sự khác nhau giữa kEND và $ end là gì?
- 20. Sự khác nhau giữa java và jsp là gì?
- 21. Sự khác nhau giữa Application.Run() và Form.ShowDialog() là gì?
- 22. Sự khác nhau giữa -0 và 0 là gì?
- 23. Sự khác nhau giữa HTTP 1.0 và 1.1 là gì?
- 24. Sự khác nhau giữa java.lang.Math và java.lang.StrictMath là gì?
- 25. Sự khác nhau giữa " " và "" là gì?
- 26. Sự khác nhau giữa Spring BeanFactoryAware và ApplicationContextAware là gì?
- 27. sự khác nhau giữa SCRIPT_FILENAME và SCRIPT_NAME là gì?
- 28. Sự khác nhau giữa JSP và JSTL là gì?
- 29. Sự khác nhau giữa JSF và Facelets là gì?
- 30. Sự khác nhau giữa javax.inject.Inject và com.google.inject.Inject là gì?
có dành riêng cho MS SQL Server không? – ympostor