You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将SharePoint Excel文件连接至SSIS Excel数据源并解决403报错?

403 Forbidden错误排查
  • 检查认证模式:当前SharePoint(尤其是SharePoint Online)已默认禁用基本认证,你在HTTP连接管理器如果直接填用户名密码且选了基本认证,必然触发403。本地部署的SharePoint需把认证方式切换为「NTLM认证」,SharePoint Online需改用OAuth2认证或应用密码。
  • 核对文件权限:确认你使用的账号对目标xls文件所在的SharePoint文档库有至少读取权限,建议直接进入对应文件的共享设置页单独核对账号权限,不要仅校验站点全局权限。
  • 补充请求头参数:在HTTP任务的请求头中添加X-FORMS_BASED_AUTH_ACCEPTED: f,可规避SharePoint表单认证跳转导致的403错误。
可行的连接方案

方案1:脚本任务直接下载(无需第三方组件)

无需额外安装组件,用C#脚本直接实现文件下载,是兼容性最高的方案:

  1. 新建SSIS「脚本任务」,开发语言选择C#
  2. 填入核心下载逻辑,示例代码如下:
using System.Net;
using System.Security;

// 本地部署SharePoint用这套凭据
using (WebClient client = new WebClient())
{
    client.Credentials = new NetworkCredential("你的用户名", "你的密码", "域名");
    client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
    client.DownloadFile("SharePoint文件的直链地址", @"本地临时存储路径\目标文件.xls");
}

// SharePoint Online用这套凭据
/*
using (WebClient client = new WebClient())
{
    SecureString securePassword = new SecureString();
    foreach (char c in "你的账号密码".ToCharArray()) securePassword.AppendChar(c);
    client.Credentials = new SharePointOnlineCredentials("你的账号@xxx.onmicrosoft.com", securePassword);
    client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
    client.DownloadFile("SharePoint文件的直链地址", @"本地临时存储路径\目标文件.xls");
}
*/
  1. 文件下载到本地后,用常规的Excel连接管理器接入本地xls文件即可做后续数据处理。

方案2:OData连接管理器适配

SSIS 2016及以上版本自带OData连接管理器,可直接对接SharePoint数据源:

  1. 新建OData连接管理器,服务地址填写https://你的SharePoint站点地址/_vti_bin/listdata.svc
  2. 按照你的SharePoint版本选择对应认证方式,本地部署选Windows认证,SharePoint Online选OAuth2认证
  3. 连接成功后直接选择目标文档库,筛选出你需要的xls文件后下载处理即可。

方案3:内置SharePoint列表适配器

SSIS 2019及以上版本自带SharePoint列表源组件,直接配置站点地址、对应认证信息后,就可以读取文档库中的文件属性,搭配文件系统任务下载对应xls文件即可。

内容的提问来源于stack exchange,提问作者Reni

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 02:36:08