Pergunta

Esperemos que este é fácil de explicar, mas eu tenho uma transformação de pesquisa em um dos meus pacotes SSIS. Eu estou usando-o para procurar o ID de um registro emplouyee em uma tabela de dimensão. No entanto o meu problema é que alguns dos dados de origem tem os nomes dos funcionários em todas as capitais (ex: CHERRERA) e os dados de comparação im usando é todas as letras minúsculas (ex: cherrera).

A pesquisa está falhando para os registros que não são 100% caso similar (ex: cherrera vs cherrera funciona bem - cherrera vs CHERRERA falhar). Existe uma maneira de fazer a transformação de pesquisa ignorar caso em um tipo de dados string / varchar?

Foi útil?

Solução

Não há uma maneira que eu acredito para fazer a transformação ser maiúsculas e minúsculas, no entanto você pode modificar a instrução SQL para a sua transformação para garantir que os dados de origem corresponde ao caso dos dados de comparação usando o LOWER () Cadeia função.

Outras dicas

Defina a propriedade CacheType da transformação de pesquisa para parcial ou Nenhum.

As comparações de pesquisa será agora feito pelo SQL Server e não por componente do SSIS de pesquisa, e não será mais sensível a maiúsculas.

Você tem que mudar a fonte e, assim como olhar para cima de dados, tanto devem estar no mesmo tipo de caso.

Com base nesta Microsoft artigo :

As pesquisas realizadas pela transformação de pesquisa são maiúsculas de minúsculas. Para evitar lookup falhas que são causadas por diferenças de caso em dados, primeiro use o Mapa de caracteres transformação para converter os dados em letras maiúsculas ou minúsculas. Em seguida, incluem as funções superiores ou inferiores na instrução SQL que gera tabela de referência

Para ler mais sobre Character Map transformação , siga este link "

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top