我在SSIS中创建一个新包,当我尝试运行该包时,SSIS返回以下错误(显示在Visual错误对话框中):
“无法与调试主机进程通信。未注册IDtsHost接口。IDtsHost
环境: VS 2019年,安装了最新的SSIS扩展。该包似乎被正确创建,并且构建成功。
即使包是微不足道的"hello world“类型的包,也会发生错误。
经过相当广泛的搜索,我没有找到解决办法。
发布于 2019-11-27 21:12:27
感谢EmersioN (https://stackoverflow.com/users/707267/emersion)的解决方案。本例中的问题是所选的Server目标版本。我的项目被配置为以“Server 2017”为目标,但连接到运行server 2012的服务器。
如果你看到这个错误,这可能是原因。
转到包含受影响包的Integration项目的“属性”页。在“属性页”对话框中,导航到“配置属性”>“常规”。在属性组“部署目标版本”下,在“TargetServerVersion属性”下拉列表中,选择与所连接的版本匹配的Server版本。
发布于 2019-12-04 15:05:19
我在VS2019 SSDT上也遇到了这种情况。在我的例子中,它是一个正在工作的SSIS包,在睡了一夜之后,机器就醒了,不会执行相同的脚本。这是我的脚步。希望他们能帮助你或者其他偶然发现这件事的人。
发布于 2022-01-17 21:12:29
我的背景
使用Server 2019 Developer (v15.0.2080.9)和VS2019社区(v16.11.9)通过SSDT创建包(SSIS项目 v3.15)。
VS中的包在过去执行时没有问题。然后,我将我的机器从Windows 10 Pro升级到11。现在,当运行相同的--可能是任何--包时,我得到以下错误:
===================================
Failed to start project (Microsoft Visual Studio)
===================================
Cannot create a debug host for the package. (Microsoft.DataTransformationServices.VsIntegration)
------------------------------
Program Location:
at Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.LaunchVsDebugger(Boolean isRemoteTest, IVsDebugger iVsDebugger, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.ValidateAndRunDebugger(Int32 flags, IOutputWindow outputWindow, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, ProjectItem startupProjItem, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchActivePackage(Int32 launchOptions)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.LaunchDtsPackage(Int32 launchOptions, DataTransformationsProjectConfigurationOptions options)
at Microsoft.DataTransformationServices.Project.DataTransformationsProjectDebugger.Launch(Int32 launchOptions, DataTransformationsProjectConfigurationOptions options)
===================================
Cannot communicate with the debug host process. The IDtsHost interface is not registered. (Microsoft.DataTransformationServices.VsIntegration)
------------------------------
Program Location:
at Microsoft.DataTransformationServices.Project.DebugEngine.DebugEngine.LaunchDtsDebugHost(Process& process, Boolean run64bit)
at Microsoft.DataTransformationServices.Project.DebugEngine.DtsProgramNode.CreateRuntimePackageInternal(IDtsHost& host, Process& process, Package& dtsPackage)
...and包不执行。
曾经尝试过的
我试过/核对了这里张贴的所有三个答案。
错误仍然存在。
这与Dev社区的职位建议升级VS扩展,SSIS项目。由于我安装了最近的版本,升级不适用,所以我从安装程序中选择了修复选项。
错误仍然存在。
然后,我对VS2019安装进行了修复。这反过来又需要对SSIS项目进行另一次修复。(我的机器上还有两台安装程序,这使得这很容易。)
错误仍然存在。
这个MSDN帖子建议重新注册DtsDebugHost.exe,如果失败,请重新安装Server.
我运行了DtsDebugHost.exe /regserver
命令。
错误仍然存在。
我的解决方案
然后,我选择修复我的Server安装,而不是重新安装。这是通过Server安装中心>维护>修复选项完成的。在我的例子中,我选择了默认实例MSSQLSERVER。
VS现在在没有错误的情况下运行,并成功地执行包。
我无法说明我的解决方案是完全基于修复的Server实例,还是尝试了其他操作和最后一个操作的组合。所以,我给出了我在后一种情况下所走的道路。
旁白:在我的系统上进行Server修复期间,其他选择是(1)另一个服务器实例SQLSERVER2019和(2)“共享组件”。选择这两种方法可能也解决了这个问题,但我无法证实这一点。
https://stackoverflow.com/questions/59078509
复制相似问题