【发布时间】:2019-08-06 17:26:23
【问题描述】:
我正在使用 SSIS 2012。我有一个带有 DT_TEXT 类型输出列的脚本组件。 (它是来自网页的 XML。)
我有一个使用 OLE DB 的本机 OLD DB\Oracle 提供程序的 OLE DB 目标,并且该字段的表定义为 CLOB。
这个问题看起来很相似:SSIS Script Component won't allow text Stream Output。这似乎给出了答案:http://www.rad.pasfu.com/index.php?/archives/35-How-to-Fill-NTEXT-Column-from-Script-Component-SSIS.html
在脚本组件中,我将我的 XML 作为字符串获取,文档说它最多可以容纳 2GB。我很难将它分配给我的 Output0Buffer (DT_TEXT)。任何使用 AddBlobData 的尝试都会出错。
// Output0Buffer.AddRow();
// Output0Buffer.forecastXML = forecastXML;
// Output0Buffer.AddBlobData(forecastXML);
// Output0Buffer.LargeCol.AddBlobData(forecastXML);
// Output0Buffer.LargeCol.AddBlobData(System.Text.Encoding.UTF8.GetBytes(forecastXML));
这些是我的一些尝试,但没有一个编译成功。最后一个给出错误:“Output0Buffer”不包含“LargeCol”的定义,并且找不到接受“Output0Buffer”类型的第一个参数的扩展方法“LargeCol”(您是否缺少 using 指令或程序集引用? )
如何从脚本组件获取文本流到 oracle 目的地?
【问题讨论】:
标签: unicode oracle11g ssis ssis-2012