DTExecUI可正常运行SSIS包,但DTExec执行失败求助
SSIS包DTExec执行失败解决方案
问题根源
DTExecUI会自动继承SSMS进程的环境配置,加载所有SSIS依赖组件的路径;而单独运行DTExec.exe时,系统无法找到Microsoft.SqlServer.PipelineXml.dll等核心组件的加载路径,导致任务加载失败。
解决方法
方法1:临时配置环境变量后运行
- 打开32位命令提示符(
C:\Windows\SysWOW64\cmd.exe) - 执行命令添加SSIS组件路径到临时环境变量:
set PATH=C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn;%PATH% - 运行完整路径的DTExec命令:
"C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn\DTExec.exe" /f "C:\scad\Package.dtsx"
方法2:注册缺失的DLL(若有权限)
在32位命令提示符中执行注册命令:
regsvr32 "C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\CommonExtensions\Microsoft\SSIS\150\Binn\Microsoft.SqlServer.PipelineXml.dll"
注册完成后再运行DTExec命令即可。
方法3:复制依赖DLL到包目录
将以下DLL从SSIS组件目录复制到包所在的C:\scad文件夹:
Microsoft.SqlServer.PipelineXml.dllMicrosoft.SqlServer.DTSRuntimeWrap.dllMicrosoft.SqlServer.ManagedDTS.dll
之后直接在该目录下运行DTExec命令。
内容的提问来源于stack exchange,提问作者Tmdean
相关产品推荐
相关产品推荐

