in

UGISS Community

Il sito della community dello User Group Italiano di SQL Server

DataFlow redirect su errore Primary Key

Last post 07-01-2008 18.50 by dmauri. 3 replies.
Page 1 of 1 (4 items)
Sort Posts: Previous Next
  • 06-25-2008 14.48

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

    DataFlow redirect su errore Primary Key

    Nel seguente schema leggo dei dati che ricevo esternamente. Purtroppo questi dati non sono normalizzati ne tantomeno <controllati> quindi e' probabile che a volte mi vengano erroneamente inviate rows duplicate.

    Dopo aver controllato che non ci sono le rows nel mio sistema, e dopo aver convertito alcuni campi, inserisco il tutto.
    Problema

    Se ricevo una o piu' rows duplicate, il mio SQL INSERT fallisce ma non mi fornisce la possibilita' di redirectare solo le rows in errore e continuare ad inserire le altre, ricevo esclusivamente un errore di VIOLATION OF PRIMARY KEY. Ma siccome ricevo qualcosa come 300.000 righe ad ogni invio, e magari le righe duplicate sono solamente 30/40, io vorrei inserire le righe buone e redirectare quelle gia' presenti. Qualche consiglio?

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

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

    Re: DataFlow redirect su errore Primary Key

    Beh se vuoi continuare ad usare il FAST_LOAD come opzione (implicita se usi una SQL Server destination), l'unica possibilità è eliminare i duplicati.

    Tipicamente lo si fa utilizzando la trasformazione SORT che ti permette di eliminare i duplicati, ma è una soluzione moto lenta. Puoi però ottenere lo stesso risultato, in modo molto più performante, usando un AGGREGATE ed aggregando tutte le colonne, eliminando cosi i duplicati.

    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
  • 07-01-2008 18.47 In reply to

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

    Re: DataFlow redirect su errore Primary Key

    Ok mi studio la aggregate e poi posto i risultati. Volete sapere fino ad oggi come facevano? circa 300k records con 30/40 duplicati, beh distinct dei campi chiave e rimozione a MANO delle righe doppie ... Un datawarehouse che non avevo mai considerato. La manina Tongue Tied

    ALLUCINANTEEEEEEEE

    Big Smile

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

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

    Re: DataFlow redirect su errore Primary Key

    A mano!?!?!? Azz :-|

    Sono basito

    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
Page 1 of 1 (4 items)
(C) 2007 User Group Italiano di SQL Server