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
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
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
Step 3:After importing the parent package in MSDB select the configuration file in the configuration tab