मुझे कोई समस्या है, जिसे मैं हल नहीं कर सकता। मैं बाहरी सर्वर का उपयोग करने के लिए SQL सर्वर 2005, सी # सीएलआर का उपयोग कर रहा हूं। समस्या है पैरामीटर की लंबाई में। मैं समारोह पैरामीटर प्रकार varchar(max)
के रूप में उपयोग करने के लिए की जरूरत है। string
, SqlSring
सी # कोड में मैं उपयोग करते हैं, मैं T-SQL प्रकार varchar(max)
, nvarchar(4000)
का सिर्फ varchar(4000)
उपयोग नहीं कर सकते। मैं कहता हूँ की जरूरत है, कि हो सकता है परिस्थितियों, जब मुझे 4000 प्रतीकों का अधिक उपयोग करने की आवश्यकता है, तो मुझे पता होना चाहिए कि varchar(max)
के लिए मुझे किस सी # प्रकार का उपयोग करने की आवश्यकता है।टी-एसक्यूएल (वर्कर (अधिकतम) बनाम सीएलआर (स्ट्रिंग, एसक्लस्ट्रिंग, एसक्लचर्स)?
मैंने बहुत से लेख पढ़े हैं, और उनमें से कई कहते हैं, इसके लिए मैं कर सकता हूं SqlChars
का उपयोग करें। लेकिन! मेरे पास तारों के साथ जोड़-विमर्श है। मेरे साथ कार्य कैसे हो सकता है string
या SqlString
और फिर SqlChars
में कनवर्ट करें? (यह संभव है SqlChars.ToString()
या SqlChars.ToSqlString()
)।
मुझे इसके लिए कोई सी # कोड नहीं मिला।
एक 'varchar (max)' स्ट्रिंग है कि इसकी अधिकतम क्षमता उपयोग कर रहा है एक CLR स्ट्रिंग में लोड करने योग्य नहीं होगा, चूंकि यह पता स्थान समाप्त कर देगा। क्या आप इन स्ट्रिंग्स के खिलाफ क्या क्रियाएं करना चाहते हैं, इसके बारे में अधिक स्पष्ट हो सकते हैं? –
मैं किसी भी एसक्यूएल प्रकार को वर्चर में परिवर्तित करता हूं और यह मान बाहरी डीएलएल में भेजता हूं। इसके अलावा, इसके साथ कुशलतापूर्वक करें और SQL सर्वर पर वापस आएं। अब मैं एसक्यूएल/वीचर (4000) और सी #/स्ट्रिंग का उपयोग करता हूं। मुझे 4000 से अधिक प्रतीकों की आवश्यकता है। –
@Damien_The_Unbeliever: मैं इंप्रेशन के तहत था कि SQL सर्वर के 'वर्कर (अधिकतम)' के साथ-साथ एक .NET 'string' उदाहरण आकार में 2 जीबी तक हो सकता है .... –