我有一个带有 OLEDB 源的 DFT - 带有名为描述数据类型的列的 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
)上面的代码给出错误。
从这个脚本转换中,目标是一个带有 desc 的 sql 表nvarchar(max)
。