Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:SQL Server
SSIS Integration Runtime in Azure Data Factory
La trasformazione Lookup esegue ricerche mettendo in relazione i dati nelle colonne di input con le colonne di un dataset di riferimento. È possibile utilizzare la ricerca per accedere a informazioni aggiuntive in una tabella correlata basata sui valori presenti nelle colonne comuni.
Il set di dati di riferimento può essere un file di cache, una tabella o una vista esistente, una nuova tabella o il risultato di una query SQL. La trasformazione Ricerca utilizza una gestione connessione OLE DB o una gestione connessione cache per connettersi al set di dati di riferimento. Per altre informazioni, vedere Gestione connessione OLE DB e Gestione connessione della cache
È possibile configurare la trasformazione Lookup nei modi seguenti:
Selezionare la gestione connessione che si desidera utilizzare. Se si desidera eseguire la connessione a un database, selezionare una gestione connessione OLE DB. Se si desidera eseguire una connessione a un file di cache, selezionare una gestione connessione della cache.
Specificare la tabella o la vista che contiene il set di dati di riferimento.
Generare un set di dati di riferimento specificando un'istruzione SQL.
Specificare i join tra il set di dati di input e quello di riferimento.
Aggiungere le colonne del set di dati di riferimento all'output della trasformazione Lookup.
Configurare le opzioni di memorizzazione nella cache.
La trasformazione Ricerca supporta i seguenti provider di database per il gestore connessione OLE DB:
-
SQL Server
Oracle
DB2
La trasformazione Ricerca tenta di eseguire un equijoin tra i valori nell'input della trasformazione e quelli nel set di dati di riferimento. (Un equi-join significa che a ogni riga nell'input di trasformazione deve corrispondere almeno una riga nel set di dati di riferimento.) Se non è possibile eseguire un equi-join, la trasformazione Lookup esegue una delle azioni seguenti:
Se non esiste una voce corrispondente nel set di dati di riferimento, non viene eseguito alcun join. Per impostazione predefinita, la trasformazione di ricerca considera come errori le righe prive di voci corrispondenti. Tuttavia, è possibile configurare la trasformazione Ricerca per reindirizzare tali righe a un output senza corrispondenza.
Se nella tabella di riferimento sono presenti più corrispondenze, la trasformazione Ricerca restituisce solo la prima corrispondenza restituita dalla query di ricerca. Se vengono rilevate più corrispondenze, viene generato un errore o un avviso nella trasformazione Ricerca solo se questa è stata configurata in modo da caricare l'intero set di dati di riferimento nella cache. In questo caso, la trasformazione Lookup genera un avviso quando rileva più corrispondenze durante il popolamento della cache.
È possibile utilizzare anche join composti, ovvero unire in join più colonne nell'input della trasformazione alle colonne nel set di dati di riferimento. La trasformazione supporta colonne di join con qualsiasi tipo di dati, ad eccezione di DT_R4, DT_R8, DT_TEXT, DT_NTEXT o DT_IMAGE. Per altre informazioni, vedere Tipi di dati di Integration Services.
I valori ottenuti dal set di dati di riferimento vengono in genere aggiunti all'output della trasformazione. La trasformazione Ricerca può ad esempio estrarre il nome di un prodotto da una tabella utilizzando un valore letto da una colonna di input e quindi aggiungere il nome del prodotto all'output della trasformazione. I valori ottenuti dalla tabella di riferimento possono sostituire i valori delle colonne o essere aggiunti a nuove colonne.
Nelle ricerche eseguite dalla trasformazione Ricerca viene fatta distinzione tra maiuscole e minuscole. Per evitare errori nella ricerca causati dalle differenze tra maiuscole e minuscole nei dati, usare innanzitutto la trasformazione Mappa caratteri per convertire i dati in lettere maiuscole o minuscole. Successivamente, includere la funzione UPPER o LOWER nell'istruzione SQL che genera la tabella di riferimento. Per altre informazioni, vedere Trasformazione Mappa caratteri, UPPER (Transact-SQL) e LOWER (Transact-SQL).
La trasformazione Ricerca dispone degli input e degli output seguenti:
Input.
Confronta l'output. L'output delle corrispondenze gestisce le righe presenti nell'input della trasformazione che corrispondono ad almeno una voce nel dataset di riferimento.
Nessuna corrispondenza in output. L'output senza corrispondenza gestisce le righe nell'input che non corrispondono ad almeno una voce nel set di dati di riferimento. Se si configura la trasformazione Ricerca in modo da considerare come errori le righe senza voci corrispondenti, le righe vengono reindirizzate all'output degli errori. In caso contrario, la trasformazione reindirizza tali righe all'output senza corrispondenza.
Output di errore.
Memorizzazione nella cache del set di dati di riferimento
Una cache in memoria archivia il set di dati di riferimento e una tabella hash che indicizza i dati. La cache rimane in memoria fino a quando l'esecuzione del pacchetto non viene completata. È possibile salvare in modo permanente la cache in un file di cache (.caw).
Quando si rende la cache persistente in un file, il sistema carica la cache più velocemente. In questo modo le prestazioni della trasformazione Ricerca e del pacchetto vengono migliorate. È importante ricordare che quando si utilizza un file di cache, i dati utilizzati non sono aggiornati come quelli presenti nel database.
Di seguito sono elencati i vantaggi aggiuntivi del salvataggio permanente della cache in un file:
Condividere il file di cache tra più pacchetti. Per ulteriori informazioni, vedereImplementare una trasformazione Ricerca in modalità cache completa tramite Gestione connessione cache.
Distribuire il file di cache con un pacchetto. È quindi possibile usare i dati in più computer. Per altre informazioni, vedere Creare e distribuire una cache per la trasformazione Ricerca.
Utilizzare l'origine File non elaborato per leggere i dati dal file di cache. Successivamente è possibile utilizzare gli altri componenti flusso di dati per trasformare o spostare i dati. Per ulteriori informazioni, vedere Raw File Source.
Nota
La gestione connessione Cache non supporta i file di cache creati o modificati mediante la destinazione File non elaborato.
Eseguire operazioni e impostare attributi nel file di cache attraverso l'attività File system. Per altre informazioni, vedere Attività File system.
Di seguito sono indicate le opzioni di memorizzazione nella cache:
Il set di dati di riferimento viene generato tramite una tabella, una vista o una query SQL e caricato quindi nella cache prima dell'esecuzione della trasformazione Ricerca. È possibile utilizzare la gestione connessione OLE DB per accedere al set di dati.
Tale opzione di memorizzazione nella cache è compatibile con l'opzione di memorizzazione nella cache completa disponibile per la trasformazione Ricerca in SQL Server 2005 Integration Services (SSIS).
Il set di dati di riferimento è generato da un'origine dati connessa nel flusso di dati o da un file di cache e viene caricato nella cache prima dell'esecuzione della trasformazione Ricerca. Per accedere al set di dati utilizzare la gestione connessione della cache e, facoltativamente, la trasformazione della cache. Per altre informazioni, vedere Gestione connessione della cache e Trasformazione Cache.
Il set di dati di riferimento viene generato utilizzando una tabella, una vista o una query SQL durante l'esecuzione della trasformazione Ricerca. Le righe con le voci corrispondenti nel set di dati di riferimento e le righe senza voci corrispondenti nel set di dati vengono caricate nella cache.
Quando viene superata la dimensione massima consentita per la memoria della cache, la trasformazione Ricerca rimuove automaticamente dalla cache le righe utilizzate meno frequentemente.
Tale opzione di memorizzazione nella cache è compatibile con l'opzione di memorizzazione nella cache parziale disponibile per la trasformazione Ricerca in SQL Server 2005 Integration Services (SSIS).
Il set di dati di riferimento viene generato utilizzando una tabella, una vista o una query SQL durante l'esecuzione della trasformazione Ricerca. Non sono memorizzati dati nella cache.
Tale opzione di memorizzazione nella cache è compatibile con l'opzione di nessuna memorizzazione nella cache disponibile per la trasformazione Ricerca in SQL Server 2005 Integration Services (SSIS).
Integration Services e SQL Server differiscono nel modo in cui confrontano le stringhe. Se la trasformazione Ricerca è configurata per caricare il set di dati di riferimento nella cache prima dell'esecuzione della trasformazione Ricerca, in Integration Services viene eseguito il confronto della ricerca nella cache. In caso contrario, l'operazione di ricerca usa un'istruzione SQL con parametri e in SQL Server viene eseguito il confronto della ricerca. Ciò significa che la trasformazione Ricerca potrebbe restituire un diverso numero di corrispondenze dalla stessa tabella di ricerca in base al tipo di cache.
Attività correlate
È possibile impostare le proprietà tramite Progettazione SSIS o a livello di codice. Per informazioni dettagliate, vedere gli argomenti seguenti.
Implementare una ricerca in modalità No Cache o Partial Cache
Implementare una trasformazione di ricerca in modalità Full Cache usando Gestione connessione cache
Impostazione delle proprietà di un componente del flusso di dati
Editor trasformazione Ricerca (pagina Generale)
Utilizzare la pagina Generale della finestra di dialogo Editor della trasformazione Ricerca per selezionare la modalità cache, il tipo di connessione e specificare come gestire le righe senza voci corrispondenti.
Opzioni
Nota
Il risultato della corrispondenza può variare a seconda che si utilizzi la modalità cache completa, la modalità senza cache o la modalità cache parziale:
- In modalità Full cache, il database viene sottoposto a query una sola volta durante la fase di pre-esecuzione del flusso di dati e l'intero set di riferimenti viene inviato alla memoria. Ciò significa che ci baseremo sulla regola di corrispondenza del motore SSIS, che distingue tra maiuscole e minuscole ed è sensibile agli spazi finali e alla precisione e scala dei valori numerici.
- Tuttavia, quando si usa la modalità NO cache o Cache parziale, non viene eseguita alcuna memorizzazione nella cache durante la fase di pre-esecuzione. Ciò significa che verrà usata la regola di corrispondenza del database di origine. Ad esempio, se l'origine è un database di SQL Server e se le regole di confronto delle colonne non fanno distinzione tra maiuscole e minuscole, la regola di corrispondenza deve essere senza distinzione tra maiuscole e minuscole.
Full Cache
Generare e caricare il set di dati di riferimento nella cache prima dell'esecuzione della trasformazione Ricerca.
Partial Cache
Generare il set di dati di riferimento durante l'esecuzione della trasformazione Ricerca. Caricare le righe con le voci corrispondenti nel set di dati di riferimento e le righe senza voci corrispondenti nel set di dati nella cache.
No Cache
Generare il set di dati di riferimento durante l'esecuzione della trasformazione Ricerca. Non sono stati caricati dati in cache.
Gestione connessione della cache
Configurare la trasformazione Lookup per utilizzare una gestione connessione cache. L'opzione è disponibile solo se è stata selezionata anche l'opzione Full Cache.
Gestione connessione OLE DB
Configurare la trasformazione Ricerca in modo da utilizzare un gestore connessioni OLE DB.
Specificare come gestire le righe senza voci corrispondenti
Selezionare un'opzione per la gestione delle righe che non dispongono di almeno una voce corrispondente nel set di dati di riferimento.
Quando si seleziona Reindirizza le righe all'output delle mancate corrispondenze, le righe vengono reindirizzate all'output delle mancate corrispondenze e non vengono gestite come errori. L'opzione Errore nella scheda Output degli errori della finestra di dialogo Editor della trasformazione Ricerca non è disponibile.
Quando si seleziona un'altra opzione nella casella di riepilogo Specificare come gestire le righe senza voci corrispondenti , le righe vengono gestite come errori. L'opzione Errore nella pagina Output degli errori è disponibile.
Risorse esterne
Intervento nel blog sulle modalità cache di ricerca su blogs.msdn.com
Editor trasformazione Ricerca (pagina Connessione)
Utilizzare la pagina Connessione della finestra di dialogo Editor della trasformazione Ricerca per selezionare un gestore connessioni. Se si seleziona una gestione connessione OLE DB, viene anche selezionata anche una query, una tabella o una vista per generare il set di dati di riferimento.
Opzioni
Le opzioni seguenti sono disponibili quando si selezionano Full cache e Gestione connessioni cache nella pagina Generale della finestra di dialogo Editor della trasformazione Ricerca.
Gestione connessione della cache
Selezionare una gestione connessione della cache esistente nell'elenco o fare clic su Nuovaper creare una nuova connessione.
New
Creare una nuova connessione utilizzando la finestra di dialogo Editor gestione connessioni cache.
Le opzioni seguenti sono disponibili quando si selezionano Full cache, Partial cache o No cache e gestione connessioni OLE DB nella pagina Generale della finestra di dialogo Editor della trasformazione Ricerca.
Gestione connessione OLE DB
Selezionare una gestione connessione OLE DB esistente nell'elenco o fare clic su Nuovaper creare una nuova connessione.
New
Consente di creare una nuova connessione usando la finestra di dialogo Configura gestione connessione OLE DB .
Usa una tabella o una vista
Consente di selezionare una tabella o vista esistente nell'elenco o di creare una nuova tabella facendo clic su Nuova.
Nota
Se si specifica un'istruzione SQL nella pagina Avanzate di Editor della trasformazione Ricerca, tale istruzione SQL ha la precedenza e sostituisce il nome della tabella selezionato qui.
New
Consente di creare una nuova tabella usando la finestra di dialogo Crea tabella .
Usare i risultati di una query SQL
Questa opzione consente di visualizzare una query preesistente, compilare una nuova query, controllare la sintassi della query e visualizzare in anteprima i risultati della query.
Compila query
Consente di creare l'istruzione Transact-SQL da usare per l'esecuzione tramite Generatore query, uno strumento grafico usato per creare query tramite la visualizzazione dei dati.
Sfoglia
Utilizzare questa opzione per visualizzare una query preesistente salvata in un file.
Analizza la query
Consente di controllare la sintassi della query.
Anteprima
Consente di visualizzare in anteprima i risultati nella finestra di dialogo Anteprima risultati query . Questa opzione consente di visualizzare fino a 200 righe.
Risorse esterne
Intervento nel blog sulle modalità cache di ricerca su blogs.msdn.com
Editor trasformazione Ricerca (pagina Colonne)
Utilizzare la pagina Colonne della finestra di dialogo Editor trasformazione Ricerca per specificare il join tra la tabella di origine e la tabella di riferimento e selezionare colonne di ricerca nella tabella di riferimento.
Opzioni
Colonne di input disponibili
Consente di visualizzare l'elenco delle colonne di input disponibili. Le colonne di input sono le colonne nel flusso di dati provenienti da un'origine connessa. Le colonne di input e le colonne di ricerca devono contenere tipi di dati corrispondenti.
Usare un'operazione di trascinamento per associare le colonne di input disponibili alle colonne di lookup.
È anche possibile associare le colonne di input alle colonne di ricerca usando la tastiera, evidenziando una colonna nella tabella Colonne di input disponibili, premendo il tasto Applicazione e quindi facendo clic su Modifica associazioni.
Colonne di ricerca disponibili
Consente di visualizzare l'elenco delle colonne di ricerca. Le colonne di ricerca sono colonne nella tabella di riferimento nelle quali si desidera cercare i valori corrispondenti alle colonne di input.
Usare un'operazione di trascinamento per associare le colonne di ricerca disponibili alle colonne di input.
Utilizzare le caselle di controllo per selezionare le colonne di ricerca nella tabella di riferimento su cui eseguire operazioni di ricerca.
È anche possibile associare le colonne di ricerca alle colonne di input utilizzando la tastiera, evidenziando una colonna nella tabella Colonne di ricerca disponibili, premendo il tasto Applicazione e quindi facendo clic su Modifica associazioni.
Colonna di ricerca
Consente di visualizzare le colonne di ricerca selezionate. Le selezioni effettuate vengono riflesse nelle selezioni delle caselle di controllo nella tabella Colonne di ricerca disponibili .
Operazione di ricerca
Consente di selezionare un'operazione di ricerca da eseguire sulla colonna di ricerca.
Alias di output
Consente di digitare un alias per l'output relativo a ogni colonna di ricerca. Per impostazione predefinita viene suggerito il nome della colonna di ricerca. È comunque possibile scegliere qualsiasi nome descrittivo univoco.
Editor della trasformazione di ricerca (pagina Avanzate)
La pagina Avanzata della finestra di dialogo Editor della trasformazione Ricerca consente di configurare la cache parziale e di modificare l'istruzione SQL per la trasformazione Ricerca.
Opzioni
Dimensioni cache (32 bit)
Consente di regolare le dimensioni della cache (in megabyte) per i computer a 32 bit. Il valore predefinito è 5 MB.
Dimensioni cache (64 bit)
Consente di regolare le dimensioni della cache (in megabyte) per i computer a 64 bit. Il valore predefinito è 5 MB.
Abilitare la cache per le righe senza corrispondenze
Memorizza nella cache le righe senza corrispondenze nel dataset di riferimento.
Allocazione dalla cache
Consente di specificare la percentuale della cache da allocare per le righe senza voci corrispondenti nel set di dati di riferimento.
Modifica istruzione SQL
Consente di modificare l'istruzione SQL utilizzata per generare il set di dati di riferimento.
Nota
L'istruzione SQL facoltativa specificata in questa pagina ignora e sostituisce il nome della tabella specificato nella pagina Connessione dell'Editor della trasformazione Ricerca. .
Impostazione dei parametri
Mappare le colonne di input ai parametri utilizzando la finestra di dialogo Imposta parametri query.
Risorse esterne
Intervento nel blog sulle modalità cache di ricerca su blogs.msdn.com
Contenuti correlati
- Come: Implementare una trasformazione di ricerca in modalità cache completa
- Migliori pratiche per l'utilizzo delle modalità di cache di trasformazione della ricerca
- Pattern di ricerca: senza distinzione tra maiuscole e minuscole
- Trasformazione di ricerca fuzzy
- Trasformazione della ricerca dei termini
- Flusso di dati
- Trasformazioni di Integration Services