Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
SSIS - Ordine esecuzione Flusso Dati
giovedì 22 luglio 2010 - 10.27
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
Visual Studio 2008
|
SQL Server 2008 R2
|
SQL Server 2008
|
SQL Server 2005
alexj70
Profilo
| Newbie
2
messaggi | Data Invio:
gio 22 lug 2010 - 10:27
Buongiorno a tutti, sto iniziando ad utilizzare SSIS e mi sono trovato davanti ad un problema, diciamo uno dei tanti :).
Ho creato un pacchetto con all'interno tre flussi dati, due molto semplici composti ognuno da due origini OLE DB dove effettuo delle trasformazioni e una merge Join, il terzo invece deve effettuare utilizza 6 origini OLE DB e deve effettuare una serie di merge join in cascata per arrivare a scrivere il risultato in una tabella sql, il mio problema è che l'esecuzione dei componenti non è sequenziale, diciamo dall'alto in basso, e quindi i componenti più bassi che in realtà dovrebbero essere eseguiti per ultimi finiscono prima degli altri con il risultato di non scrivere niente nel file di destinazione.
La mia domanda quindi è : é possibile definire una gerarchia di esecuzione all'interno di un flusso dati ? oppure ci sono strade alternative ?
Grazie mille
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 23 lug 2010 - 10:16
>Buongiorno a tutti,
ciao! e benvenuto su dotnethell!
>Ho creato un pacchetto con all'interno tre flussi dati, due molto
>semplici composti ognuno da due origini OLE DB dove effettuo
>delle trasformazioni e una merge Join, il terzo invece deve effettuare
>utilizza 6 origini OLE DB e deve effettuare una serie di merge
>join in cascata per arrivare a scrivere il risultato in una tabella
>sql, il mio problema è che l'esecuzione dei componenti non è
>sequenziale, diciamo dall'alto in basso, e quindi i componenti
>più bassi che in realtà dovrebbero essere eseguiti per ultimi
>finiscono prima degli altri con il risultato di non scrivere
>niente nel file di destinazione.
Prima di proporti una soluzione, ti chiedo se è necessario effettuare merge join ed altre operazioni di "unione" direttamente su SSIS.
Potrebbe essere necessario, non fraintendermi, però se le sorgenti fanno parte dello stesso database, potresti pensare a fare join direttamente su sql evitando overhead su SSIS.
Se invece le sorgenti sono completamente separate, allora ok. Questo perchè le operazioni di join e le aggregazioni sono a volte più veloci direttamente sul comando sorgente.
Questo come cappello introduttivo
>La mia domanda quindi è : é possibile definire una gerarchia
>di esecuzione all'interno di un flusso dati ? oppure ci sono strade alternative ?
A mio avviso la strada alternativa è fare più dataflow e creare la gerarchia sul control flow.
>Grazie mille
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
alexj70
Profilo
| Newbie
2
messaggi | Data Invio:
ven 23 lug 2010 - 11:01
Grazie mille per la risposta, in alcuni casi la merge potrei farla da sql direttamente, però pensavo di farla in ssis per utilizzare le variabili al posto dei nomi tabella.
Proverò a farlo gestendo + flussi.
Saluti
Alessandro Pelagotti
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !