Gerenciador de conexões do Excel

Aplica-se a: SQL Server (todas as versões com suporte) SSIS Integration Runtime no Azure Data Factory

Um gerenciador de conexões do Excel permite a conexão de um pacote a um arquivo de pasta de trabalho do Microsoft Excel. A origem e o destino do Excel que o Microsoft SQL Server Integration Services inclui usam o gerenciador de conexões do Excel.

Importante

Para obter informações detalhadas sobre como se conectar a arquivos do Excel, e sobre limitações e problemas conhecidos para carregar dados de ou para arquivos do Excel, consulte Carregar dados do ou para o Excel com o SSIS (SQL Server Integration Services).

Quando você adiciona um gerenciador de conexões do Excel a um pacote, o Integration Services cria um gerenciador de conexões que é resolvido como uma conexão do Excel em tempo de execução, define as propriedades do gerenciador de conexões e o adiciona à coleção Coleções no pacote.

A propriedade ConnectionManagerType do gerenciador de conexões está definida como EXCEL.

Configurar o Gerenciador de conexões do Excel

Você pode configurar o gerenciador de conexões do Excel dos seguintes modos:

  • Especificando o caminho do arquivo de pasta de trabalho Excel.

  • Especificando a versão do Excel que foi usada para criar o arquivo.

  • Indique se a primeira linha nas planilhas ou intervalos selecionados contém nomes de coluna.

Você pode definir propriedades pelo Designer do SSIS ou programaticamente.

Para obter mais informações sobre as propriedades que podem ser definidas no Designer do SSIS , consulte Editor do Gerenciador de Conexões do Excel.

Para obter informações sobre como configurar um gerenciador de conexões programaticamente, consulte ConnectionManager e Adicionando conexões programaticamente.

Editor de Gerenciador de Conexões Excel

Use a caixa de diálogo Editor de Gerenciador de Conexões Excel para adicionar uma conexão a um arquivo da pasta de trabalho novo ou existente do Microsoft Excel .

Opções

Caminho de arquivo do Excel
Digite o caminho e o nome do arquivo de um arquivo de pasta de trabalho novo ou existente do Excel.

Procurar
Use a caixa de diálogo Abrir para navegar até a pasta na qual o arquivo Excel existe ou na qual você deseja criar o novo arquivo.

Versão do Excel
Especifique a versão do Microsoft Excel que foi usada para criar o arquivo.

Primeira linha com nomes de coluna
Especifique se a primeira linha de dados na planilha selecionada contém os nomes de coluna. O valor padrão desta opção é Verdadeiro.

Solução para importar dados com tipos de dados mistos do Excel

Se você usar dados que contenham tipos de dados mistos, por padrão, o driver do Excel lerá as oito primeiras linhas (configuradas pela chave de registro TypeGuessRows). Com base nas oito primeiras linhas de dados, o driver do Excel tenta adivinhar o tipo de dados de cada coluna. Por exemplo, se a fonte de dados do Excel tiver números e texto em uma coluna, se as oito primeiras linhas contiverem números, o driver poderá determinar com base nessas oito primeiras linhas que os dados na coluna são do tipo inteiro. Nesse caso, o SSIS ignora valores de texto e os importa como NULO no destino.

Para resolver esse problema, você pode usar uma das seguintes soluções:

  • Altere o tipo de coluna do Excel para Texto no arquivo do Excel.

  • Adicione a propriedade estendida IMEX à cadeia de conexão para substituir o comportamento padrão do driver. Ao adicionar a propriedade estendida ";IMEX=1" ao final da cadeia de conexão, o Excel trata todos os dados como texto. Consulte o seguinte exemplo:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\ExcelFileName.xlsx;Extended Properties="EXCEL 12.0 XML;HDR=YES;IMEX=1";
    

    Para que essa solução funcione de forma confiável, talvez seja necessário modificar também as configurações do registro. O arquivo main.cmd é o seguinte:

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Access Connectivity Engine\Engines\Excel" /t REG_DWORD /v TypeGuessRows /d 0 /f
    
  • Salve o arquivo no formato CSV e altere o pacote SSIS para ser compatível com uma importação de CSV.

Carregar dados do ou para o Excel com o SSIS (SQL Server Integration Services)
Origem do Excel
Destino do Excel