Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Acquire Connection and Strange behavior when using Execute Package Task

I've a Master package where in I'm calling several packages using Execute package task.

Both child and master packages don't have any configuration and are connecting OLEDB (SQL Server) using hardcoded SQL authentication connections in the connection managers.

Also the packages have encrypt sensitive with the password.

Strange behavior seen: 1. Child Packages run successfully when run from BIDS but fail when run from master packages with Acquire Connection failure

"The AcquireConnection method call to the connection manager failed with error code 0xC0202009"

Can someone help with the resolution for this?

like image 221
user46795 Avatar asked Aug 11 '12 18:08

user46795


People also ask

Which exercise task is used to execute other packages present in the same project?

The Execute Package task can run child packages that are contained in the same project that contains the parent package.

Which child process is launched for package execution through Ssisdb catalog?

Parent execute Child1 and Child2 .

How do you call a package from one package to another in SSIS?

You can use the Execute package task to call another package in SSIS. If you also want to pass parameters that also you can do. 1. Execute package task is the straightforward way where you can call package within same project (if project deployment model) or from msdb/filesystem.


2 Answers

It seems that your child package is not getting the connection string from your parent package .You need to pass connection string from Parent to child package .

Check this article

Update :-

When you have EncryptSensitiveWithPassword as an access control for both your child and parent package then while executing the child pkg from parent package

You will be prompted to enter the password for your child package during execution .

There may be scenarios that even after entering the password at the run time child pkg execution fails due to acquire connection error .This may happens ( im not sure ) due to the child connection string (In Execute Package Task ) which may still be pointing to the old child package which has not been rebuild after the modification .

My Suggestion is when you drag a Execute SQL Task onto the control flow use the file System Location and point to the updated child package placed in the bin folder ( or your deployment path ) and enter the password of your child package in the task

enter image description here

In order to run the parent package from Integration Service (MSDB) then you need to some how pass the child decryption key while executing at run time .

Edit : Step 1 : Create a Package Configuration for parent SSIS package .Execute Package Task has a property PackagePassword.You need select this property while creating the config file

      Executables->ExecutePackageTask->PackagePassword

enter image description here

Step 2 : After creating the XML file open it and search for the ConfiguredType=property and in the configured Value enter the password for your child package

enter image description here

Step 3:After importing the parent package in MSDB select the configuration file in the configuration tab enter image description here

like image 187
praveen Avatar answered Oct 21 '22 07:10

praveen


64/32 bit error? Do you have excel connection managers as source maybe?

Dtexec have both a 64-bit and a 32-bit application. I assume that when you run from BIDS, it uses the 32 bits dtexec and how are you running the master? If you are double clicking it, that may be the issue because DTExecUI (Execute Package Utility) is available only as a 32-bit application. If you are working on a 64-bit server and run a package through the DTExecUI , the package will run in 32-bit emulation mode. Furthermore, the package might fail if the connection managers used are not 32-bit compliant.

Be sure to note that if you develop a package in a 32-bit environment and want to run the package in a 64-bit environment, the connection managers need to be 64-bit compliant. Some connection managers such as Excel work in a 32-bit environment only.

EDIT: try setting the password here: enter image description here

like image 33
Diego Avatar answered Oct 21 '22 07:10

Diego