【发布时间】:2016-12-28 02:32:39
【问题描述】:
我们在 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)
MEMBER,1,134,134,1,5
有福利(员工 ID-1)
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
我不确定如何为输出文件创建架构。我是否必须为 Header Member Benefits 和 Trailer 创建单独的架构。或者为 Header Member Benefits 和 Trailer 创建一个具有多条记录的模式。我不确定如何进行。非常感谢您提供任何帮助
【问题讨论】:
-
您能否更改视图以生成更接近您想要的输出或直接输出 XML?如果没有,您需要创建 Oracle 模式、平面文件模式和某种映射来转换它们。在 XSLT 中,这几乎肯定需要自定义 XSLT 来进行 Muenchian 分组;或者,您可以在 .NET 中使用
XDocument或序列化... -
@DanField 如何直接从视图输出 XML。有没有办法。如果有输出 XML 的方法,我可以直接在 BizTalk 中使用
-
参见例如 docs.oracle.com/cd/E11882_01/appdev.112/e23094/… - 但请注意,您需要适当的权限才能在 Oracle DB 本身上创建 SQL 视图或过程。
标签: biztalk biztalk-2013