0

我目前正在通过 SSIS 任务 (SQL Server 2008 RS) 中的 SharePoint Web 服务 (http://company.name.com/_vti_bin/lists.asmx) 成功应用 C# 代码,以签入和签出各种文件夹中的文件使用如下所示的 URL 值输入的 SharePoint 网站 (2010)。但是,我现在有一个新任务,即在 SharePoint 中应用相同环境的一组单独文档。我还必须收集上次修改每个文档的用户名、上次修改时间、SharePoint 唯一 ID 和文件类型。我正在使用 SharePoint Web 服务,因为数据库服务位于与 SharePoint 服务器不同的服务器上。

对于每个文档,我都有一个唯一的 URL 路径,例如:

http://company.name.com/a/abc/projects/Project_1.xls
http://company.name.com/b/def/projects/Project_4.xls

有人可以提供一个简单的 C# 示例,使用 SharePoint Web 服务检索(不更新)四个感兴趣的属性,用于在给定 URL 值(如上面列出的 URL 值之一)的情况下发布在 SharePoint 网站上的文档?控制台应用程序示例会很好,因为它类似于 SSIS 任务脚本。

如果有帮助,我在下面提供了用于在 SSIS 脚本任务中签入和签出文件的代码。在设置代码之前,我添加了一个名为 SharePointListsService 的 Web 引用,应用了 Web 引用 URL“http://community.teamcomcast.com/_vti_bin/lists.asmx”。

SharePointListsService.Lists listService = new SharePointListsService.Lists();
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;

//Check out a file in SharePoint using the URL
string fileCheckout = "http://company.name.com/a/abc/projects/Project_1.xls";
bool myResults = listService.CheckOutFile(fileCheckout, "true", DateTime.Now.ToString("f"));

//Check in a file in SharePoint using the URL
string fileCheckin = "http://company.name.com/a/abc/projects/Project_1.xls"
myResults = listService.CheckInFile(fileCheckin, "Completed revision.", "0");

以上面的代码为例,有人可以为我提供一个使用 C# 和 SharePoint Web 服务的类似代码示例,它为文件的给定 URL 返回以下属性?

ModifiedBy
TimeLastModified
UniqueID
FileType

谢谢

4

1 回答 1

0

我找到了一个很好的解决方法来解决原本需要的繁琐代码。以下链接提供了一种下载适配器和应用它的文档的方法。该适配器集成了 SSIS 和 SharePoint。也就是说,它将允许您在工具下添加 SharePoint 源和 SharePoint 目标任务项,这些任务项可用于从 SharePoint 中提取信息,与从数据库或 Excel 文件中提取信息的方式几乎相同。我已经设置好了,效果很好。

http://sqlsrvintegrationsrv.codeplex.com/releases/view/17652

使用适配器,我可以捕获与发布在 SharePoint 源上的一个或多个文档相关联的属性(作者、修改者、上次修改者等),并轻松地将值发送到新的 SharePoint 目标或 Excel 或数据库目标。

于 2012-12-18T18:28:07.557 回答