SSIS包部署后执行失败:连接获取失败及OLE DB驱动未注册
SSIS包部署后SQL Server代理执行报错的排查方案
1. 解决Microsoft.Jet.OLEDB.4.0驱动未注册问题
- 强制作业以32位模式运行:
打开SQL Server代理对应作业的步骤属性,切换到「配置」页,勾选使用32位运行时(对应Run64BitRuntime=False)。如果是项目部署模式,必须在SSDT中右键项目→属性→调试→设置Run64BitRuntime=False后重新部署,避免部署时覆盖设置。 - 补装32位驱动:
服务器需安装32位的Microsoft Access Database Engine驱动,若提示已安装64位组件,用静默安装命令:AccessDatabaseEngine.exe /quiet
2. 修复连接管理器的Project/Package级差异
你的包使用项目级连接管理器(PackagePath=Project.Connections),而正常包为包级(PackagePath=Package.Connections),这会导致部署后连接丢失:
- 转换连接类型:在SSDT中右键项目级连接管理器→转换为包连接,确认
PackagePath变为Package.Connections[连接名] - 优化Excel连接配置:设置Excel连接的延迟验证=True,避免因运行时才创建的带时间戳文件导致验证失败;同时使用服务器可访问的绝对路径,确保SQL Server代理账户有读写权限
3. 消除VS中的数据流验证错误
设计时的验证错误是因为找不到运行时才生成的Excel文件,不影响运行,可通过以下方式消除:
- 开启Excel连接管理器的「延迟验证」
- 设计时临时创建空的目标Excel文件,让数据流验证通过
4. 权限排查
- 确认SQL Server代理服务账户(或作业代理账户)对Excel目标路径有读写权限,对源数据库有读取权限
- 若使用SSIS Catalog部署,需确保账户拥有该项目的执行权限
内容的提问来源于stack exchange,提问作者babno
相关产品推荐
相关产品推荐

