Click here to monitor SSC
SQLServerCentral is supported by Red Gate Software Ltd.
 
Log in  ::  Register  ::  Not logged in
 
 
 
        
Home       Members    Calendar    Who's On


Add to briefcase 12»»

Pass SSIS Object to child SSIS package Expand / Collapse
Author
Message
Posted Wednesday, December 18, 2013 3:09 PM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, April 15, 2014 2:32 PM
Points: 182, Visits: 479
I tried to pass a SSIS Object (actually a DataSet) to a child package. I got an error which tells me that I am not allowed to do that. Why can't I do it ? This never happens in a programming language. Are there any workarounds for this ?

Thanks.

EDIT -

Error - Property "Value" with type "Object" of variable "User::MY_DATA_SET"
can not be exported to the configuration file.

Post #1524372
Posted Wednesday, December 18, 2013 3:27 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Thursday, April 17, 2014 3:16 PM
Points: 5,986, Visits: 6,931
You were trying to pass an object variable with a dataset in it to the child package, or something else? Need a little more detail about exactly what you're trying to pass.


- Craig Farrell

Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

For better assistance in answering your questions | Forum Netiquette
For index/tuning help, follow these directions. |Tally Tables

Twitter: @AnyWayDBA
Post #1524379
Posted Wednesday, December 18, 2013 3:34 PM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, April 15, 2014 2:32 PM
Points: 182, Visits: 479
Evil Kraig F (12/18/2013)
You were trying to pass an object variable with a dataset in it to the child package, or something else? Need a little more detail about exactly what you're trying to pass.


Actually, it is an Object which is meant to hold a DataSet. I was trying to pass this variable via child package config. Does that make my question clear ?

Post #1524385
Posted Wednesday, December 18, 2013 3:43 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Friday, January 03, 2014 3:52 PM
Points: 6,066, Visits: 5,277
I didn't think you could pass an object between, virtually everything else yes.. But not an object.

CEWII
Post #1524388
Posted Wednesday, December 18, 2013 3:54 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Thursday, April 17, 2014 3:16 PM
Points: 5,986, Visits: 6,931
blasto_max (12/18/2013)
Evil Kraig F (12/18/2013)
You were trying to pass an object variable with a dataset in it to the child package, or something else? Need a little more detail about exactly what you're trying to pass.


Actually, it is an Object which is meant to hold a DataSet. I was trying to pass this variable via child package config. Does that make my question clear ?



Yup, just wanted to make sure we were talking apples to apples.

Check out this article. System.Object doesn't want to work via configurations.
http://agilebi.com/jwelch/2009/10/03/passing-an-object-from-a-parent-package-to-a-child



- Craig Farrell

Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

For better assistance in answering your questions | Forum Netiquette
For index/tuning help, follow these directions. |Tally Tables

Twitter: @AnyWayDBA
Post #1524391
Posted Wednesday, December 18, 2013 5:24 PM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, April 15, 2014 2:32 PM
Points: 182, Visits: 479
Evil Kraig F (12/18/2013)
blasto_max (12/18/2013)
Evil Kraig F (12/18/2013)
You were trying to pass an object variable with a dataset in it to the child package, or something else? Need a little more detail about exactly what you're trying to pass.


Actually, it is an Object which is meant to hold a DataSet. I was trying to pass this variable via child package config. Does that make my question clear ?



Yup, just wanted to make sure we were talking apples to apples.

Check out this article. System.Object doesn't want to work via configurations.
http://agilebi.com/jwelch/2009/10/03/passing-an-object-from-a-parent-package-to-a-child


Thank you very much. It works now ! But, this is so unintuitive. I wish it was more like programming.
Post #1524410
Posted Wednesday, December 18, 2013 5:29 PM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Thursday, April 17, 2014 3:16 PM
Points: 5,986, Visits: 6,931
blasto_max (12/18/2013)


Thank you very much. It works now ! But, this is so unintuitive. I wish it was more like programming.


My pleasure. I'm pretty sure the problem comes down to the unknown size of the variable involved and the child package doesn't receive anything ByRef, only ByValue. The object in question should be passed ByRef in my mind, but they don't. No idea why. I didn't see anything in my browse showing this was improved in 2012 or beyond, either.



- Craig Farrell

Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

For better assistance in answering your questions | Forum Netiquette
For index/tuning help, follow these directions. |Tally Tables

Twitter: @AnyWayDBA
Post #1524412
Posted Wednesday, December 18, 2013 8:11 PM


SSC-Dedicated

SSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-DedicatedSSC-Dedicated

Group: General Forum Members
Last Login: Today @ 6:29 PM
Points: 35,977, Visits: 30,266
Nice trick. It's also another notch on a 2x4 list of reasons why I try to do everything in T-SQL.

--Jeff Moden
"RBAR is pronounced "ree-bar" and is a "Modenism" for "Row-By-Agonizing-Row".

First step towards the paradigm shift of writing Set Based code:
Stop thinking about what you want to do to a row... think, instead, of what you want to do to a column."

"Change is inevitable. Change for the better is not." -- 04 August 2013
(play on words) "Just because you CAN do something in T-SQL, doesn't mean you SHOULDN'T." --22 Aug 2013

Helpful Links:
How to post code problems
How to post performance problems
Post #1524431
Posted Thursday, December 19, 2013 12:57 AM


SSCertifiable

SSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiableSSCertifiable

Group: General Forum Members
Last Login: Thursday, April 17, 2014 3:16 PM
Points: 5,986, Visits: 6,931
Jeff Moden (12/18/2013)
Nice trick. It's also another notch on a 2x4 list of reasons why I try to do everything in T-SQL.


Yeah, yeah, my favorite Luddite. :P

Considering I avoid child packages in general like the plague, I don't run into this very often. I find them to offer little assistance, as you can rarely modularize a child package well enough for multiple inheritance of over 3 packages (my minimum for when I look to standardize code calls in just about everything). SSIS shouldn't be treated like standard coding where you're typically trying to pass information between multiple component functions off a MAIN() or whatever.

SSIS however is awesome for laying out processing methodology and calling sequential procedures with obvious and self-documenting logic pathing, however. There's plenty of other things it can do but I find a single package controlling a complete task to be very easy to read without having to dig through code to find the control pass points or dig through signficantly complex if trees. There's also places where it's faster than T-SQL (small lookup lists come to mind) if your transforming across servers.

And now I sound like a brochure. No more after midnight typing for me. Bedtime!



- Craig Farrell

Never stop learning, even if it hurts. Ego bruises are practically mandatory as you learn unless you've never risked enough to make a mistake.

For better assistance in answering your questions | Forum Netiquette
For index/tuning help, follow these directions. |Tally Tables

Twitter: @AnyWayDBA
Post #1524473
Posted Thursday, December 19, 2013 11:30 AM
SSC-Enthusiastic

SSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-EnthusiasticSSC-Enthusiastic

Group: General Forum Members
Last Login: Tuesday, April 15, 2014 2:32 PM
Points: 182, Visits: 479
Thanks for all the tips @Evil Kraig F. I made a child package which will accept a DataSet from a parent package and convert it into a CSV file. Since you mentioned that child packages are inconvenient and are to be avoided, I was wondering if you can see/foresee any problems in my approach ?

Post #1524726
« Prev Topic | Next Topic »

Add to briefcase 12»»

Permissions Expand / Collapse