2016-12-27 95 views
0

我們在Oracle數據庫中,它看起來像生成從查看平面文件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創建一個包含多個記錄的模式。 Iam不知道如何繼續。任何與此有關的幫助將不勝感激

+0

您是否可以改變視圖來生成更接近您想要的輸出或直接輸出XML的輸出?如果沒有,您需要創建您的Oracle模式,您的平面文件模式以及某種映射來轉換它們。在XSLT中,這幾乎肯定需要定製XSLT來完成Muenchian分組;或者,你可以在.NET中使用'XDocument'或序列化... –

+0

@DanField如何直接從視圖輸出XML。有沒有辦法。如果有輸出XML的方法,我可以直接在BizTalk中使用 – trx

+0

請參閱https://docs.oracle.com/cd/E11882_01/appdev.112/e23094/xdb13gen.htm#ADXDB1600示例 - 但請注意,您可以需要適當的權限才能在Oracle數據庫本身上創建SQL視圖或過程。 –

回答

0

您可以擁有帶有employeeid和memberid的Member表,然後帶有Benefits id和memberid的Benefits表,並且具有主鍵外鍵關係以將所有這些關聯在一起。

希望是有效的。

+0

我在詢問有關BizTalk中的模式。 – trx