Ssis

如何更改 SSIS 中的腳本任務版本?

  • November 25, 2020

我在 VS2015 的一個 SSIS 項目中添加了一個腳本任務。當我部署到 SQL Server 2016 時,我收到一條錯誤消息,指出該version 15.0腳本不受支持。

這在哪裡version 15 come from?閱讀有關 Stack Overflow 的其他類似問題,我發現您可以將項目的目標版本設置為 SQL Server 2012 - 我這樣做了(最終部署目標是 SQL Server 2012)。

我還嘗試刪除並重新創建腳本任務。在腳本的資訊中,它說它使用的是 C# 的 V10。

我該如何解決這個問題?

**腳本任務:錯誤:**從 XML 載入腳本任務時出現異常:System.Exception:腳本任務“ST_a1ad9dc5972c42b68c12a13155f10b6d”使用此版本的集成服務不支持的 15.0 版腳本。要執行包,請使用腳本任務創建一個新的 VSTA 腳本。在大多數情況下,當您在 %SQL_PRODUCT_SHORT_NAME% Integration Services 中打開 SQL Server Integration Services 包時,腳本會自動轉換為使用受支持的版本。在 Microsoft.SqlServer.Dts.Tasks.ScriptTask.ScriptTask.LoadFromXML(XmlElement elemProj,IDTSInfoEvents 事件)"

我還在 SSDT 2012 中打開了該項目,並使用不同的名稱進行了重建。同樣的錯誤。似乎必須有一個沒有被刪除的引用或什麼的。

這個問題的所有解決方案(https://stackoverflow.com/questions/34893267/ssis-script-task-vs15-not-work-when-deploy-on-sql-server-2014)都不起作用。

查看腳本所在的包中的 XML,我可以輕鬆找到該任務,並且在任何地方都沒有對版本 15 的引用。

=========== 編輯

在將項目複製到託管數據庫的機器上,打開 VS2015 並從那裡進行部署後,程序包就會執行。

然後當回到我的機器並在那裡建造時,它沒有。

這是一個錯誤嗎?還是我期望建構生成與使用 VS 嚮導相同的部署嚮導而做一些愚蠢的事情……

我有 SQL Server 2016 (13.0.4411.0),ssisdb有架構版本 (13.0.1601.5)。

我正在使用在 Visual Studio 2015 中創建的集成服務包。腳本組件具有路徑:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax它不會讓我通過集成服務目錄執行包(由於 Zach 經歷的消息)。但是,它似乎可以讓我通過文件系統執行它(使用 SQL 代理)。不確定這是否有效,將在包完成後更新。

我相信我有同樣的問題,這是解決我的問題的解決方法。

先說細節:

  • 我有 sql server 2016 (13.0.4411.0)
  • SSISDB 具有架構版本 (13.0.1601.5)
  • 我正在使用在 Visual Studio 中創建的集成服務包
  • 腳本組件(聲明它是 2015 C#)的路徑為:C:\Program Files (x86)\Microsoft SQL Server\130\DTS\Binn\VSTA14_IS_ST_CS_Template.vstax

如果我通過 SSMS 部署到目錄,它不會讓我通過集成服務目錄執行包(由於 Zach 遇到的消息 - 不支持 15.0 版)。

解決方法:

如果我通過 Visual Studio 將包部署到所需實例上的“集成服務目錄”,則此消息消失並且項目成功執行。這並不理想,因為我們應該能夠通過 SSMS 進行部署,但這意味著項目可以進行。

引用自:https://dba.stackexchange.com/questions/177652