我正在编写SSIS Transformation组件。我想允许用户选择他想要传递给输出的输入字段。
我认为SetUsageType()函数会控制它 - 它需要枚举(DT_READONLY,DT_READWRITE,DT_IGNORED)。 DT_READONLY用于仅输入字段,DT_READWRITE用于输入/输出字段,DT_IGNORED用于不输入从输入到输出的字段。
但是,在我的测试中,似乎同步操作将输出输入字段的所有以及我添加的任何输出字段。总是这样吗?有没有办法抑制某些输入字段被传输到输出?
看起来我可以通过异步执行此操作,但我希望能实现同步。
答案 0 :(得分:2)
如果我没记错的话,同步任务成为同步任务的原因是它重复使用输入缓冲区作为输出缓冲区,只添加列或更改列中的数据或重定向整行。如果您确实需要从流中删除列,则看起来异步任务就是您想要的。在异步任务中,会创建一个新缓冲区。
请参阅:Understanding Synchronous and Asynchronous Transformations
答案 1 :(得分:-1)
我不确定为什么你会使用SSIS来完成这项任务,但我认为你最好选择输出所有行,然后让用户选择并简单地忽略他们选择不查看的行。