Biztalk 从Oracle DB中的视图生成平面文件

Biztalk 从Oracle DB中的视图生成平面文件,biztalk,biztalk-2013,Biztalk,Biztalk 2013,我们在Oracle数据库中有一个视图 HEADER,P,Lab,16-Dec-16,MEMBER,1,134,134,1,5,BENEFIT,1,MEA,1,TRAILER, ,20161216,14:08:51 HEADER,P,Lab,16-Dec-16,MEMBER,1,134,134,1,5,BENEFIT,1,DEN,2,TRAILER, ,20161216,14:08:51 HEADER,P,Lab,16-Dec-16,MEMBER,2,572,5

我们在Oracle数据库中有一个视图

HEADER,P,Lab,16-Dec-16,MEMBER,1,134,134,1,5,BENEFIT,1,MEA,1,TRAILER,          ,20161216,14:08:51
HEADER,P,Lab,16-Dec-16,MEMBER,1,134,134,1,5,BENEFIT,1,DEN,2,TRAILER,          ,20161216,14:08:51
HEADER,P,Lab,16-Dec-16,MEMBER,2,572,572,2,5,BENEFIT,2,DEN,2,TRAILER,          ,20161216,14:08:51
HEADER,P,Lab,16-Dec-16,MEMBER,2,572,572,2,5,BENEFIT,2,MEA,1,TRAILER,          ,20161216,14:08:51
每个记录都有标题,标题不断重复并具有相同的信息。然后,每个成员都有“n”个福利示例

成员(员工ID-1)

有福利(针对员工ID-1)

我正在尝试生成平面文件,如

HEADER,P,Lab,16-Dec-16   //--- Header
MEMBER,1,134,134,1,5    //--- Member (Employee ID -1)
BENEFIT,1,MEA,1        //--- Benefits (Employee ID -1)
BENEFIT,1,DEN,2       // --- Benefits (Employee ID -1)
MEMBER,2,572,572,2,5 //--- Member (Employee ID -2)
BENEFIT,2,DEN,2     //--- Benefits (Employee ID -2)
BENEFIT,2,MEA,1    // --- Benefits (Employee ID -2)
TRAILER,Total no.of lines,20161216,14:08:51 // Trailer

我不确定如何为输出文件创建模式。我是否必须为头成员福利和尾部创建单独的模式。或者创建一个架构,其中包含多条头成员福利和尾项记录。我不知道该怎么办。非常感谢您提供的任何帮助

您可以创建一个包含employeeid和memberid的成员表,然后创建一个包含福利id和memberid的福利表,并使用主键-外键关系将它们连接在一起


希望这能起作用。

我正在询问BizTalk中的架构。您可以更改视图以生成更接近您所需的输出,还是直接输出XML?如果没有,则需要创建Oracle模式、平面文件模式和某种映射来转换它们。在XSLT中,这几乎肯定需要定制XSLT来进行Muenchian分组;或者,您可以在.NET中使用
XDocument
或serialization…@DanField直接从视图输出XML。有办法吗。例如,如果有一种方法可以输出我可以在BizTalkSee中直接使用的XML,请注意,在Oracle DB本身上创建SQL视图或过程需要适当的权限。
BENEFIT,1,MEA,1
BENEFIT,1,MEA,1
HEADER,P,Lab,16-Dec-16   //--- Header
MEMBER,1,134,134,1,5    //--- Member (Employee ID -1)
BENEFIT,1,MEA,1        //--- Benefits (Employee ID -1)
BENEFIT,1,DEN,2       // --- Benefits (Employee ID -1)
MEMBER,2,572,572,2,5 //--- Member (Employee ID -2)
BENEFIT,2,DEN,2     //--- Benefits (Employee ID -2)
BENEFIT,2,MEA,1    // --- Benefits (Employee ID -2)
TRAILER,Total no.of lines,20161216,14:08:51 // Trailer