SSIS Composant de Script: Microsoft.SqlServer.Dts.Pipeline.BlobColumn

Aux prises avec un Composant visual C#. Ce que j'essaie de faire est de prendre une colonne qui est ntext dans ma source d'entrée qui est délimitée par des tuyaux, et puis écrire la matrice dans un fichier texte. Quand je lance mon composant ma sortie ressemble à ceci:

DealerID,StockNumber,Option
161552,P1427,Microsoft.SqlServer.Dts.Pipeline.BlobColumn

Ive été de travailler avec des GetBlobData méthode et im aux prises avec elle. Toute aide sera grandement appréciée! Voici le script complet:

public override void Input0_ProcessInputRow(Input0Buffer Row)
{
    string vehicleoptionsdelimited = Row.Options.ToString();
    //string OptionBlob = Row.Options.GetBlobData(int ;
    //string vehicleoptionsdelimited = System.Text.Encoding.GetEncoding(Row.Options.ColumnInfo.CodePage).GetChars(OptionBlob);
    string[] option = vehicleoptionsdelimited.Split('|');
    string path = @"C:\Users\User\Desktop\Local_DS_CSVs\";

    string[] headerline =
    {
        "DealerID" + "," + "StockNumber" + "," + "Option"
    };

    System.IO.File.WriteAllLines(path + "OptionInput.txt", headerline);

    using (System.IO.StreamWriter file = new System.IO.StreamWriter(path + "OptionInput.txt", true))
    {
        foreach (string s in option)
        {
            file.WriteLine(Row.DealerID.ToString() + "," + Row.StockNumber.ToString() + "," + s);
        }
    }
Aussi je voulais ajouter que j'ai écrit cette même Classe dans une application console en C# à l'aide de constantes au lieu de mon SSIS vars, et il a travaillé beaucoup. Ses tout d'étouffement sur cet objet blob. Comme vous pouvez le voir dans mon code commenté j'ai essayé, mais je ne pourrais pas obtenir ma conversion à partir de blob à la chaîne pour fonctionner correctement.
Pourriez-vous à l'aide du débogueur de nous dire la valeur de Row.Options.ToString() ?

OriginalL'auteur Zach | 2011-01-27