sql server - How to PRINT a message from SQL CLR function? -


क्या

  प्रिंट 'हैलो वर्ल्ड' के बराबर है  

जिसे CLR (C #) कोड से कहा जा सकता है?

मैं अपने फ़ंक्शन में कुछ डीबग जानकारी को आउटपुट करने का प्रयास कर रहा / रही हूं। मैं वी.एस. डीबगर नहीं चला सकता क्योंकि यह एक दूरस्थ सर्वर है।

धन्यवाद!

सर्ग्वेई,

इसका जवाब यह है कि आप

प्रिंट 'हैलो वर्ल्ड'

के समतुल्य नहीं कर सकते एक [SqlFunction ()] । आप इसे [SqlProcedure ()] से

SqlContext.Pipe.Send ("हैलो वर्ल्ड") से कर सकते हैं

< पी> यह टी-एसक्यूएल के अनुरूप है, जहां आपको एक फ़ंक्शन के अंदर एक प्रिंट छड़ी करते हैं, तो आपको त्रुटि "एक साइड-इफेक्टिंग ऑपरेटर का अमान्य उपयोग 'प्रिंट में मिलती है। लेकिन अगर आप इसे किसी संग्रहीत कार्यविधि से नहीं करते हैं।

मैं सुझाव देता हूं कि काम करने के लिए:

  1. अपने कोड से debug.print का उपयोग करें, और संलग्न करें SQL सर्वर पर एक डिबगर (मुझे पता है कि यह आपके लिए काम नहीं करता है जैसा आपने समझाया था)।
  2. संदेशों को एक वैश्विक चर में सहेजें, उदाहरण के लिए सूची & lt; string & gt; संदेश , और एक अन्य टेबल-मूल्य फ़ंक्शन लिखो जो कि संदेश की सामग्री देता है बेशक, संदेश तक पहुंच को सिंक्रनाइज़ करने की आवश्यकता है क्योंकि कई धागे एक ही समय में इसे एक्सेस करने का प्रयास कर सकते हैं।
  3. अपना कोड एक [SqlProcedure () ]
  4. एक पैरामीटर 'डीबग' जोड़ें, जब कि = 1 फ़ंक्शन लौटे हुए तालिका के हिस्से के रूप में संदेश वापस करेगा (संभालना होगा कि पाठ वाला कॉलम है ..)
  5. < / Ol>

Comments