sql >> Base de Datos >  >> RDS >> Sqlserver

Asigne dinámicamente el nombre de archivo a la cadena de conexión de Excel

Opción A

La ConnectionString La propiedad para un Administrador de conexión de Excel no es donde voy a manipular el archivo actual, lo que contrasta con un Administrador de conexión de archivo plano normal.

En su lugar, coloque una expresión en ExcelFilePath del Administrador de conexiones de Excel. propiedad.

En teoría, no debería haber ninguna diferencia entre ConnectionString y ExcelFilePath, excepto que tendrá más "cosas" que construir para obtener la cadena de conexión correcta.

Además, asegúrese de ejecutar el paquete en modo de 32 bits.

Opción B

Una alternativa con la que podría encontrarse es que el valor en tiempo de diseño para la cadena de conexión no es válido una vez que se está ejecutando. Cuando el paquete comienza, verifica que todos los recursos esperados estén disponibles y, si no lo están, falla rápidamente en lugar de morir a mitad de la carga. Puede retrasar esta validación hasta el momento en que SSIS tenga que acceder realmente al recurso y lo hace configurando DelayValidation propiedad a True. Esta propiedad existe en todo en SSIS, pero primero comenzaría configurándola en el Administrador de conexiones de Excel. Si eso aún arroja el Error de validación del paquete, intente establecer la validación de retraso del flujo de datos en verdadero también.