in

UGISS Community

Il sito della community dello User Group Italiano di SQL Server

DataFlow and Duplicated Row

Last post 06-20-2008 16.30 by raffaeu. 7 replies.
Page 1 of 1 (8 items)
Sort Posts: Previous Next
  • 06-19-2008 21.56

    • raffaeu
    • Top 25 Contributor
      Male
    • Joined on 06-04-2007
    • Bermuda
    • Posts 68
    • Points 1.045

    DataFlow and Duplicated Row

    Ciao a tutti, sto implementando un DataFlow che legge dei records da una tabella di un SQL2k remoto (linked server) e fa un bulk insert nella sua copia speculare in SQL2005. Quel che vorrei e' che se viene lanciato il package e alcune righe sono gia' presenti nel 2k5 il mio package non vada in errore ma inserisca semplicemente quelle mancanti.

    Cosa mi suggerite?

    Raffaele Garofalo
    NET Coder alle isole Bermuda
    MCAD.NET, MCTS Sharepoint
    blog: http://blog.raffaeu.com
    • Post Points: 20
  • 06-20-2008 7.57 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.182
    • Points 15.485

    Re: DataFlow and Duplicated Row

    Ciao raffaeu

    prima della Destination utilizza una Lookup che utilizza i dati dalla stessa tabelle utilizzata Destination, ed imposta la gestione degli errori del Lookup ad "Ignore Error". In questo modo tutte le righe che non hanno una corrispondenza della tabella utilizza dal Lookup avranno un valore null per tutte le colonne estratte dalla stessa. A questo punto dopo il Lookup metti un Conditional Spilt dove crei uno split dove indirizzi tutte le righe che non hanno corrispondenza nel Lookup, e quindi utilizzi nsolo questo nuovo flusso come input della Destionation.

    PS
    Ma se hai un Linked Server pechè usi SSIS? Puoi fare tutto anche usando solamente T-SQL, se i dati non sono decine di milioni di righe.

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 20
  • 06-20-2008 13.31 In reply to

    • raffaeu
    • Top 25 Contributor
      Male
    • Joined on 06-04-2007
    • Bermuda
    • Posts 68
    • Points 1.045

    Re: DataFlow and Duplicated Row

    Ah Davide, mi starai odiando per aver mollato tutto <compreso qualche ''' progetto> ed essere partito al caldo.

    Allora purtroppo sto studiando per il 70-431 e quindi SSIS arrivera' questo inverno come studio hard-core. Bene usero' quello.
    Purtroppo non uso T-SQL per la semplice ragione che in primis i dati sono proprio milioni e vanno filtrati e <sistemati> i datatype. Quindi SSIS mi e' molto comodo. Per il lookup oggi ci provo. Grazie mille per il tips.

    (Sono stato il primo post su SSIS) Big Smile

    Raffaele Garofalo
    NET Coder alle isole Bermuda
    MCAD.NET, MCTS Sharepoint
    blog: http://blog.raffaeu.com
    Filed under:
    • Post Points: 20
  • 06-20-2008 14.12 In reply to

    • raffaeu
    • Top 25 Contributor
      Male
    • Joined on 06-04-2007
    • Bermuda
    • Posts 68
    • Points 1.045

    Re: DataFlow and Duplicated Row

    1. Ho creato un source con 3 colonne
    2. Nel Lookup ad ogni colonna letta faccio confronto con una colonna letta nella destinazione (la stessa)
    3. [qui vedo solamente le colonne del lookup, come faccio a fare l' if?]
    4. infine mappo le colonne del lookup verso la destinazione.
    Raffaele Garofalo
    NET Coder alle isole Bermuda
    MCAD.NET, MCTS Sharepoint
    blog: http://blog.raffaeu.com
    • Post Points: 5
  • 06-20-2008 14.56 In reply to

    • raffaeu
    • Top 25 Contributor
      Male
    • Joined on 06-04-2007
    • Bermuda
    • Posts 68
    • Points 1.045

    Re: DataFlow and Duplicated Row

    Ho risolto.

    A me non interessa sapere se e cosa, ma solo se la row completa e' nuova. Se e' nuova nell' errorOutput ho messo un RedirectRow e mi sparo un bel INSERT nella tabella di destinazione. Al contrario se e' stata aggiornata, macchinosamente controllo quali campi sono stati modificati e lancio l' update.

    Peccato che sto lavorando con tabelle da 30/40 campi quindi a volte 20 minuti solo per scrivere il conditional split. Cool

    Raffaele Garofalo
    NET Coder alle isole Bermuda
    MCAD.NET, MCTS Sharepoint
    blog: http://blog.raffaeu.com
    • Post Points: 20
  • 06-20-2008 16.22 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.182
    • Points 15.485

    Re: DataFlow and Duplicated Row

    raffaeu:

    Ah Davide, mi starai odiando per aver mollato tutto <compreso qualche ''' progetto> ed essere partito al caldo.

    Ma no figurati.....ti sto invidiando, quello si Smile

    raffaeu:
    Sono stato il primo post su SSIS

    No, di post sui SSIS ce ne sono parecchi, ma di default Community Server mostra solo quelli entro un certo periodo Smile

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 5
  • 06-20-2008 16.24 In reply to

    • dmauri
    • Top 10 Contributor
      Male
    • Joined on 05-14-2007
    • Novate Milanese
    • Posts 1.182
    • Points 15.485

    Re: DataFlow and Duplicated Row

    raffaeu:
    Al contrario se e' stata aggiornata, macchinosamente controllo quali campi sono stati modificati e lancio l' update.

    Ti conviene mettere tutte le righe da aggiornare in una tabella di stanging di appoggio e poi fare via T-SQL un bel update...from

    Davide Mauri
    Microsoft MVP - SQL Server, MCP, MCAD, MCDBA, MCT - http://www.davidemauri.it
    Socio Fondatore e Mentor di Solid Quality Learning Italy - http://www.solidq.com
    Presidente di UGISS: User Group Italiano Sql Server - http://www.ugiss.org
    • Post Points: 20
  • 06-20-2008 16.30 In reply to

    • raffaeu
    • Top 25 Contributor
      Male
    • Joined on 06-04-2007
    • Bermuda
    • Posts 68
    • Points 1.045

    Re: DataFlow and Duplicated Row

    Bene allora posso usare una bella temp table #table per buttar dentro i valori e poi lancio l' update e inteligentemente SQL dovrebbe butterla via quando il mio package SSIS si chiude e con esso la connessione.

    Thanks.

    Raffaele Garofalo
    NET Coder alle isole Bermuda
    MCAD.NET, MCTS Sharepoint
    blog: http://blog.raffaeu.com
    • Post Points: 5
Page 1 of 1 (8 items)
(C) 2007 User Group Italiano di SQL Server