transformação Pesquisa

Aplica-se a:SQL Server SSIS Integration Runtime no Azure Data Factory

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 do 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.

  • 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 Integration Services Data Types.

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, confira Transformação de Mapa 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.

  • 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:

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 Editor do Gerenciador de Conexões de Cache e Transformação de 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).

Integration Services e SQL Server diferem quanto à forma que comparam cadeias de caracteres. Se a transformação Pesquisa é configurada para carregar o conjunto de dados de referência no cache antes da execução da transformação Pesquisa, o Integration Services faz a comparação de pesquisa no cache. Por outro lado, a operação de pesquisa usa uma instrução SQL parametrizada e o SQL Server faz 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.

Você pode definir propriedades pelo Designer do SSIS ou programaticamente. Para obter mais detalhes, consulte os tópicos a seguir.

Editor da Transformação Pesquisa (página Geral)

Use a página Geral da caixa de diálogo Editor da Transformação Pesquisa para selecionar o modo de cache, selecionar o tipo de conexão e especificar como lidar com as linhas com entradas sem-correspondência.

Opções

Observação

A saída da correspondência pode diferir dependendo se o modo de cache completo, o modo sem cache ou o modo de cache parcial for usado:

  • No modo de cache completo, o banco de dados é consultado uma vez durante a fase de pré-execução do fluxo de dados e todo o conjunto de referência é transferido para a memória. Isso significa que dependeremos da regra de correspondência do mecanismo SSIS que diferencia maiúsculas de minúsculas, diferencia com espaços à direita e é sensível com precisão e escala numéricas.
  • No entanto, quando nenhum cache ou modo de cache parcial é usado, nenhum cache é feito durante a fase de pré-execução. Isso significa que usaremos a regra de correspondência do banco de dados de origem. Por exemplo, se a origem for um banco de dados do SQL Server e se o agrupamento de colunas não diferenciar maiúsculas de minúsculas, a regra de correspondência também deverá diferenciar maiúsculas de minúsculas.

Cache cheio
Gere e carregue o conjunto de dados de referência no cache antes de executar a transformação Pesquisa.

Cache parcial
Gere o conjunto de dados de referência durante a execução da transformação Pesquisa. Carregue as linhas com entradas com correspondência no conjunto de dados de referência e as linhas com entradas sem-correspondência no conjunto de dados no cache.

Não cache
Gere o conjunto de dados de referência durante a execução da transformação Pesquisa. Nenhum dado é carregado no cache.

Gerenciador de conexões de cache
Configure a transformação Pesquisa para usar um Gerenciador de conexão de cache. Esta opção estará disponível somente se a opção Cache cheio for selecionada.

Gerenciador de conexões OLE DB
Configure a transformação Pesquisa para usar um Gerenciador de conexões OLE DB.

Especificar como lidar com linhas com entradas sem-correspondência
Selecione uma opção para lidar com as linhas que não correspondem a pelo menos uma entrada no conjunto de dados de referência.

Ao selecionar Redirecionar linhas para uma saída sem-correspondência, as linhas serão redirecionadas a uma saída sem-correspondência e serão tratadas como erros. A opção Erro na página Saída de Erro da caixa de diálogo Editor da Transformação Pesquisa não estará disponível.

Ao selecionar uma opção na caixa de listas Especificar como lidar com linhas com entradas sem-correspondência , as linhas serão tratadas como erros. A opção Erro na página Saída de Erro estará disponível.

Recursos externos

Entrada de blog, Lookup cache modes (em inglês) em blogs.msdn.com

Editor da Transformação Pesquisa (página Conexão)

Use a página Conexão da caixa de diálogo Editor da Transformação Pesquisa para selecionar um gerenciador de conexões. Se você selecionar um gerenciador de conexões OLE DB, também poderá selecionar uma consulta, tabela ou exibição para gerar o conjunto de dados de referência.

Opções

As opções a seguir estarão disponíveis quando você selecionar Cache cheio e Gerenciador de conexões de cache na página Geral da caixa de diálogo Editor da Transformação Pesquisa .

Gerenciador de conexões de cache
Selecione um gerenciador de conexões de cache existente na lista ou crie uma nova conexão clicando em Nova.

Novo
Crie uma nova conexão usando a caixa de diálogo Editor de Gerenciador de Conexões de Cache .

As opções a seguir estarão disponíveis quando você selecionar Cache cheio, Cache parcialou Sem cachee Gerenciador de conexões OLE DBna página Geral da caixa de diálogo Editor da Transformação Pesquisa .

Gerenciador de conexões OLE DB
Selecione um gerenciador de conexões OLE DB existente na lista ou crie uma nova conexão clicando em Nova.

Novo
Crie uma nova conexão usando a caixa de diálogo Configurar Gerenciador de Conexões OLE DB .

Use uma tabela ou exibição
Selecione uma tabela ou exibição existente na lista ou crie uma nova tabela clicando em Nova.

Observação

Se você especificar uma instrução SQL na página Avançado do Editor da Transformação Pesquisa, essa instrução SQL vai sobrescrever e substituir o nome da tabela selecionada aqui. Para obter mais informações, confira Editor de Transformação de Pesquisa (Página Avançada).

Novo
Crie uma nova tabela usando a caixa de diálogo Criar Tabela .

Usar resultados de uma consulta SQL
Escolha esta opção para navegar até uma consulta preexistente, criar uma nova consulta, verificar a sintaxe da consulta e visualizar os resultados da consulta.

Construir consulta
Crie a instrução Transact-SQL a ser executada usando o Construtor de Consultas, uma ferramenta gráfica que é usada para criar consultas navegando pelos dados.

Procurar
Use esta opção para navegar até uma consulta preexistente salva como um arquivo.

Analisar Consulta
Verifique a sintaxe da consulta.

Visualização
Visualize os resultados usando a caixa de diálogo Visualizar Resultados da Consulta . Esta opção exibe até 200 linhas.

Recursos externos

Entrada de blog, Lookup cache modes (em inglês) em blogs.msdn.com

Editor da Transformação Pesquisa (página Colunas)

Use a página Colunas da caixa de diálogo Editor da Transformação Pesquisa para especificar a junção entre a tabela de origem e a tabela de referência, e para selecionar as colunas de pesquisa a partir da tabela de referência.

Opções

Colunas de Entrada Disponíveis
Exiba a lista das colunas de entrada disponíveis. As colunas de entrada são as colunas no fluxo de dados de uma origem conectada. As colunas de entrada e de pesquisa devem ter tipos de dados correspondentes.

Use uma operação arrastar e soltar para mapear as colunas de entrada disponíveis para as colunas de pesquisa.

Você também pode mapear as colunas de entrada para as colunas de pesquisa usando o teclado, destacando a coluna na tabela Colunas de Entrada Disponíveis , pressionando a tecla Aplicativo e clicando em Editar Mapeamentos.

Colunas de Pesquisa Disponíveis
Exiba a lista de colunas de pesquisa. As colunas de pesquisa são as colunas na tabela de referência que permitem pesquisar os valores que correspondem às colunas de entrada.

Use uma operação arrastar e soltar para mapear as colunas de pesquisa disponíveis para as colunas de entrada.

Use as caixas de seleção para selecionar as colunas de pesquisa na tabela de referência nas quais serão executadas as operações de pesquisa.

Você também pode mapear as colunas de pesquisa para as colunas de entrada usando o teclado, destacando a coluna na tabela Colunas de Pesquisa Disponíveis , pressionando a tecla Aplicativo e clicando em Editar Mapeamentos.

coluna de pesquisa
Exiba as colunas de pesquisa selecionadas. As escolhas são refletidas nas caixas de seleção da tabela Colunas de Pesquisa Disponíveis .

Operação de Pesquisa
Selecione uma operação de pesquisa da lista a ser executada na coluna de pesquisa.

Alias de Saída
Digite um alias para a saída de cada coluna de pesquisa. O padrão é o nome da coluna de pesquisa; entretanto, é possível selecionar qualquer nome descritivo exclusivo.

Editor da Transformação Pesquisa (página Avançado)

Use a página Avançado da caixa de diálogo Editor da Transformação Pesquisa para configurar o cache parcial e para modificar a instrução SQL da transformação Pesquisa.

Opções

Tamanho de cache (32 bits)
Ajuste o tamanho de cache (em megabytes) para computadores de 32 bits. O valor padrão é 5 megabytes.

Tamanho de cache (64 bits)
Ajuste o tamanho de cache (em megabytes) para computadores de 64 bits. O valor padrão é 5 megabytes.

Ativar cache para linhas com entradas sem-correspondência
Linhas de cache com entradas sem-correspondência no conjunto de dados de referência.

Alocação de cache
Especifique o percentual de cache a ser alocado para as linhas com entradas sem-correspondência no conjunto de dados de referência.

Modificar instrução SQL
Modifique a instrução SQL usada para gerar o conjunto de dados de referência.

Observação

A instrução SQL opcional especificada nesta página substituirá o nome da tabela especificado na página Conexão do Editor da Transformação Pesquisa. Para obter mais informações, confira Editor de Transformação de Pesquisa (Página Conexão).

Definir Parâmetros
Mapeie colunas de entrada para parâmetros usando a caixa de diálogo Definir Parâmetros da Consulta .

Recursos externos

Entrada de blog, Lookup cache modes (em inglês) em blogs.msdn.com

Consulte Também

transformação Pesquisa Difusa
Transformação Pesquisa de Termos
Fluxo de Dados
Transformações do Integration Services