RE:DTS importando datos fantasmas!! Ayúdenme
Los datos del Excel se copiaban primero a una tabla temporal. Luego otro proceso que no tiene nada que ver aquí copiaba los datos de la temporal a distintas tablas de la base de datos del sistema. Los datos de Excel se borraban primero simplemente seleccionándolos y presionando Supr.
El proceso que hace el DTS es:
- Destruir la tabla temporal mediante una tarea. (junto con los datos antigüos que ahí prodría haber)
- Volver a construir la tabla (ahora vacía)
- Traspasar la información de la hoja de excel a la temporal
Lo que he averiguado (creo yo) mediante un experimento que hice es que el código de Visual Basic que ejecuta el DTS desde el sistema, simplemente no lo está ejecutando.
Por lo tanto la tabla temporal nunca se destruye haciendo que los datos antigüos permanezcan ahí y cuando el proceso de carga se activaba copiaba los datos que había en la temporal, la cual nunca había sido destruída y reemplazada por datos nuevos por la sencilla razón de que el DTS nunca se ejecutó como todos pensaban.
Estoy casi seguro de que eso es lo que está pasado.
Lo que comprueba que los datos no tiene almas que penan alrededor de los DTS :)
Ahora solo tengo que averiguar porqué el código de Visual Basic que se encarga de ejecutar el DTS no lo está haciendo.
El código es este:
Dim vDTS As New dts.Package2
vDTS.LoadFromSQLServer GSNomSvr, "UserDTS", "UserDTS", DTSSQLStgFlag_Default, , ,, "DTS_CLARO_CARGA_CARTERA2"
vDTS.Connections(1).DataSource = TxtArchivo
vDTS.Connections(3).DataSource = TxtArchivo
vDTS.Execute
vDTS.UnInitialize
Set vDTS = Nothing
"UserDTS" es un inicio de sesión y usuario que hemos creado en el SQL.
El nombre del DTS es "DTS_CLARO_CARGA_CARTERA2"
"GSNomSvr " es una variable que contiene el nombre de nuestro servidor.
"TxtArchivo" Contiene la ruta al archivo Excel de origen
Gracias.