Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come utilizzare l'API SSIS per leggere un pacchetto e determinare la sequenza di attività dal codice (PrecedenceConstraints)

C'era un altro oggetto sotto il vincolo, PrecedenceExecutable, che rappresenta l'oggetto "precedente" e ha anche una proprietà ID. Non sono sicuro di come me lo sia perso. Avevo solo bisogno di guardarlo fresco, a quanto pare.

    foreach (var precedenceConstraint in package.PrecedenceConstraints)
    {

        Microsoft.SqlServer.Dts.Runtime.TaskHost constrainedExecutable = (Microsoft.SqlServer.Dts.Runtime.TaskHost)precedenceConstraint.ConstrainedExecutable;
        Microsoft.SqlServer.Dts.Runtime.TaskHost precedenceExecutable = (Microsoft.SqlServer.Dts.Runtime.TaskHost)precedenceConstraint.PrecedenceExecutable;

        string taskName = constrainedExecutable.Name;

        string constrainedExecutableId = constrainedExecutable.ID;
        string precedenceConstraintId = precedenceConstraint.ID;

        Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ExecuteSQLTask executeSqlTask = (Microsoft.SqlServer.Dts.Tasks.ExecuteSQLTask.ExecuteSQLTask)constrainedExecutable.InnerObject;

    }