SSIS Sql Server 2005 RICERCA -->> DTS Sqk Server 2000 ????

mercoledì 23 luglio 2008 - 17.31

ruirem Profilo | Newbie

Salve,
scrivo per avere un aiuto per un DTS.

Da una connessione prendo dei dati che, una volta trasformati, vanno inseriti in una tabella destinazione.

Avrei bisogno di un'attività come RICERCA per i SSIS di sql server 2005 , cioè di un'attività che controlli se un dato record non esiste prima di andare a scrivere sulla destinazione . In tal caso bisogna scriverlo , altrimenti no.

Qualcuno potrebbe darmi una dritta?
Grazie.

alx_81 Profilo | Guru

>Salve,
Ciao!

>Avrei bisogno di un'attività come RICERCA per i SSIS di sql server
>2005 , cioè di un'attività che controlli se un dato record non
>esiste prima di andare a scrivere sulla destinazione . In tal
>caso bisogna scriverlo , altrimenti no.
Puoi seguire due strade:

1) Utilizzare un lookup task, di cui un esempio è indicato su questo mio post:
http://blogs.dotnethell.it/suxstellino/SSIS-Il-lookup-task-vantaggi-svantaggi-ed-ottimizzazione.__11180.aspx

Tramite il task puoi controllare l'esistenza di un record su di una tabella tramite una chiave di ricerca definita. Se il lookup task lancia un'eccezione, il record non esiste, e quindi è nuovo inserimento, in caso contrario è aggiornamento (oppure nulla, dipende cosa vuoi fare tu).

2) Utilizzare una stored procedure tramite un OLEDB Command, controllando l'esistenza del record tramite EXISTS:

IF NOT EXISTS (SELECT campi FROM tabella WHERE condizione) BEGIN -- INSERISCO END

Dopo aver definito la stored procedure, è sufficiente utilizzare l'OLEDBCommand per lanciarla..

>Grazie.
Di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

ruirem Profilo | Newbie

Ciao!
Grazie mille per la risposta, ma ciò che mi hai scritto riguarda comunque SQL SERVER 2005. Io avrei bisogno di un qualcosa di simile per i DTS di SQL SERVER 2000.

Grazie ancora!

alx_81 Profilo | Guru

>Ciao!
>Grazie mille per la risposta, ma ciò che mi hai scritto riguarda
>comunque SQL SERVER 2005. Io avrei bisogno di un qualcosa di
>simile per i DTS di SQL SERVER 2000.
Avevo capito che ti servisse per 2005, scusami..
Che ne dici di usare la funzionalità di lookup del DTS Transformation Task?

Guarda qui:
http://www.sqldts.com/277.aspx

>Grazie ancora!
di nulla!

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

ruirem Profilo | Newbie

Ottima Soluzione!!! Grazie mille!!!

Nel frattempo ero riuscito nell'intendo inserendo le due sorgenti come linked server (un db oracle ed una AS/400) le due sorgenti ed inserendo come query di selezione nella trasformazioni una query con un not exists che andasse a controllare la presenza dei record di oracle in as/400.

Ma credo che utilizzerò la tua! ;-)

Grazie mille!
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5