Este script ActiveX corre en el diseñador de DTS y limpiará las conexiones no utilizadas.
Esto permite renombrar las conexión, seleccionando Nueva Conexión y tipeando un nuevo nombre.
También permite copiar y pegar conexiones para renombrarlas.
Luego puedes limpiar las conexiones abandonadas cuando el desarrollo este completo.
'********************************************************************** '* Script ActiveX '********************************************************************** '* Limpiar conexiones no utilizadas '********************************************************************** '* ---------------------------------------- '* Descripcion: '* Este script realiza un ciclo a traves de cada conexion en un paquete y la libera '* si no esta siendo utilizada. '* ---------------------------------------- '* Uso: '* 1. Agregar una tarea a un paquete DTS. '* 2. Deshabilita esta tarea propiedades del flujo de trabajo, de modo que no se '* ejecute con el paquete. '* 3. Copia este script en la tarea ActiveX. '* 5. Realiza una copia de seguridad del paquete. (No olvidar este paso) '* 6. Guarda el paquete. (No olvidar este paso) '* 7. Ejecutar el script ActiveX en el diseñador DTS, guardar, y cerrar el paquete. '*------------------------------------------------------------------------------------- '* Nota: '* - Este script no debe ser ejecutado sin supervisión. '* - No editar el script en Propiedades del Tarea ActiveX. '* - Editar como un archivo .vbs en, y depura scripts el el Microsoft Script Editor. '------------------------------------------------------------------------------------- Function Main() On Error Resume Next Stop Dim loPackage Dim loConnections Dim loConnection Dim loTasks Dim loTask Dim loProperties Dim loProperty Dim lbConnectionUsed Set loPackage = DTSGlobalVariables.Parent Set loConnections = loPackage.Connections Set loTasks = loPackage.Tasks ' Reiniciar despues de cambiar de coleccion Do ' Loop Through Connections For Each loConnection In loConnections lbConnectionUsed = False ' Loop Through Tasks For Each loTask in loTasks Set loProperties = loTask.Properties ' Loop Through Properties For Each loProperty in loProperties If Instr(loProperty.Name, "ConnectionID") Then If loProperty = loConnection.ID Then lbConnectionUsed = True Exit For End If End If Next If lbConnectionUsed = True Then Exit For End If Next If lbConnectionUsed = False Then loConnections.Remove loConnection.Name Exit For End if Next If lbConnectionUsed = True Then Exit Do End If Loop Set loPackage = Nothing Set loConnections = Nothing Set loConnection = Nothing Set loTasks = Nothing Set loTask = Nothing Main = DTSTaskExecResult_Success End Function |
No hay comentarios:
Publicar un comentario