【发布时间】:2021-01-22 05:45:56
【问题描述】:
我在 Windows 2019 虚拟机上安装了 SQL Server 2019。该服务器上安装了 Microsoft Visual Studio Professional 2012。
-
我在一个项目中有一堆 SSIS 包,其中一些具有用 C# 2012 编写的脚本任务,所有这些包都可以在 Visual Studio 中正常运行。
-
任何包含脚本任务的包在从 SQL Server 代理作业运行时都会失败,并出现以下错误。
描述:从 XML 加载脚本任务时出现异常:System.IO.FileNotFoundException:无法加载文件或程序集 'Microsoft.VisualStudio.Tools.Applications,版本 = 15.0.0.0,文化 = 中性,PublicKeyToken = xxxxxxxxx ' 或其依赖项之一。该系统找不到指定的文件。 文件名:'Microsoft.VisualStudio.Tools.Applications,版本=15.0.0.0,文化=中性,PublicKeyToken=xxxxxxxxxx' 在 Microsoft.SqlServer.IntegrationServices.VSTA.VstaHelper.b__31_0() 在 Microsoft.SqlServer.VSTAHosting.VSTAScriptingEngine.DisposeVstaHelper() 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.MigrateVSTADenaliScriptProject(XmlElement elemProj,IDTSInfoEvents 事件) 在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj,IDTSInfoEvents 事件)
警告:程序集绑定日志记录已关闭。 要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 设置为 1。 注意:有一些与程序集绑定失败日志相关的性能损失。 要关闭此功能,请删除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。 结束错误 错误:2021-01-21 20:52:01.92 代码:0x00000003 来源:在 ERP 中创建凭证 说明:脚本任务已损坏。 结束错误 错误:2021-01-21 20:52:01.92 代码:0xC0024107 来源:在 ERP 中创建凭证 描述:任务验证期间出现错误。 结束错误 DTExec:包执行返回 DTSER_FAILURE (1)。 开始时间:晚上 8 点 52 分 01 秒 完成:晚上 8 点 52 分 01 秒 经过:0.5 秒
一些线程谈到将项目属性 Run64bitruntime 更改为 False ,没有用。
一些帖子谈到重新安装 SQL Server 和 Visual Studio,但我真的不想这样做,因为其中许多人谈到重新安装后会弹出很多其他错误。
请提出可以解决此问题的方法。
谢谢
【问题讨论】:
-
1) 你确定 VS 2012 完全兼容 SQL Server 2019 吗? 2) 你如何部署你的包,部署到哪里?
-
@RogerWolf,你是对的。我安装了 VS2019 Professional ,在 2019 年打开一个新项目,将我所有的 2012 包添加到新项目中,所有这些包都升级了。我确实看到了有关脚本任务需要迁移的警告,但它们都按预期开始工作。 Sql 作业开始执行所有带有/不带有脚本任务的包。谢谢。
标签: sql-server visual-studio ssis sql-agent-job