Transformação Pesquisa
A transformação Pesquisa executa pesquisas unindo dados em colunas de entrada com colunas em um conjunto de dados de referência. Você usa a pesquisa para acessar informações adicionais em uma tabela relacionada que tem como base valores de colunas comuns.
O conjunto de dados de referência pode ser um arquivo de cache, uma tabela ou uma exibição existente, uma nova tabela ou o resultado de uma consulta SQL. A transformação Pesquisa usa um gerenciador de conexões OLE DB ou um gerenciador de conexões de cache para se conectar ao conjunto de dados de referência. Para obter mais informações, consulte Gerenciador de conexões OLE DB e Gerenciador de conexões de cache.
Você pode configurar a transformação Pesquisa das seguintes formas:
Selecionando o gerenciador de conexões que deseja usar. Se você quiser se conectar a um banco de dados, selecione um gerenciador de conexões OLE DB. Se desejar se conectar a um arquivo de cache, selecione um gerenciador de conexões de cache.
Especificando a tabela ou exibição que contém o conjunto de dados de referência.
Gerando um conjunto de dados de referência com a especificação de uma instrução SQL.
Especificando junções entre a entrada e o conjunto de dados de referência.
Adicionando colunas do conjunto de dados de referência à saída da transformação Pesquisa.
Configurando as opções de cache.
A transformação Pesquisa dá suporte aos seguintes provedores de banco de dados para o gerenciador de conexões OLE DB:
SQL Server
Oracle
DB2
A transformação Pesquisa tenta executar uma junção por igualdade entre valores na entrada da transformação e valores no conjunto de dados de referência. (Em uma junção por igualdade, cada linha na entrada da transformação deve corresponder a pelo menos uma linha do conjunto de dados de referência.) Se uma junção por igualdade não for possível, a transformação Pesquisa realizará uma das seguintes ações:
Se não houver nenhuma entrada correspondente no conjunto de dados de referência, nenhuma junção ocorrerá. Por padrão, a transformação Pesquisa trata linhas sem entradas correspondentes como erros. No entanto, você pode configurar a transformação Pesquisa para redirecionar essas linhas para uma saída sem-correspondência. Para obter mais informações, consulte Editor da Transformação Pesquisa (página Geral) e Editor da Transformação Pesquisa (página Saída de Erro).
Se houver várias correspondências na tabela de referência, a transformação Pesquisa retornará apenas a primeira delas, retornada pela consulta de pesquisa. Se várias correspondências forem encontradas, a transformação Pesquisa gerará um erro ou aviso somente quando a transformação tiver sido configurada para carregar todos os conjuntos de dados de referência no cache. Neste caso, a transformação Pesquisa gera um aviso quando a transformação detecta várias correspondências à medida que ela preenche o cache.
A junção pode ser composta, o que significa que você pode unir várias colunas na entrada da transformação com colunas no conjunto de dados de referência. A transformação dá suporte às colunas de junção com qualquer tipo de dados, com exceção de DT_R4, DT_R8, DT_TEXT, DT_NTEXT ou DT_IMAGE. Para obter mais informações, consulte Tipos de dados do Integration Services.
Normalmente, valores do conjunto de dados de referência são adicionados à saída da transformação. Por exemplo, a transformação Pesquisa pode extrair um nome de produto de uma tabela usando um valor de uma coluna de entrada e, em seguida, adicionar esse nome à saída da transformação. Os valores da tabela de referência podem ser substituídos por valores de coluna ou podem ser adicionados a novas colunas.
As pesquisas executadas pela transformação Pesquisa diferenciam maiúsculas e minúsculas. Para evitar falhas na pesquisa, causadas por diferenças entre maiúsculas e minúsculas nos dados, use primeiro a transformação Mapa de Caracteres para converter os dados em letras maiúsculas ou minúsculas. Depois, inclua as funções UPPER ou LOWER na instrução SQL que gera a tabela de referência. Para obter mais informações, consulte Transformação Mapas de Caracteres, UPPER (Transact-SQL) e LOWER (Transact-SQL).
A transformação Pesquisa tem as seguintes entradas e saídas:
Entrada.
Saída de correspondência. A saída de correspondência controla as linhas na saída de transformação que correspondem a pelo menos uma entrada no conjunto de dados de referência.
Saída sem-correspondência. A saída sem-correspondência controla as linhas na entrada que não correspondem a pelo menos uma entrada no conjunto de dados de referência. Se você configurar a transformação Pesquisa para tratar as linhas sem entradas correspondentes como erros, as linhas serão redirecionadas à saída de erro. Caso contrário, a transformação redirecionará essas linhas para a saída sem-correspondência.
Observação No SQL Server 2005 Integration Services (SSIS), a transformação Pesquisa tinha apenas uma saída. Para obter mais informações sobre como executar uma transformação Pesquisa que foi criada no SQL Server 2005, consulte Atualizar transformação Pesquisa.
Saída de erro.
Armazenando o conjunto de dados de referência em cache
Um cache na memória armazena o conjunto de dados de referência e uma tabela de hash que indexa os dados. O cache permanece na memória até que a execução do pacote seja concluída. Você pode persistir o cache para um arquivo de cache (.caw).
Quando você persiste o cache para um arquivo, o sistema carrega esse cache mais rapidamente. Isso melhora o desempenho da transformação Pesquisa e do pacote. Lembre-se de que, quando você usa um arquivo de cache, está trabalhando com dados que não são tão atuais quanto os dados do banco de dados.
A seguir, veja alguns benefícios adicionais da persistência de cache para um arquivo:
Compartilhe o arquivo de cache entre vários pacotes. Para obter mais informações, consulte Implementar uma transformação Pesquisa em modo de cache cheio por meio da transformação Gerenciador de Conexões do Cache.
Implante o arquivo de cache com um pacote. Você pode usar os dados em vários computadores. Para obter mais informações, consulte Criar e implantar um cache para a Transformação Pesquisa.
Use a fonte de arquivos brutos para ler dados do arquivo de cache. Você pode usar outros componentes de fluxo de dados para transformar ou mover os dados. Para obter mais informações, consulte Origem do arquivo bruto.
Observação O gerenciador de conexões de cache não dá suporte para arquivos de cache criados ou modificados usando o destino dos arquivos brutos.
Execute operações e defina atributos no arquivo de cache usando a tarefa Sistema de Arquivos. Para obter mais informações, consulte Tarefa Sistema de Arquivos.
A seguir, veja as opções de cache:
O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL e carregando no cache, antes da execução da transformação Pesquisa. Use o gerenciador de conexões OLE DB para acessar o conjunto de dados.
Esta opção de cache é compatível com a opção de cache completo que está disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).
O conjunto de dados de referência é gerado a partir de uma fonte de dados conectada ao fluxo de dados ou de um arquivo de cache e é carregado no cache antes da execução da transformação Pesquisa. Use o gerenciador de conexões de cache e, opcionalmente, a transformação Pesquisa para acessar o conjunto de dados. Para obter mais informações, consulte Gerenciador de conexões de cache e Transformação Cache.
O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL durante a execução da transformação Pesquisa As linhas com e sem entradas correspondentes no conjunto de dados de referência são armazenadas em cache.
Quando o tamanho da memória do cache é excedido, a transformação Pesquisa remove automaticamente as linhas usadas com menos frequência do cache.
Esta opção de cache é compatível com a opção de cache parcial que está disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).
O conjunto de dados de referência é gerado usando uma tabela, exibição ou consulta SQL durante a execução da transformação Pesquisa Nenhum dado é armazenado em cache.
Esta opção de cache é compatível com a opção sem-cache que está disponível para a transformação Pesquisa no SQL Server 2005 Integration Services (SSIS).
O Integration Services e o SQL Server diferem quanto à forma que comparam cadeias de caracteres. Se a transformação Pesquisa for configurada para carregar o conjunto de dados de referência no cache antes de a execução da transformação Pesquisa, o Integration Services fará a comparação de pesquisa no cache. Caso contrário, a operação de pesquisa usará uma instrução SQL parametrizada e o SQL Server fará a comparação de pesquisa. Isso significa que a transformação Pesquisa pode retornar um número diferente de correspondências a partir da mesma tabela de consulta, dependendo do tipo de cache.
Tarefas relacionadas
Você pode definir propriedades por meio do SSIS Designer ou programaticamente. Para obter mais detalhes, consulte os tópicos a seguir.
Conteúdo relacionado
Vídeo, Como implementar a transformação Pesquisa no modo de Cache Cheio, em msdn.microsoft.com
Entrada de blog, Best Practices for Using the Lookup Transformation Cache Modes (em inglês), em blogs.msdn.com
Entrada de blog, Lookup Pattern: Case Insensitive, em blogs.msdn.com
Exemplo Transformação Pesquisa, em msftisprodsamples.codeplex.com.
Para obter informações sobre como instalar exemplos e bancos de dados de exemplo do produto do Integration Services, consulte Exemplos do produto SQL Server Integration Services.
|