2010-07-23 14 views
5

क्या मैं किसी विशेष डेटाबेस के लिए डिफ़ॉल्ट रूप से NOCOUNT को बंद कर सकता हूं?डेटाबेस स्तर पर NOCOUNT बंद करें?

मुझे एनएचबेर्नेट के लिए इसकी आवश्यकता है (यदि यह चालू है, तो मुझे सहेजते समय अपवाद मिलते हैं)। मैं सेटिंग को पूरे सर्वर (जहां यह चालू है) के लिए इसे अक्षम करने के लिए देख सकता है, लेकिन हम सर्वर को अन्य डेटाबेस के साथ साझा कर रहे हैं। क्या कोई तरीका है कि मैं इसे अपने डेटाबेस के लिए बंद कर सकता हूं?

या क्या एनएचबीर्नेट सेटिंग है जो मेरे लिए यह करेगी? (मैंने अब इसके लिए एक कस्टम ड्राइवरकनेक्शनप्रोवाइडर के साथ काम किया है जो कमांड को जारी करता है जब भी यह कनेक्शन बनाता है। ठीक काम करता है, लेकिन थोड़ा अजीब लगता है)

मैं SQL Server 2000, btw का उपयोग कर रहा हूं।

धन्यवाद मैट

उत्तर

0

आप राष्ट्रीय राजमार्ग IInterceptor इंटरफेस के OnPrepareStatement विधि इस्तेमाल कर सकते हैं एनएच उत्पन्न SQL कथन को संशोधित करने के शामिल करने के लिए एक अपने आवेदन द्वारा जारी किए गए हर एसक्यूएल क्वेरी के शीर्ष पर बयान "बंद nocount सेट"।

Some bloke called Dave ऐसा करने के लिए "बुराई" मानता है, लेकिन यह आपका जवाब हो सकता है। यह लिंक आपको अपने ब्लॉग पर पृष्ठ पर ले जाता है जिसमें यह वर्णन किया गया है कि इसे कैसे कार्यान्वित किया जाए।

ऐसा करने के बारे में मेरा आरक्षण यह है कि आप अपने सर्वर पर एक डेटाबेस सर्वर के खिलाफ चल रहे निर्भरता को बनाएंगे जो "सेट nocount off" को समझता है - दूसरे शब्दों में, आप कॉन्फ़िगर की गई बोली को अनदेखा कर देंगे।

-1

सेट एनओसीटीटी डीबी स्तर पर सेट है। एक दूसरे के बाद अलग-अलग प्रश्नों का निष्पादन करें। यह बेहतर विचार देता है।

SET NOCOUNT ON 
Update Users set FirstName='XXXX' where Id='YYYY'; 

*** कमान (ओं) को सफलतापूर्वक पूरा किया।

SET NOCOUNT OFF 
Update Users set FirstName='XXXX' where Id='YYYY'; 

*** (1 पंक्ति (यों) प्रभावित)

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