[SQL Server]无法创建 SSIS 运行时对象,请验证 DTS.dll 是否可用及是否已注册

很大可能是SQL Server Management Studio(SSMS)版本与当前操作系统不兼容造成的,与数据库本身没有关系,这种情况基本无解,不过可以使用其他机器连本机数据库导入导出数据。

今天在使用SQL Server 2014 导“出数据”时,报了一个错,内容如下:


无法创建 SSIS 运行时对象。请验证 DTS.dll 是否可用及是否已注册。此向导无法继续而将终止。


无法将类型为“Microsoft.SqlServer.Dts.Runtime.Wrapper.PackageNeutralClass”的 COM 对象强制转换为接口类型“Microsoft.SqlServer.Dts.Runtime.Wrapper.IDTSContainer90”。此操作失败的原因是对 IID 为“{8BDFE892-E9D8-4D23-9739-DA807BCDC2AC}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 没有注册接口 (异常来自 HRESULT:0x80040155)。 (Microsoft.SqlServer.DTSRuntimeWrap)



原因

根据提示,是没有注册DTS.dll导致的。

解决方法

重新注册下DTS.dll

打开cmd命令行,执行命令regsvr32 "C:Program FilesMicrosoft SQL Server120DTSBinnDTS.dll"
注意:这个路径里面的120是对应SQL Server 2014版本的,其他版本根据实际修改。

如果没有报错,则注册成功,可以使用"导入/导出数据"了。

如果报错提示:

模块已加载,但对dllregisterServer的调用失败

同样情景:

无法创建 SSIS 数据流任务。请验证 DTSPipeline.dll 是否可用及是否已注册。此向导无法继续而将终止。 (SQL Server 导入和导出向导)

解决方案:同上

如果还不行,这把以上几种.dll文件或者对应文件夹中的所有.Dll都注册一遍

如果是在Windows10上面,注册DTSPipeline.dll可能并不能解决问题

原文地址:https://www.cnblogs.com/cuihongyu3503319/p/10382434.html