|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 4:43 PM
Points: 192,
Visits: 640
|
|
Hi. I have a situation where I have various tables named like, for example,
mytable_t1, mytable_t2, ... and so on.
I'd like to copy these tables nightly to another database using SSIS. Since the amount of tables can increase I am wondering if there is a way to do so dynamically so that the program is aware of when another table gets added.
So far I have> created a t-sql task that gets the tables along with a row id inserted into a object type ssis variable. I connect this variable to a forEach loop container using the ADO enumerator and the variable as the source object. I want to map the second column (table name) to another variable (user::currentTable). I thus map this second variable to index 1 to get the second column in the container's variable mapping dialogue. I hope this is correct.
Inside the container is a data flow with a source and destination only. I am curious if anyone has encountered this situation and how the dataflow needs to be configured.
Thanks
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Today @ 9:34 AM
Points: 6,722,
Visits: 11,762
|
|
Do all the tables have the same schema?
__________________________________________________________________________________________________ There are no special teachers of virtue, because virtue is taught by the whole community. --Plato
Believe you can and you're halfway there. --Theodore Roosevelt
Everything Should Be Made as Simple as Possible, But Not Simpler --Albert Einstein
The significant problems we face cannot be solved at the same level of thinking we were at when we created them. --Albert Einstein
1 apple is not exactly 1/8 of 8 apples. Because there are no absolutely identical apples. --Giordy
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 4:43 PM
Points: 192,
Visits: 640
|
|
| Hi and thank you for the reply. Yes they all have the same schema.
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Today @ 4:36 AM
Points: 5,678,
Visits: 6,126
|
|
mmartin1 (11/1/2012)
I'd like to copy these tables nightly to another database using SSIS. Since the amount of tables can increase I am wondering if there is a way to do so dynamically so that the program is aware of when another table gets added.
I would approach this slightly differently.
First, pull the tablelist into a package object for Recordsets with something similar to the following: SELECT [name] FROM sys.sysobjects WHERE [name] like 'mytable_%'
Next, fire up the forEach loop like you've done, feeding said result into another string package variable. Now, for the internals of the loop:
Quick script to feed a full SELECT * FROM <packagevariable> statement (full query) into yet another string package variable. This will be fed into the dataflow for the OLEDB source as an expression for the SQL statement. You can adjust the target table in a similar way via expressions and the original table's name.
- 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
|
|
|
|
|
SSC-Enthusiastic
      
Group: General Forum Members
Last Login: Friday, May 17, 2013 4:43 PM
Points: 192,
Visits: 640
|
|
| Thanks for the reply Craig. I'll play around with that and report back.
|
|
|
|