कैसे एक एक SQL CLR संग्रहीत प्रक्रिया के लिए एक sql_variant पैरामीटर जोड़ सकते हैं? System.Object का उपयोग करना काम नहीं करता है, और मुझे कोई भी विशेषता दिखाई नहीं दे रही है जिसका मैं उपयोग कर सकता हूं।कैसे एक SQL CLR संग्रहीत प्रक्रिया के लिए एक sql_variant पैरामीटर के लिए?
[Microsoft.SqlServer.Server.SqlProcedure]
public static void ClearOnePartition(
SqlString aString
, /* I want this to be a sql_variant */ object aVariant
)
{
//do stuff here
}
मैं तुम्हें यकीन नहीं है:
आप वस्तु में मूल्य के अंतर्निहित प्रकार जानना चाहते हैं, का उपयोग
GetType()
विधि (यह सबसे अधिक संभावना नहींSQL_VARIANT
/object
होने जा रहा है) कर सकते हैं। मुझे लगता है कि क्लाइंट एपीआई अलग-अलग अनुवाद कैसे करते हैं, इसके बारे में बहुत सारे संदर्भ हैं। nvarchar या बाइनरी कॉलम। क्या यह एक sql_variant होना चाहिए? –@Damied_The_Unbeliever: हाँ, यह एक sql_variant होने की जरूरत है। मैं किसी दिए गए विभाजन के लिए सीमा के मूल्य में पारित करने की कोशिश कर रहा हूं, जो एसक्यूएल में एक sql_variant प्रकार के रूप में मौजूद है। – Burg
विभाजन के लिए सीमा मान नहीं हैं, सख्ती से sql_variants (उदाहरण के लिए, वे टाइप टेक्स्ट का मान स्वीकार नहीं कर सकते हैं)। मुझे नहीं लगता कि वे वास्तव में एसक्यूएल में एक अच्छी तरह से परिभाषित प्रकार है। विभाजन कार्यों के साथ काम करने के लिए एसएमओ कार्यों में देख रहे हैं, उन्हें ऑब्जेक्ट के रूप में माना जाता है, इसलिए मुझे विश्वास नहीं है कि उनके लिए एक बेहतर .NET प्रकार है। –