MOSS系統中列表的遷移

來源:互聯網
上載者:User

在項目開發中遇到了這樣的問題,需要將一個列表從網站A遷移到網站B中去。
查了很多資料,沒有在MOSS的管理功能中找到實現的方法。
所以只能通過編程的方法來實現。

google了一下,網上只找到了3篇關於內容遷移的文章,方法是一樣的,匯出再匯入。
三篇文章的連結如下:

http://sharepoint.orivers.jp/blogs/orivers/archive/2007/03/19/spexport.aspx

https://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1885455&SiteID=1

https://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=1460700&SiteID=17

對於遷移列表的功能,第三篇文章的內容比較合適。
如果是遷移網站,在SDK中,有相關的代碼可供參考。

列表遷移的代碼這裡就不寫了,上面的文章中有,我也是使用的這些代碼。
這裡要說明的是,使用上面的代碼,遷移的列表在兩個網站中必須是同名的。
舉例,要將網站A中的列表list5遷移到網站B中去,遷移中還是會使用list5作為列表的名字。如果網站B中已經有list5存在了,就會出現錯誤。

這個問題困擾我2個多小時,嘗試了多次也沒有辦法通過程式來解決,所以最後只能使用手工修改的方法。
步驟如下:
第1步:將網站A的列表匯出為cab檔案
第2步:解壓縮cab檔案,替換xml檔案中的列表的名字。比如在網站A上是list7,在網站B上是list5,就將xml檔案中的list7替換成list5。一般需要替換三個檔案。
第3步:使用makecab將替換之後的檔案再壓縮成cab檔案。這裡提供一個ddf檔案內容供參考。
.OPTION EXPLICIT
.Set CompressionType=MSZIP
.Set UniqueFiles="off"
.Set Cabinet=on
.Set MaxDiskSize=CDROM
.Set MaxCabinetSize=0
.Set FolderFileCountThreshold=0
.Set DiskDirectory1=d:\cab
.Set CabinetName1=export.cab
;FileList
00000000.dat
00000001.dat
00000002.dat
00000003.dat
00000004.dat
ExportSettings.xml
Manifest.xml
Requirements.xml
RootObjectMap.xml
SystemData.xml
UserGroup.xml
ViewFormsList.xml

第4步:在網站B上建立列表list5,建立時必須使用和網站A的list7相同的清單類型,比如,都是基於自訂欄表建立的。。
第5步:將重新壓縮的cab檔案匯入網站B。

這是我找到的唯一的辦法。
也嘗試過其它第三方的管理工具中的複製的功能,但是那個程式出現了錯誤,沒有實現目標。

希望還能有更好的方法解決這個問題。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.