Преобразование BlobColumn в строку в SSIS компонент скрипта

как сконвертировать BlobColumn to String на SSIS Script Component.

Например:

Source Column : OrganisationProviderID NVARCHAR(MAX)

Destination Column : OrganisationProviderID VARCHAR(20)

как это может быть acheived в SSIS Script Component?

2 ответов


почему вы используете для этого компонент скрипта? Кроме того, я не уверен, что NVARCHAR(MAX) действительно квалифицируется как столбец BLOB.

Если вы хотите сделать это как часть задачи потока данных, в источнике данных установите режим доступа к данным в "SQL Command", затем используйте следующий текст команды:

select left(OrganisationProviderID,20) as OrganisationProviderID
from src

затем свяжите это с целевым компонентом.


вот функция, которую я использую для преобразования BlobColumn в строку в компонентах сценария SSIS

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;
}