Posts Tagged ‘SSIS’

Borrar contenido de fichero excel desde dtsx SSIS

20/10/2009

Tal y como me pasó con los dts de SQL2000, nunca he tenido tiempo de encontrar una manera de borrar el contenido de un fichero excel desde un paquete dts de SQL2005. Esto provoca que la exportación de datos periódica y no incremental a dichos ficheros  sea un lío, puesto que si ejecutas el dts varias veces, provocas que se vayan añadiendo los datos, pero si entre ejecuciones borras el fichero también falla porque no existe.  Al final, siempre resolvía el asunto exportando los datos en un fichero plano con formato csv, ya que el usuario lo abriría como si fuera un xls, picando dos veces encima :D.

Pues bien, hoy me he puesto cabezón y me he empeñado en buscar una solución y he dado con una que me ha funcionado. 

De manera esquemática los pasos a añadir al flujo de control serían estos:

  • Crear un administrador de conexión con el fichero excel de marras
  • Crear una Tarea de secuencia de comandos en la que se incluya la instrucción: System.IO.File.Delete(“path del fichero excel”)
  • Añadir una Tarea ejecutar SQL, que haga el create de la tabla en el excel, este create se puede copiar del que genera en el flujo de datos que tiene como destino el fichero excel.
  • Crear un flujo de datos que tenga el origen que nos haga falta y como destino el fichero excel.

Para dejarlo más fino, lo suyo es meter, como mínimo, la ruta del fichero excel en un fichero de configuración o una variable … pero eso es otra historia.