日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

发布一个biztalk 解析Excel文件到xml消息的管道组件

發(fā)布時(shí)間:2023/12/9 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 发布一个biztalk 解析Excel文件到xml消息的管道组件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

<?xml:namespace prefix = o />

<?xml:namespace prefix = v />?

pipeline component主要功能是通過ODBCexcel驅(qū)動(dòng)把excel文件轉(zhuǎn)成xml的消息。

excel文件可以是biztalk通過從各種適配器獲得,比如從fileftpmsmqhttp等等適配器獲得excel文件的數(shù)據(jù),excel文件的數(shù)據(jù)通過適配器進(jìn)入到接收管道后,此組件在接收管道中處理excel文件的數(shù)據(jù)并轉(zhuǎn)換成xml格式。?


????安裝文件下載:/Files/chnking/ExcelPipelineComponentSetup.rar

比如,可以從下面這樣的excel文件:


?

轉(zhuǎn)換成這樣的xml格式:

<ns0:employees xmlns:ns0="http://chnking">

? <contact>

??? <ContactID>1</ContactID>

??? <FirstName>Gustavo</FirstName>

??? <LastName>Achong</LastName>

??? <EmailAddress>gustavo0@adventure-works.com</EmailAddress>

??? <Phone>398-555-0132</Phone>

? </contact>

? <contact>

??? <ContactID>2</ContactID>

??? <FirstName>Catherine</FirstName>

??? <LastName>Abel</LastName>

??? <EmailAddress>catherine0@adventure-works.com</EmailAddress>

??? <Phone>747-555-0171</Phone>

? </contact>

</ns0:employees>

??

安裝

ExcelPipelineComponentSetup.msi文件,直接安裝。安裝有兩個(gè)條件:

l???????? 系統(tǒng)安裝有framework2.0,如果沒有,安裝程序提示系統(tǒng)沒有安裝framework2.0,退出安裝。

l???????? 系統(tǒng)安裝有biztalk 2006,如果沒有安裝biztalk 2006,安裝程序會(huì)提示,退出安裝。

安裝好后,在程序中生成一個(gè)biztalk Excel decoder component程序組,其中有個(gè)chm幫助文件,使用方法請(qǐng)看幫助。

????

使用時(shí)看起來像這樣:


?

?

存在問題

在設(shè)計(jì)環(huán)境中設(shè)置此組件的各個(gè)屬性,部署后使用正常。

但是如果部署后,在biztalk administrator console中使用此組件的管道中修改了組件的任意屬性,則會(huì)出現(xiàn)問題。

問題表現(xiàn)為組件的預(yù)設(shè)屬性在運(yùn)行時(shí)可能會(huì)讀不到,有些屬性的值變?yōu)榭?#xff0c;可能導(dǎo)致管道執(zhí)行失敗。再把屬性值改回到默認(rèn)值也已經(jīng)不起作用。這時(shí)只能修改使用這個(gè)管道的接收位置的屬性,把使用這個(gè)管道的接收位置的接收管道改為其它管道,然后關(guān)閉。之后再重新打開,把管道再改回到要使用的管道。這樣可以恢復(fù)到組件預(yù)設(shè)的屬性。

暫時(shí)解決方案:

在開發(fā)環(huán)境中把組件的屬性設(shè)置好,然后部署,在biztalk administrator console中不要修改此組件的屬性。
?? 如果確實(shí)需要修改組件屬性,在開發(fā)環(huán)境中修改,然后重新部署。

問題分析:

通過源碼單步調(diào)試組件,發(fā)現(xiàn)部署后沒有在biztalk administrator console中修改此組件的任何屬性的情況下,組件實(shí)現(xiàn)的IPersistPropertyBag接口的Load方法(從環(huán)境中讀取組件預(yù)設(shè)屬性的方法)只執(zhí)行一次。如果biztalk administrator console中修改此組件的任何屬性后,IPersistPropertyBag接口的Load方法就會(huì)被執(zhí)行兩次,第一次從環(huán)境讀取的屬性正確,第二次再執(zhí)行讀屬性就會(huì)有問題,有的屬性沒有讀到。

奇怪的是,這時(shí)為什么Load方法會(huì)被執(zhí)行兩次。有朋友知道此問題的解決方法請(qǐng)告知,我的QQ362682

????問題最新進(jìn)展:
???

??? 經(jīng)過測試,在使用中設(shè)計(jì)管道(btp)時(shí),不要設(shè)置Excel組件屬性的任何默認(rèn)值,保持所有屬性為空,在部署后就可保持正常修改Excel組件的屬性。

總結(jié)

以上是生活随笔為你收集整理的发布一个biztalk 解析Excel文件到xml消息的管道组件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。