Borrar contenido de fichero excel desde dtsx SSIS

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.

Anuncios

Etiquetas: ,

2 comentarios to “Borrar contenido de fichero excel desde dtsx SSIS”

  1. pablo Says:

    hola,

    gracias por explicar como hacerlo, pero podrias dar un ejemplo de como crear el excel en una carpeta en otro servidor, actualmente lo tengo asi

    \\servidor\carpeta_compartida\archivo.xls

    entonces utilizando el punto 3 de tu enunciado, no se como conectarme.

    gracias de antemano

    Saludos

  2. victor Says:

    mipropioinfierno ,

    tengo el mismo problema trato de crear un xls pero al generarlo se guarda el historico, me podrias ayudar con tu forma de hacerlo, con algun ejemplo o alguna pagina de referencia??

    Muchas Gracias.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: