SSIS 包脚本任务编辑器停止工作

Posted

技术标签:

【中文标题】SSIS 包脚本任务编辑器停止工作【英文标题】:SSIS Package Script Task Editor Stopped Working 【发布时间】:2021-08-13 00:09:09 【问题描述】:

过去几年,我一直在我的 PC 上愉快地编辑 SSIS 包(我的意思是使用相同的安装操作系统和软件),直到最近脚本任务编辑器对话框上的“编辑脚本...”按钮停止工作.当我单击该按钮时,它什么也不做。我使用的是 Visual Studio 2017,但我在同一台机器上安装了 VS 2015、2013 和 2010。我还安装了多个版本的 sql server 数据工具(并安装了多个版本的 VSTA 和支持库)。我已经尝试了很多方法来让它工作但没有成功,所以我决定卸载所有版本的 Sql Server Data Tools 和所有版本的 Visual Studio Tools for Applications(以避免我在重新安装所有组件时可能引入的任何问题在尝试解决此问题时做了),然后安装带有“数据和存储处理”工作负载的 Visual Studio 2019。

我认为全新安装会起作用,但事实并非如此。我在 VS 2019 中安装了 SSIS 扩展并创建了一个新的 SSIS 项目。当我添加一个脚本任务并打开它进行编辑然后单击“编辑脚本...”按钮时,我收到以下错误:

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

无法显示 Visual Studio 2015 Tools for Applications 编辑器。 (微软视觉工作室)

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

无法加载文件或程序集“Microsoft.VisualStudio.Tools.Applications, Version=16.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。该系统找不到指定的文件。 (mscorlib)


节目地点:

服务器堆栈跟踪: 在 Microsoft.SqlServer.IntegrationServices.VSTA.VstaHelper.c__DisplayClass4.b__3() 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.AsyncProcessMessage(IMessage msg, IMessageSink replySink)

在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.EndInvokeHelper(消息 reqMsg,布尔 bProxyCase) 在 System.Runtime.Remoting.Proxies.RemotingProxy.Invoke(对象未使用,消息数据和 msgData) 在 System.Func1.EndInvoke(IAsyncResult result) at Microsoft.SqlServer.IntegrationServices.VSTA.MtaExecution.RunFunc[TResult](Func1 函数) 在 Microsoft.SqlServer.IntegrationServices.VSTA.VstaHelper.LoadNewProject(字符串模板路径,字符串模板名称,字符串项目名称) 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTaskUI.ShowIDE()

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

无法加载文件或程序集“Microsoft.VisualStudio.Tools.Applications, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或其依赖项之一。系统找不到指定的文件。

最初我认为它报告的版本号与此错误消息中列出的不同,但此后我尝试从 https://www.microsoft.com/en-us/download/details.aspx?id=58316&WT.mc_id=DX_MVP4025064 和 https://www.microsoft.com/en-us/download/details.aspx?id=56046 安装多个版本的 VSTA

我不记得最近在这台电脑上安装过任何新软件,所以我很困惑为什么这会突然失败以及为什么全新安装会出现同样的问题。

有没有其他人经历过这样的事情(如果有,你知道为什么会这样吗)?有没有人对我应该如何尽快恢复工作有一些建议?任何帮助将不胜感激,谢谢。

【问题讨论】:

【参考方案1】:

这是引入 VS2019 及其 SSIS 扩展的一个错误。

最近解决了。

请确保您已安装以下内容:

VS2019,v.16.9.* SQL Server 集成服务项目,v.3.13.1

下载链接:SQL Server Integration Services Projects

重要摘录:

有时此产品或 Visual Studio Tools for Applications 2019 在 VS 实例升级期间可能会以某种方式被删除。如果您现有的 SSIS项目无法加载,请尝试通过以下方式修复此产品 控制面板。如果点击“Edit Script”时没有弹出VS, 请尝试通过控制面板修复 VSTA 2019。

【讨论】:

感谢您帮助我解决这个问题。我实际上已经安装了这些版本。此错误的描述似乎与某些相同的组件有关,但行为与我所遇到的不同(我根本无法查看要编辑的代码)。也许他们引入了一个新的错误,并修复了该错误。 @David,我在答案中添加了摘录。请尝试一下。 谢谢伊扎克。我想你已经弄清楚了最初的问题是什么。除此之外,我意识到我已经安装了 VSTA 2019 sdk(它显然不包含运行时二进制文件),因为这是我在谷歌上搜索“VSTA 安装程序”时出现的第一件事。我安装了它并解决了这个问题:microsoft.com/en-us/download/confirmation.aspx?id=58317 @大卫。很高兴听到问题已解决。

以上是关于SSIS 包脚本任务编辑器停止工作的主要内容,如果未能解决你的问题,请参考以下文章

python 停止 EasyScheduler 调度 工作流任务 脚本分享

Unity - 我的脚本在编辑器上停止工作,但在我的构建(android,ios)上工作

SSIS 数据流脚本任务错误处理

从 SQL 代理运行时 SSIS 脚本任务失败

PHP Mail 在我不编辑代码的情况下停止工作

在 SSIS 包中将参数值传递给变量会导致运行时错误