我現在想要完成的只是讓我的自定義組件顯示在 SSIS 工具箱中。我一直在尋找有關在 Visual Studio 2019 中創建自定義資料流組件的任何資訊。我??發現了很多過時的示例和已解決的問題,但沒有一個可以幫助我解決我的問題。
根據 Microsoft 對如何執行此操作的描述,您會認為您所要做的就是按照他們的說明進行操作,它就會起作用。不是這樣,至少對我來說還不是。
到目前為止,這是我為簡化并讓任何作業正常所做的作業:
- 我創建了一個類別庫并參考了以下程式集:
- Microsoft.SqlServer.DTSPipelineWrap
- Microsoft.SQLServer.DTSRuntimeWrap
- Microsoft.SQLServer.ManagedDTS
- Microsoft.SqlServer.PiplineHost
繼承自 PipelineComponent 并添加了 DtsPipelineComponent 屬性。
重寫的方法(下面的代碼)
簽署大會
創建了要安裝到 GAC 中的構建后事件并將程式集復制到
C:\Program Files\Microsoft SQL Server\130\DTS\PipelineComponents檔案夾中。在 SSIS 專案中,我在 SSIS Toolbox 上進行了重繪 ,但我的組件沒有顯示出來。我已經嘗試通過轉到工具>>選擇工具箱專案并選擇程式集來瀏覽程式集。
我收到這條訊息:

這是我的簡化代碼,它什么都不做:很抱歉使用影像發布它,但使用推薦的代碼熒光筆也不適用于我。

這是 GAC 串列的螢屏截圖:

我肯定錯過了什么。
任何幫助或想法將不勝感激。如果我不能讓它作業,我將不得不放棄并求助于腳本組件轉換。真的很討厭這樣做,因為這意味著每個開發人員都必須維護大量額外的代碼。
先感謝您。
uj5u.com熱心網友回復:
模糊的回憶,但我會試一試。
安裝到 GAC 意味著當包運行時,執行引擎將能夠找到所需的程式集并執行代碼指令。
設計時需要其他地方的程式集,因為......原因。對于 2005/2008,您必須手動將專案添加到“SSIS 工具箱”。您正在嘗試將專案添加到“工具箱”,這是一個令人困惑的相似名稱,但它不是 SSIS。僅當打開包且專案型別為 SSIS 時才會填充 SSIS 工具箱。

Visual Studio 現在自動拾取組件,但無論哪種方式,程式集都需要位于目標版本 Microsoft SQL Server XXX DTS 程式集域檔案夾中。
假設我為 SQL Server 2017 構建了一個帶有系結的資料流組件。因此我將安裝到
C:\Program Files\Microsoft SQL Server\140\DTS\PipelineComponents
如果你建立了一個自定義任務,它會去
....\DTS\Tasks
在 64 位機器上,將組件 dll 復制到 C:\Program Files (x86)\Sql Server\Dts<適當版本>\PipelineComponent\ 檔案夾
這將需要管理員權限,但您已經需要它們來 GAC 處理程式集。
這篇紅門文章似乎也證實了我所說的。開發自定義 SSIS 源組件
如果你有聰明的開發人員,你也可以看看使用Biml來創建你的 SSIS 包。有了它,您可以為公共專案定義一個腳本任務/組件,并且每當您將 Bi??ml 發送到 SSIS 包中時,它們都使用相同的公共核心邏輯位。如果您不使用自定義組件路由,則不會遇到像您那樣微妙的復制/粘貼繼承。或者您使用宣告性框架來描述您的包,也就是 Biml。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/407802.html
標籤:
上一篇:子查詢回傳超過1個值-錯誤訊息
下一篇:應該作業的簡單查詢不是
