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

无法从SQL Server执行SSIS包求助:SharePoint程序集加载失败

解决SSIS包执行时SharePoint Client Runtime加载失败的问题

核心原因

Visual Studio自带SharePoint客户端组件依赖,但SQL Server执行SSIS包的运行环境(SSIS服务或SQL代理账户)缺少对应版本的Microsoft.SharePoint.Client.Runtime及相关依赖DLL。

具体解决步骤

1. 安装对应版本的SharePoint客户端组件SDK

  • 下载与报错版本匹配的SharePoint Online Client Components SDK(报错为15.0.0.0,对应SharePoint 2013/Online版本),直接安装到运行SSIS包的服务器上。
  • 安装完成后,相关DLL会自动注册到系统全局程序集缓存(GAC),无需手动复制文件。

2. 手动部署DLL到SSIS运行目录(安装SDK无效时)

若服务器无法安装SDK,从本地Visual Studio环境中找到对应DLL:

  • 路径一般为 C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\ISAPI
  • 复制以下两个核心DLL到SSIS服务的运行目录:
    • Microsoft.SharePoint.Client.dll
    • Microsoft.SharePoint.Client.Runtime.dll
  • SSIS运行目录参考:
    • SQL Server 2016及以后:C:\Program Files\Microsoft SQL Server\130\DTS\Binn(130对应2016,140对应2017,以此类推)
    • 旧版本:C:\Program Files\Microsoft SQL Server\120\DTS\Binn

3. 配置SSIS脚本任务的依赖(针对找不到References的情况)

SSIS项目的引用管理和普通.NET项目不同,操作如下:

  • 打开包中的脚本任务/脚本组件,在脚本编辑器中打开项目资源管理器(快捷键Ctrl+Alt+L)
  • 在项目资源管理器里右键点击References,选择添加引用,找到并添加Microsoft.SharePoint.Client和Microsoft.SharePoint.Client.Runtime
  • 保存脚本后,确保脚本任务属性中Embed Interop Types设置为True,重新生成SSIS包。

4. 检查执行账户权限

  • 确保执行SSIS包的账户(SQL代理账户或手动执行账户)拥有DLL所在目录的读取权限
  • 若使用SQL代理执行,代理账户需同时具备访问SharePoint的权限,以及读取SSIS包和依赖文件的权限

5. 验证DLL的GAC注册状态

打开管理员权限的命令提示符,执行以下命令检查是否已注册:

gacutil /l Microsoft.SharePoint.Client.Runtime

若未找到,手动注册:

gacutil /i "C:\你的DLL路径\Microsoft.SharePoint.Client.Runtime.dll"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 16:32:16