2010-01-05 6 views
8

String में SSIS Script Component में मैं कैसे परिवर्तित करूं?एसएसआईएस स्क्रिप्ट घटक में ब्लॉब कॉलम टू स्ट्रिंग को कनवर्ट करना

उदाहरण के लिए:

Source Column : OrganisationProviderID NVARCHAR(MAX) 

Destination Column : OrganisationProviderID VARCHAR(20) 

इस SSIS Script Component में प्राप्त किया जा सकता कैसे?

उत्तर

0

आप इसके लिए स्क्रिप्ट घटक का उपयोग क्यों कर रहे हैं? साथ ही, मुझे यकीन नहीं है कि एक NVARCHAR (MAX) वास्तव में एक BLOB कॉलम के रूप में योग्यता प्राप्त करता है।

select left(OrganisationProviderID,20) as OrganisationProviderID 
from src 

फिर इस लिंक:

आप एक डाटा प्रवाह कार्य के हिस्से के रूप में यह करना चाहते हैं, पर अपने डेटा स्रोत, डेटा का उपयोग मोड 'एसक्यूएल कमान' तो निम्न आदेश पाठ का उपयोग करने के लिए सेट आपके गंतव्य घटक के लिए।

24

यहाँ समारोह लघु उद्योगों स्क्रिप्ट घटक में मैं स्ट्रिंग के लिए BlobColumn कन्वर्ट करने के लिए इस्तेमाल करते हैं

string BlobColumnToString(BlobColumn blobColumn) 
{ 
    if (blobColumn.IsNull) 
     return string.Empty; 

    var blobLength = Convert.ToInt32(blobColumn.Length); 
    var blobData = blobColumn.GetBlobData(0, blobLength); 
    var stringData = System.Text.Encoding.Unicode.GetString(blobData); 

    return stringData; 
} 
+0

मैं उत्सुक हूँ, वहाँ स्पष्ट रूप से() GetBlobData को लंबाई में पास करने का कोई लाभ है? – JasonHorner

+0

@ जेसनहोर्नर 'बाइट ऐरे लम्बाई' को पारित करने के लिए एक अधिभार नहीं है, संभवतः उन्होंने ऐसा क्यों किया – user1

+1

यह समाधान मेरे लिए काम करता था जब मैंने var stringData = Encoding.Unicode.GetString (blobData) बदल दिया; var stringData = Encoding.Default.GetString (blobData) के लिए; – Khaneliman

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