Questione : Pacchetto di SSIS ETL all'aggiornamento/alla fonte organizzazione dell'inserto alla destinazione?

Ciao, il

Could che qualcuno soddisfa lo aiuta qui, nuovo al roba di ETL e di SSIS, ho dati da rivedere che sono organizzati ad una tabella di SQL, che allora voglio per muovermi verso la nostra tabella di produzione ed aggiornare/inserto registra l'insieme basato su una tabella unica dell'organizzazione di key.

The ha una fila “SEGUENTE„ che identifica registra regolato, basata sul SEGUENTE io voglio confrontare la tabella di destinazione e se il SEGUENTE esiste, aggiorno l'annotazione di tutto o l'inserto nuovo otherwise.

I using SSIS per compire questo secondo l'immagine attached.

1. collega il redattore OLE di trasformazione di occhiata di DB Source
2. e configura l'uscita di errore a ignorare failure.
3. Split
- inserire lo stato record:
di ISNULL (Dest_SEQ) - aggiornare lo stato record: (Dest_TYP! = TYP) || (Dest_SALEDATE! = SALEDATE) || (Dest_INVOICED! = FATTURATO) || (Dest_WEEKDATE! = WEEKDATE) || (Dest_EWK! = EWK) || (Dest_ZWK! = ZWK) || (Dest_IY! = IY) || (Dest_WK! = SETTIMANA) || (Dest_ROMO! = ROMO) || (Dest_ROYR! =
4. del
di ROYR). Nuovo Reords va alle annotazioni aggiornate/>5. OLI di DB Destination

UPDATE dbo.sales
SET
TYP =? ,
SALEDATE =? ,
INVOICED =? ,
WEEKDATE =? ,
EWK =? ,
ZWK =? ,
IY =? ,
WK =? ,
ROMO =? ,
ROYR =?
WHERE SEGUENTE =? la tabella dell'organizzazione del

The ha circa 100 colonne con i dati, in modo da non sono sicuro quanto adatto è di definire un termine dell'annotazione dell'aggiornamento per ciascuno di quelli, forse la mia annotazione dell'aggiornamento sarà molto costosa fino alla risorsa quando stiamo parlando di 100.000 aggiornamenti.

Is là un senso poterlo cambiare io questo in moda da in una spaccatura condizionale (o nel usando qualcos'altro) per controllare se organizzazione SEGUENTE esisto in destinazione, se esso faccio, per aggiornare gli interi impianti qui sopra di record.

The, ma idealmente sto generando una chiave primaria sulla mia tabella SEGUENTE ed allora facendo un aggiornamento/inserto basati sopra se la chiave primaria esiste o non, come potesse io compire questo? il

ora, se regolo il SEGUENTE mentre una chiave primaria sulla mia tabella di destinazione “di vendite„ e rifa il mio SSIS io ottiene un errore: l'annotazione OLE di DB del

An è disponibile.  Fonte: “Cliente natale„ Hresult di Microsoft SQL: descrizione 0x80004005: “Violazione del vincolo “PK_sales_1„ di CHIAVE PRIMARIA. Non può inserire la chiave duplicata nell'oggetto “dbo.sales„.„.

But la tabella è vuoto, perché non può inserire la chiave SEGUENTE? il

Thanks per tutta la vostra guida che di help.

The ho seguito era: target= " _blank " " di http://vsteamsystemcentral.com/cs21/blogs/applied_business_intelligence/archive/2007/05/21/ssis-design-pattern-incremental-loads.aspx " del href= di .com/cs21/blogs/applied_business_intelligence/archive/2007/05/21/ssis-design-pattern-incremental-loads.aspx
di http://vsteamsystemcentral class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
disposizione >Staging notpretty della tabella " del class= " " di codeSnippet912413 del id= del
           
class= " lastRow del
>Attachments " di nome " del class= del class= " valore " del
il

class= " fileInfo " del
il title= " " di nome di schedario del class= " di SSIS.JPG il class= (30 KB)  Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)  
class= " descrizione " del
SSIS corrente Layout
target= " _blank " " di http://filedb.experts-exchange.com/incoming/2010/08_w33/336474/SSIS.JPG " " del href= " del attachmentLink del class= di larghezza dello style= del „ del alt= " SSIS " di http://filedb.experts-exchange.com/incoming/2010/08_w33/t336474/SSIS.JPG “dello src=
il class= di
del >
il
class= " fileInfo " del
il title= " " di nome di schedario del class= " di lookup-transorm.jpg il class= (89 KB)  Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)  
class= " descrizione " del
Occhiata Transform
target= " _blank " " di http://filedb.experts-exchange.com/incoming/2010/08_w33/336476/lookup-transorm.jpg " " del href= " del attachmentLink del class= di larghezza dello style= del  occhiata
il class= di
del >
il
class= " fileInfo " del
il title= " " di nome di schedario del class= " di conditional-split.jpg il class= (57 KB)  Javascript " del href= " " dei attachmentDetails del class= di (tipo di lima particolari)  
class= " descrizione " del
Split
condizionale target= " _blank " " di http://filedb.experts-exchange.com/incoming/2010/08_w33/336477/conditional-split.jpg " " del href= " del attachmentLink del class= di larghezza dello style= del  spaccatura condizionale„/>
il class= di
del >
class= del

Risposta : Pacchetto di SSIS ETL all'aggiornamento/alla fonte organizzazione dell'inserto alla destinazione?

Invece di usando una spaccatura condizionale, potreste provare una dimensione lentamente cambiante; una volta che camminate attraverso lo stregone, genererà gli inserti o gli aggiornamenti secondo se i vostri dati esistono già nella tabella oppure no.  Più, non dovete preoccuparti per la generazione delle vostre proprie domande. :)

hth

valkyrie_nc
Altre soluzioni  
 
programming4us programming4us