将文档迁移到Sharepoint(MOSS)2007的最佳方法是什么?

时间:2010-04-29 14:02:55

标签: c# .net web-services sharepoint-2007 sharepoint-api

我正在与需要将文档从当前文档管理系统(而不是Sharepoint)迁移到保留文档历史记录和元数据的Sharepoint MOSS 2007中的客户合作。我使用Sharepoint Web服务编写了一个概念证明,看起来很有希望,但到目前为止,这个障碍似乎是以编程方式设置创建的日期/时间和用户。 webservices允许设置字段,但隐式地将它们覆盖为当前登录的用户+日期/时间。出于显而易见的原因,我需要能够保留原始创建的日期/时间和用户的迁移。有谁知道解决这个问题的最佳方法?

1 个答案:

答案 0 :(得分:0)

您是否尝试过以编程方式添加文档然后更新这些字段?如果你有对象id,你甚至可以直接在SP2K7数据库中的对象上执行此操作。

这篇文章可能会帮到你一点点。

http://www.eggheadcafe.com/software/aspnet/29904945/change-modificationcreat.aspx

Dim vLocalFileName As String
Dim file As SPFile
pLocation = "http://myserver/Docs/Documents/TestDoc.doc"
vLocalFileName = "C:\TestDoc.doc"
Dim site As SPWeb = New SPSite("http://myserver/Docs").OpenWeb()

Dim fStream As FileStream
fStream = New FileStream(vLocalFileName, FileMode.Open)
Dim contents(fStream.Length) As Byte
fStream.Read(contents, 0, CInt(fStream.Length))
fStream.Close()

file = site.Files.Add(pLocation, contents)
Dim ListItem As SPListItem
ListItem = file.Item
ListItem("Title") = "updatetest"
ListItem("MyLookupField") = "1"
ListItem("Created") = "2007/01/01 10:00"
ListItem("Modified") = "2007/01/01 11:00"
ListItem.Update()

file.CheckIn("", SPCheckinType.MajorCheckIn)