2013-07-15 58 views
2

我有一些自定義控制流和數據流任務沒有顯示在SSIS工具箱中。當我在SSDT中打開一個包含自定義任務的包時,我會在加載包時遇到幾個錯誤。爲什麼SSIS工具箱中沒有顯示SSIS自定義任務?

Error loading MyModuleTemplate1.dtsx: Cannot create a task from XML for task "__ECT Fetch Configuration", type "MyEncryptedConfiguration, MyCustomTasks, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2bdffe791d57af79" due to error 0x80070057 "The parameter is incorrect.".

我已經按照拉斯和馬特的答覆從以下後http://social.msdn.microsoft.com/Forums/sqlserver/en-US/5fdf9243-7e38-401e-bf4a-9251738877f9/how-to-browse-the-installed-custom-task-in-sql-server-2012-ssis-ie-custom-ssis-control-flow-task,但是,仍然任務不顯示。

我在Windows Server 2008 R2 x64上使用SQL Server 2012 x64與SSDT。我已經驗證了這些任務在GAC中,並且程序集位於相應的SQL Server \ 110 \ DTS目錄中。由於我在引用32位程序集(SQL引用程序集)時不斷收到有關定位任何CPU的警告,程序集已被編譯爲32位。

我可以通過命令行成功地在目標服務器上執行包含自定義任務的包。另外,這些任務可以在我的開發機器上正常工作。我可以在SSIS工具箱中看到這些任務,並可以毫無問題地打開包。我的開發機器與目標機器幾乎完全相同,只是我完全安裝了Visual Studio 2010.

我錯過了什麼嗎?

+0

由於錯誤提及參數可以顯示一些代碼來定義您的任務的參數?還有一點需要考慮:您的任務是否需要第三方程序集,如果是,那麼所有那些程序集也安裝在服務器上的GAC中? –

回答

0

此問題是WiX安裝程序未正確安裝自定義任務的結果。以下是我所做的驗證。

出於測試目的,我創建了一個空的自定義任務,並通過複製文件和DTS \ Tasks目錄將其手動部署到目標服務器。這有效,因此我將其中一個拋出錯誤的任務的.cs文件添加到測試自定義任務並重新部署。我能看到兩個任務。使用原始自定義任務清理解決方案後,我手動將原始自定義任務部署到目標服務器,如測試自定義任務,並能夠在SSIS工具箱中查看任務。然後,我卸載了自定義任務,並使用WiX安裝程序將它們部署到目標服務器 - 問題重新浮出水面。所以問題出在安裝程序上。我之前嘗試手動安裝自定義任務失敗,因爲我使用的是從WiX安裝程序安裝的程序集,但我不知道爲什麼。

+0

實際上,您對Wix安裝程序配置做了哪些修改以使其正常工作? – siride