我正在嘗試使用C#以編程方式執行SSIS包。以編程方式和從命令行(DTEXEC)運行SSIS包故障
Application app = new Application();
Package package = app.LoadPackage(pkgFullPath, null);
package.Execute();
我收到一個錯誤說:
Error in Microsoft.SqlServer.Dts.Runtime.TaskHost/SSIS.Pipeline : To run a SSIS package outside of SQL Server Data Tools you must install Conditional Split of Integration Services or higher.
Error in Microsoft.SqlServer.Dts.Runtime.TaskHost/SSIS.Pipeline : To run a SSIS package outside of SQL Server Data Tools you must install Lookup of Integration Services or higher.
我在Visual Studio 2010中使用SSIS,但在VS 2012從NUnit測試執行的C#代碼(運行.NET 4.0)
如果我使用調試(按F5)啓動它,該包在VS 2010中的SSIS項目中運行良好,但如果我嘗試使用命令行中的dtexec運行它,則會失敗並顯示相同的錯誤(同樣在32和64位版本的dtexec)。它也失敗,如果我從Visual Studio中使用CTRL + F5啓動它(沒有調試)
我發現在線文章,表明它與64位v 32位問題有關,但我看到運行這兩個版本的dtexec時出現同樣的錯誤。我正在使用dtexec的版本11.0.2100.60,它與VS 2010中的SQL Server Integration Services設計器的版本相匹配。
如果我在沒有條件拆分和查找的情況下運行簡單包,則不會收到錯誤。爲了在Visual Studio之外運行,我需要額外安裝一些東西嗎?
任何想法?
你確定集成服務安裝正確?BIDS和SSDT將能夠執行包。如果你想使用DTEXEC或以編程方式運行,必須安裝集成服務。 檢查服務,您的系統上運行。如您的方案,「SQL Server集成服務」要麼不會在那裏還是處於停止狀態。 – Akshay
包屬性,你嘗試過調整Run64BitRuntime財產?[參考] (http://goo.gl/QjhgFp) –
謝謝你們,我希望其中的一些想法可能對你有所幫助r有類似問題的其他人。但是,我的項目最終走向了一個不同的方向,因此我不再需要嘗試新的解決方案。 – TGH