调试器未正确安装SSIS

时间:2018-05-24 12:44:11

标签: sql-server visual-studio ssis visual-studio-2017

我在Windows 10上使用Visual Studio 2017创建了数据集成服务项目。

我已经安装了SQL Server 2017和Visual Studio Community Edition。

我创建了简单SSIS包,它执行从csv文件到SQL服务器表的数据加载。

当我执行ctrl + F5(执行而不调试)时,我收到了以下错误

  

===================================

     

无法开始调试。调试器未正确安装。跑   设置安装或修复调试器。 (Microsoft Visual Studio)

     

------------------------------计划地点:

     

在   Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.LaunchVsDebugger(IVsDebugger   iVsDebugger,DataTransformationsProjectConfigurationOptions选项)
  在   Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.ValidateAndRunDebugger(的Int32   flags,IOutputWindow outputWindow,   DataTransformationsProjectConfigurationOptions选项)   Microsoft.DataTransformationServices.Project.DtsPackagesFolderProjectFeature.ExecuteTaskOrPackage(项目项   prjItem,String taskPath)

     

===================================

     

无法启动程序'DTS'。

     

未正确安装调试器。无法调试请求   代码类型。运行安装程序以安装或修复调试程序。 (微软   Visual Studio调试器)

     

------------------------------计划地点:

     

在   System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(的Int32   errorCode,IntPtr errorInfo)at   Microsoft.DataTransformationServices.Project.DataTransformationsPackageDebugger.LaunchVsDebugger(IVsDebugger   iVsDebugger,DataTransformationsProjectConfigurationOptions选项)

但是,当我只做F5时,它工作正常,即数据成功推送到SQL服务器。

Visual Studio调试器存在问题,我尝试了很多次修复并重新安装。什么都没有帮助。

任何建议都非常感谢。

3 个答案:

答案 0 :(得分:1)

该错误消息具有误导性。

当您在SSDT中使用调试(F5)运行SSIS包时,如果您查看任务管理器,您会看到... dtsdebugger或某些东西旋转,这就是我们如何可视化通过数据流移动的行,检查手表,检查断点等。

在没有调试的情况下运行SSIS包时,您将在使用DTEXEC.exe的命令行运行它。示例命令行看起来像

dtexec.exe /proj bin\Development\MyProject.ispac /pack MyPackage.dtsx /rep V

但是,Microsoft希望为他们的工作获得报酬,因此禁用在调试器之外运行SSIS。这可以防止人们开发解决方案并让它们以自动方式运行。

DTEXEC检查是否已安装SQL Server Integration Services Service 。安装该服务的唯一方法是使SQL Server媒体只能通过授权许可渠道获得。

  • SSDT - 免费下载和开发。
  • SQL Server - 打开钱包

答案 1 :(得分:0)

我确实能够使用互联网上提供的不同方法通过试错法解决问题。我几乎花了一个星期的时间来解决问题,最后我很开心,因为花的时间很丰富。

我确实能够通过 SQL server 2016 Visual Studio 2015 以及相应的 SSDT 2015 解决问题。我确保每次都以管理员身份安装(右键单击EXE并以管理员身份运行)。

我遵循了以下步骤

  1. 我卸载了所有SQL Server管理工作室,SQL Server 2017,带有SSDT的Visual Studio 2017。

  2. 删除了文件夹

    C:\用户\ tat84336 \应用程序数据\本地\微软\的VisualStudio \ 14.0  C:\ Users \用户tat84336 \应用程序数据\漫游\微软\ VisualStudio的\ 14.0

  3. 已安装的SQL Server 2016(以管理员身份)

  4. 已安装的SQL Server管理工作室最新版本(以管理员身份)

  5. 安装Visual Studio 2015(对我来说VS 2015给了一些丢失的DLL,我做了修复 - 它开始正常工作)

  6. 最后我安装了2015年的Visual Studio数据工具。

  7. 请从here找到安装VS2015,SSDT-2015和SQL Server 2015的exes,您也​​可以通过搜索从官方网站下载。

    来自here

    和SSMS

答案 2 :(得分:-1)

是的,这是标准的SSIS包行为,不用担心 SSIS包具有以下调试功能:

  • 在某些SSIS任务上设置断点。这允许检查可变内容。 MS Docs on this
  • 在数据流任务中设置数据查看器。这允许在特定路径检查数据流的内容。 MS Docs

无论如何,在设置断点或数据查看器之后,在VS中运行package并等到它到达断点或数据查看器。