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

求助:如何通过SSIS无需本地下载将SharePoint Online的CSV导入SQL Server表

可以实现,以下是两种可行方案

方案1:使用SSIS的OData源组件

SharePoint Online支持OData接口,可直接通过该接口访问CSV所在的文档库:

  • 配置OData源时,使用SharePoint的OData端点,格式示例:https://yourtenant.sharepoint.com/sites/yoursite/_api/web/lists/getbytitle('Documents')/items
  • 筛选目标CSV文件对应的条目,获取其FileRef属性(文件相对路径),拼接成可直接访问的文件URL
  • 借助脚本组件或HTTP连接管理器请求该CSV文件的原始数据流,直接导入SQL Server目标组件
  • 身份验证建议采用OAuth2.0,适配SharePoint Online的现代认证机制

方案2:通过SSIS脚本任务/组件调用SharePoint Online REST API

  • 在脚本组件中,直接发送HTTP请求或引用Microsoft Graph SDK,通过SharePoint REST API获取CSV文件的内容流
  • 示例C#代码片段:
// 初始化HTTP客户端并设置认证头
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "your_access_token");
// 请求CSV文件内容
HttpResponseMessage response = await client.GetAsync("https://yourtenant.sharepoint.com/sites/yoursite/_api/web/getfilebyserverrelativeurl('/sites/yoursite/Documents/yourfile.csv')/$value");
// 读取流并加载至SQL Server
Stream csvStream = await response.Content.ReadAsStreamAsync();
// 后续可通过SqlBulkCopy或SSIS目标组件完成数据写入
  • 认证环节可通过Azure AD注册应用获取访问令牌,确保包部署到SSIS Catalog后能正常获取权限

部署注意事项

  • 部署到SSIS Catalog时,需保证执行包的代理账户拥有SharePoint Online访问权限,或在包中配置敏感参数/凭据管理器存储认证信息
  • 避免依赖本地文件路径配置,所有资源访问均通过网络接口完成,确保包在服务器环境下正常运行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 12:39:27