2011-01-24 10 views
7

से SQL क्वेरी निष्पादन रोकें। मैं '.net' कोड से एक संग्रहित प्रक्रिया निष्पादित कर रहा हूं। चूंकि बहुत सारे डेटा हैं, इसलिए इसे निष्पादित करने में बहुत अधिक समय लग रहा है। क्या सी # कोड से इस निष्पादन को रोकने का कोई तरीका है?.net कोड

दूसरे शब्दों में, यदि हम डेटाबेस से क्वेरी निष्पादित करते हैं, तो इसके निष्पादन को रोकने का एक विकल्प है लेकिन कोड में यह संभव है?

+0

क्या आप अपनी संग्रहीत प्रक्रिया में फ़िल्टर जोड़ सकते हैं? एसक्यूएल सर्वोत्तम प्रथाओं के बारे में और अधिक पढ़ने की कोशिश करें .. – Crimsonland

उत्तर

14

हाँ sqlcommand.cancel अपने दोस्त http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.cancel.aspx

+0

स्पष्ट रूप से कमांड को बंद करना 100% समय पर काम करने की अधिक संभावना है: http://stackoverflow.com/questions/889102/how-to-cancel-a-long-running- डेटाबेस आपरेशन/3699391 # 3699391 – user423430

8

हां, आप SqlCommand.Cancel का उपयोग कर क्वेरी को रद्द कर सकते हैं। हालांकि, आदेश किसी अन्य थ्रेड में चलाना आवश्यक है (अन्यथा आदेश समाप्त होने के बाद ही रद्द किया जाएगा)।

यदि आप निर्दिष्ट समय सीमा पर चलते हैं तो आप इस क्वेरी को रद्द करना चाहते हैं तो आप CommandTimeout भी निर्दिष्ट कर सकते हैं।

1

है आप myCommand.Cancel() कर सकते हैं, और यह सबसे अच्छा काम करेंगे के रूप में भी मैं अतीत में चेहरा समान मुद्दा है, और myCommand.Cancel() का उपयोग कर मैं अपने मुद्दे को हल कर लिया है की है। :) :)

संबंधित मुद्दे