Se tu usassi un DTS (Data Transformation Services) in SQL Server risolveresti ogni problema. L'unico "inghippo" è che devi inserire un percorso fisso al file, ma utilizzando visual basic puoi bypassare la cosa creando il DTS da procedura oppure utilizzare il DTS di SQL Server cambiando il percorso al volo semplicemente richiamando lo stesso.

Per informazioni più dettagliate e comunque per iniziare puoi dare un'occhiata qui