Administrador de conexiones con Excel

Se aplica a:SQL Server SSIS Integration Runtime en Azure Data Factory

Un Administrador de conexiones con Excel permite a un paquete conectarse a un archivo de libro de Microsoft Excel. El origen y el destino de Excel que incluye MicrosoftSQL ServerIntegration Services usan el Administrador de conexiones de Excel.

Importante

Para obtener información detallada sobre cómo conectarse a archivos de Excel y sobre las limitaciones y problemas conocidos a la hora de cargar datos de o a archivos de Excel, vea Cargar datos de o a Excel con SQL Server Integration Services (SSIS).

Al agregar un Administrador de conexiones con Excel a un paquete, Integration Services crea un Administrador de conexiones que se resuelve como una conexión Excel en el tiempo de ejecución, establece las propiedades del Administrador de conexiones y agrega el Administrador de conexiones a la colección Conexiones del paquete.

La propiedad ConnectionManagerType del administrador de conexiones se establece en EXCEL.

Configurar el Administrador de conexiones con Excel

Puede configurar el Administrador de conexiones con Excel de las maneras siguientes:

  • Especificar la ruta del archivo de libro de Excel.

  • Especificar la versión de Excel que se usó para crear el archivo.

  • Indicar si la primera fila de las hojas de cálculo o rangos seleccionados contiene nombres de columna.

Puede establecer propiedades a través del Diseñador de SSIS o mediante programación.

Para más información sobre las propiedades que puede configurar en el Diseñador SSIS , vea Editor de Administrador de conexiones con Excel.

Para obtener información sobre la configuración de un administrador de conexiones mediante programación, vea ConnectionManager y Agregar conexiones mediante programación.

Editor de Administrador de conexiones con Excel

Utilice el cuadro de diálogo Editor del administrador de conexiones con Excel para agregar una conexión a un archivo de libro de Microsoft Excel existente o nuevo.

Opciones

Ruta de acceso del archivo Excel
Escriba la ruta de acceso y el nombre de archivo de un archivo de libro de Excel nuevo o existente.

Browse
Use el cuadro de diálogo Abrir para ir a la carpeta donde se encuentra el archivo de Excel o a la ubicación en la que quiere crear el archivo.

Versión de Excel
Especifique la versión de Microsoft Excel utilizada para crear el archivo.

La primera fila tiene nombres de columna
Especifique si la primera fila de datos de la hoja seleccionada contiene nombres de columna. El valor predeterminado de esta opción es True.

Solución para importar datos con tipos de datos mixtos en Excel

Si utiliza datos que contienen tipos de datos mixtos, el controlador de Excel lee de forma predeterminada las ocho primeras filas (configuradas mediante la clave del Registro TypeGuessRows). En función de las ocho primeras filas de datos, el controlador de Excel intenta adivinar el tipo de datos de cada columna. Por ejemplo, si el origen de datos de Excel tiene números y texto en una columna y las ocho primeras filas contienen números, el controlador podría determinar en función de estas que los datos de la columna son de tipo entero. En este caso, SSIS omite los valores de texto y los importa como NULL en el destino.

Para resolver este problema, puede probar una de las siguientes soluciones:

  • Cambie el tipo de columna de Excel a Texto en el archivo de Excel.

  • Agregue la propiedad extendida IMEX a la cadena de conexión para invalidar el comportamiento predeterminado del controlador. Al agregar la propiedad extendida "; IMEX = 1" al final de la cadena de conexión, Excel trata todos los datos como texto. Observe el ejemplo siguiente:

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

    Para que esta solución funcione de forma confiable, puede que también tenga que modificar la configuración del Registro. El archivo main.cmd es así:

    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
    
  • Guarde el archivo en formato CSV y cambie el paquete SSIS para que admita una importación de CSV.

Cargar datos de o a Excel con SQL Server Integration Services (SSIS)
Origen de Excel
Destino de Excel