SSIS包部署到SQL Server后无法读取OneDrive中Excel 365文件求助
解决SSIS包部署到Windows Server 2019后执行失败的问题
问题概述
开发的SSIS包用于从OneDrive中的Excel文件导入数据至SQL表,在Visual Studio 2015中执行正常,但部署到Windows Server 2019 Standard(10.0)版本的SQL Server后执行失败。已尝试操作:安装Microsoft ACE OLEDB 12.0、设置部署属性为32位。
排查与解决步骤
1. 匹配ACE OLEDB驱动版本与系统位数
- 若服务器为64位系统,需安装64位版本的Microsoft ACE OLEDB驱动(推荐ACE 16.0,适配WinServer2019;ACE 12.0对应Office 2010,兼容性有限)
- 安装完成后重启SQL Server Integration Services服务,确保驱动被系统加载
2. 验证SQL Server代理执行账户权限
- SSIS包执行依赖的SQL Server代理账户(或作业步骤指定账户)需满足:
- 拥有OneDrive同步文件的本地读取权限(避免使用服务器本地用户专属路径,改用公共共享目录或绝对路径)
- 具备目标SQL表的写入权限
- 拥有ACE驱动安装目录的读取权限(默认路径:
C:\Program Files\Microsoft Office\root\Office16\或C:\Program Files (x86)\Microsoft Office\Office14\)
3. 修正OneDrive文件访问方式
- SSIS的Excel连接管理器不支持直接读取OneDrive云端URL,需先将文件同步至服务器本地目录,或通过PowerShell/API将文件下载到临时目录后再执行导入
- 若使用本地同步路径,确认路径在服务器上存在且可被执行账户访问
4. 确认SSIS执行的32位运行时设置
- 除部署属性外,需在SQL Server代理作业的SSIS步骤中,勾选**“使用32位运行时”**选项(位于作业步骤的“执行选项”标签下)
5. 捕获详细错误日志定位问题
- 查看SQL Server代理的作业历史记录,获取完整错误堆栈信息
- 为SSIS包启用日志记录,添加“详细事件”日志提供程序,捕获执行过程中的具体异常
内容的提问来源于stack exchange,提问作者Nirmal
相关产品推荐
相关产品推荐

