【问题标题】:Generate a Flat File from a View in Oracle DB从 Oracle DB 中的视图生成平面文件
【发布时间】: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


【解决方案1】:

您可以有一个带有employeeid 和memberid 的Member 表,然后是带有Benefits id 和memberid 的Benefits 表,并有一个主键外键关系将它们连接在一起。

希望这行得通。

【讨论】:

  • 我在询问 BizTalk 中的架构。
猜你喜欢
  • 2021-10-07
  • 2021-07-29
  • 1970-01-01
  • 2019-11-17
  • 2015-08-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-09
相关资源
最近更新 更多