2

Informatica Powercenter 是否可以实现以下工作流程?

AS400 -> Xml(在内存中) -> Oracle 10g 存储过程(将 xml 作为参数传递)

具体来说,我需要获取一个结果集,例如。100 行。将这些行转换为单个 xml 文档作为内存中的字符串,然后将其作为参数传递给仅调用一次的 Oracle 存储过程。我知道工作流是逐行运行的,这种“批处理”是不可能的。

4

1 回答 1

1

Yes, this scenario should be possible.

  • You can connect to AS/400 sources with native Informatica connector(s), although this might require (expensive) licenses. Another option is to extract the data from AS/400 source into a text file, and use that as a normal file source.

  • To convert multiple rows into one row, you would use an Aggregator transformation. You may need to create a dummy column (with same value for all rows) using an Expression, and use that column as the grouping key of the Aggregator, to squeeze the input into one single row. Row values would be concatenated together (separated by some special character) and then you would use another Expression to split and parse the data into as many ports (fields) as you need.

  • Next, with an XML Generator transformation you can create the XML. This transformation can have multiple input ports (fields) and its result will be directed into a single output port.

  • Finally, you would load the generated XML value into your Oracle target, possibly using a Stored Procedure transformation.

于 2011-04-05T16:36:16.457 回答