SSIS包部署至SQL SSIS服务器后出现Failure creating file错误求助
解决SSIS包部署后读取Excel失败的0x80004005错误
常见原因及对应解决步骤:
权限不足问题
- 确认SQL Server代理服务(或执行SSIS包的账户)对以下路径拥有读写权限:
- Excel文件所在目录(若为网络共享路径,需确保服务账户具备域权限访问该共享)
- Access Database Engine临时文件目录:默认是
C:\Windows\ServiceProfiles\LocalService\AppData\Local\Temp(若使用Local Service账户),或执行账户的个人临时目录
- 若通过SQL代理作业执行包,在作业步骤的「运行身份」中指定权限充足的账户,避免使用默认低权限账户
- 确认SQL Server代理服务(或执行SSIS包的账户)对以下路径拥有读写权限:
32位/64位引擎不匹配
- SSIS服务器默认以64位模式运行,而你安装的是32位Access Database Engine,需强制包以32位模式运行:
- 通过SQL代理作业执行时,在作业步骤的「配置」选项卡勾选「使用32位运行时」
- 通过SSIS目录执行时,在执行包的高级选项中开启32位运行时
- SSIS服务器默认以64位模式运行,而你安装的是32位Access Database Engine,需强制包以32位模式运行:
Excel文件或路径异常
- 确保目标Excel文件未被其他程序(如本地Excel客户端)占用
- 检查包内配置的Excel文件路径:避免使用相对路径,改用绝对路径;若为网络路径,使用
\\服务器名\共享目录\文件名.xlsx格式,不要用映射盘符(服务账户通常无映射盘符权限)
Access Database Engine安装异常
- 确认服务器上的32位Access Database Engine为完整安装,无中途报错。若之前安装过64位版本,需彻底卸载后再安装32位(两种版本无法共存)
- 可通过运行
regsvr32.exe "C:\Program Files (x86)\Microsoft Office\Office14\ACEOLEDB.DLL"注册组件,验证安装是否成功
快速排查流程:
- 用执行包的账户手动登录服务器,尝试打开目标Excel文件,确认可正常访问
- 在服务器上以相同账户本地运行SSIS包,缩小问题范围
内容的提问来源于stack exchange,提问作者Eric
相关产品推荐
相关产品推荐

