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