У меня есть DFT с OLEDB Source - таблица sql с именем типа данных описания NVarchar(Max)
select max(len(description)) from tbl_Test -- returns 10,000
Редактор сценариев для преобразования
Output0Buffer.AddRow();
Output0Buffer.TransId = Row.id;
System.Text.UnicodeEncoding encoding = new System.Text.UnicodeEncoding();
// i am splitting a column here into multiple records - no issues here
byte[] bytes = Row.descr.GetBlobData(0, (int)Row.descr.Length);
string myString = encoding.GetString(bytes);
Output0Buffer.TransDescr = myString;
этот код работает нормально, если выходной столбец равен DT_WSTR
, но проблема в том, что максимальное значение здесь равно 8000
, следовательно, во время выполнения ошибка, что текст обрезается, и он действительно будет делать то, что я не хочу.
Если я даю выходной столбец в виде текстового потока DT_NTEXT
), приведенный выше код выдаст ошибку.
из этого преобразования сценария назначение - таблица sql с descr как nvarchar(max)
.