【发布时间】:2019-06-20 05:46:54
【问题描述】:
我有一个带有 OLEDB 源的 DFT - 列名为描述数据类型 NVarchar(Max) 的 sql 表
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) 上面的代码给出错误。
从这个脚本转换中,目标是一个描述为nvarchar(max) 的sql 表。
【问题讨论】:
标签: sql-server ssis etl script-component ntext