Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Trouble running SSIS package programmatically and from command line (DTEXEC) [duplicate]

I am attempting to execute an SSIS package programmatically using C#.

Application app = new Application();
Package package = app.LoadPackage(pkgFullPath, null);
package.Execute();

I am getting an error saying:

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.

I am using SSIS in Visual Studio 2010, but executing the C# code from an nunit test in VS 2012 (running .Net 4.0)

The package runs fine inside the SSIS project in VS 2010 if I launch it with debugging (press F5), but it fails with the same error if I try to run it using dtexec from the command line (same failure in both 32 and 64 bit version of dtexec). It also fails with the same error if I launch it from inside Visual Studio using ctrl + F5 (without debugging)

I have found articles online that suggest it's related to a 64 bit v 32 bit problem, but I am seeing the same error when running both versions of dtexec. I am using version 11.0.2100.60 of dtexec, which matches the version of the SQL Server Integration Services Designer in VS 2010.

I don't get the error if I run a simple package without a conditional split and lookup. Do I have to install something extra in order to run this outside of Visual Studio?

Any ideas?

like image 204
TGH Avatar asked Jul 17 '13 20:07

TGH


People also ask

How do I troubleshoot a failed SSIS package?

The main techniques for troubleshooting deployed packages are as follows: Catch and handle package errors by using event handlers. Capture bad data by using error outputs. Track the steps of package execution by using logging.

What does Dtexec exe do?

The dtexec command prompt utility is used to configure and execute SQL Server Integration Services packages. The dtexec utility provides access to all the package configuration and execution features, such as parameters, connections, properties, variables, logging, and progress indicators.


1 Answers

In continuation to my above comment,if the service is installed properly, then it might be an issue regarding the rights(I see that you are using SQL 2012) of the account the packages is executed from.

Refer http://technet.microsoft.com/en-us/library/hh213130.aspx

Hope it helps.

like image 157
Akshay Avatar answered Nov 11 '22 15:11

Akshay