求SSIS 2010连接SharePoint列表的适配工具及可用MSI安装包
Hey there, since you're an SSIS 2010 beginner stuck on finding a working SharePoint List adapter, let's walk through the most reliable, actionable solutions—no broken MSIs or dead links to deal with:
1. 优先使用官方SQL Server 2010 Feature Pack组件
这是最适配SSIS 2010的官方方案,不会出现兼容性问题:
- 找到Microsoft SQL Server 2010 Integration Services Feature Pack for SharePoint(属于SQL Server 2010 Feature Pack的一部分)
- 安装时注意匹配你的系统位数(32位/64位),必须和SSIS的运行环境一致
- 安装完成后重启Visual Studio/BIDS,就能在SSIS的数据源/目标列表里找到SharePoint List适配器了
2. 备选方案:用脚本组件手动读取SharePoint列表
如果官方组件暂时获取不到,脚本组件是适合基础用户的灵活方案:
- 在Data Flow任务中拖入一个Script Component,选择作为Source
- 打开脚本编辑器,添加对
Microsoft.SharePoint.Client和Microsoft.SharePoint.Client.Runtime两个DLL的引用(注意要选SharePoint 2010对应的14.0.0.0版本) - 在脚本中编写简单代码读取列表数据,以下是C#示例:
using Microsoft.SharePoint.Client; using System.Net; public override void CreateNewOutputRows() { // 替换为你的SharePoint站点URL和列表名称 string siteUrl = "http://your-sharepoint-site"; string listTitle = "Your List Name"; using (ClientContext ctx = new ClientContext(siteUrl)) { // 如果需要身份验证,添加凭证(根据你的环境调整) ctx.Credentials = new NetworkCredential("username", "password", "domain"); List spList = ctx.Web.Lists.GetByTitle(listTitle); CamlQuery query = CamlQuery.CreateAllItemsQuery(); ListItemCollection items = spList.GetItems(query); ctx.Load(items); ctx.ExecuteQuery(); // 遍历列表项,映射到SSIS输出列 foreach (ListItem item in items) { Output0Buffer.AddRow(); // 示例:映射Title列,需提前在脚本组件中配置输出列 if (item["Title"] != null) Output0Buffer.Title = item["Title"].ToString(); } } } - 提前在脚本组件的Input and Outputs面板中添加输出列,对应SharePoint列表的字段
注意事项
- SSIS 2010默认以32位模式运行,如果使用脚本组件,确保引用的DLL是32位版本,或者在项目属性中设置
Run64BitRuntime为False - 如果SharePoint站点是Claims认证,可能需要调整凭证代码(针对2010版本,
NetworkCredential通常即可满足需求)
内容的提问来源于stack exchange,提问作者Joeysonic
相关产品推荐
相关产品推荐

