编辑: 如何最简单地从SharePoint列表数据中提取到单独的SQL Server表中?一个限制条件:你在一个工作环境中,无法控制SharePoint服务器后面的SQL Server,因此不能直接从UserData表中提取。
是否有任何实用工具可以用来安排夜间提取?
微软是否计划在“SharePoint 4”中进行改进?
更新于2009年1月6日:
http://connectionstrings.com/sharepoint
对于未安装office的服务器,您需要:
此下载
编辑: 如何最简单地从SharePoint列表数据中提取到单独的SQL Server表中?一个限制条件:你在一个工作环境中,无法控制SharePoint服务器后面的SQL Server,因此不能直接从UserData表中提取。
是否有任何实用工具可以用来安排夜间提取?
微软是否计划在“SharePoint 4”中进行改进?
更新于2009年1月6日:
http://connectionstrings.com/sharepoint
对于未安装office的服务器,您需要:
此下载
抓取?就是屏幕抓取吗?你是认真的?;)
2个选项
SharePoint对象模型 - http://msdn.microsoft.com/en-us/library/ms441339.aspx
SharePoint Web服务 - http://msdn.microsoft.com/en-us/library/ms479390.aspx,特别是列表Web服务
Web服务是Excel/Access与SharePoint通信以集成其列表的方式。
实际上,一些谷歌技巧可以得到以下两个结果:-
MOSS 2007/2010和WSS 3.0/4.0都有一个名为Camelot .NET Connector for Microsoft SharePoint的ADO.NET适配器可用。它使您能够通过标准SQL语言查询SharePoint中的列表,使用SharePoint作为数据层。
除了连接器之外,还将提供大量开源工具和实用程序,例如将数据导出到各种格式(XML、MySQL等)的Web部件、Joomla插件、同步服务等。
请参见http://www.bendsoft.com以获取更多详细信息并观看网络广播。BendSoft目前正在寻找测试人员,并鼓励社区提供所有反馈意见。
示例:
SELECT * FROM `My Custom SharePoint List`
INSERT INTO Calendar (EventDate,EndDate,Title,Location) VALUES ('2010-11-04 08:00:00','2010-11-04 10:00:00','Morning meeting with Leia','Starbucks')
DELETE FROM `Corp Images` WHERE `Image Name` = 'marketing.jpg'
注意: 2023年4月20日
我在Nuget网站上找到了此连接器的当前版本... https://www.nuget.org/packages/Camelot.SharePointConnector
我写了一篇详细的文章,提供了逐步截图操作,介绍如何将Sharepoint列表项归档到SQL Server中。该方法不使用任何第三方组件,只需使用SQL BI工具和Sharepoint即可。请点击这里查看。
如果您已经安装了MOSS,可以从Sharepoint Central Administration设置Business Data Catalog,以自动同步数据。这是一个非常强大的产品,包含在MOSS中。当客户启用它时,我很喜欢使用它。
但有些客户没有启用BDC,对于我自己而言,我发现如果他们没有运行和可用的BDC,不可避免地他们不会给开发人员许多SQL Server权限,因此SSIS通常不可行(但也许只是我)。没问题;对于那些没有BDC的客户,我将组合一个轻量级的EXE,运行在计划任务上,查询Lists.asmx并将更改推送到SQL Server表。对于简单列表中没有删除内容的情况,这是相当琐碎的事情。获取Visual Studio 2008、CAML Builder,并准备好度过愉快的时光。Lists.asmx结果有点有趣,因为列表的行字段都是具有许多属性的单个节点,没有子节点...大概是这样的...编码时请记住这一点...
<z:row ows_Id="1" ows_Field1="A1" ows_Field2="B1">
<z:row ows_Id="1" ows_Field1="A2" ows_Field2="B2">
在代码中复制列表时,如果删除了项目或者SP列表之间存在父/子关系,则会出现复杂情况。你可能认为我有一些可以发送给你的代码,但我还没有把可重用的东西组合起来。
我相信还有其他处理方式,但是迄今为止,计划任务EXE对于我多个应用程序多年来一直很可靠。