Limpiar conexiones no utilizadas (Script)

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: