Buenas,

tengo un problema con SSIS, estoy intentando hacer una carga sobre una tabla desde varios ficheros que tengo en un directorio pero me veo obligado a crear un origen de datos para cada fichero. El problema añadido es que los ficheros cambian de nombre segun la fecha, asi que el proceso no me sirve para posteriores cargas.

¿Hay alguna manera de definir un origen de datos que cargue todo el contenido de un directorio, o algun tipo de script que haga un union de los ficheros?

 

Gracias,

Roberto 

Hola Roberto,

a mi me paso lo mismo hace unas semanas, intentando hacer una carga en la que se veian involucrados varios ficheros con el mismo formato pero diferente nombre. Es algo habitual que recibas ficheros diariamente y que el sistema tenga que cargarlos sin tener que especificarle el nombre de fichero exacto.

Ya que no especificas la version, te digo lo que sé de la que yo estoy usando, SQLServer 2008.

En esta version me encontre con que el origen de tipo fichero plano te obliga a crear una conexion a fichero especificando el nombre exacto. Para hacer lo que quieres, previamente tienes que ir al panel Connection Managers (debajo del area de diseño) y crear una conexion a multiples ficheros. La conexion a multiples ficheros no esta disponible por defecto en el menu contextual, asi que tendras que ir por New Connection... y ahi te saldra una lista con todas las conexiones que acepta SSIS, seleccionas MULTIPLEFLATFILE y en el dialogo de configuracion si que te deja elegir directorio y multiples ficheros mediante mascara. Una vez hayas creado la conexion a multiples ficheros, añades el origen de datos a fichero plano en el diseñador y en vez de crear la conexion a un fichero con nombre exacto veras que tienes la conexion a multiples ficheros en la lista desplegable. La seleccionas, haces los mapeos y ya esta!

 

Espero que te haya servido.