Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment utiliser l'API SSIS pour lire un package et déterminer la séquence de tâches à partir du code (PrecedenceConstraints)

Il y avait un autre objet sous la contrainte, PrecedenceExecutable, qui représente l'objet "précédent", et il a également une propriété ID. Je ne sais pas comment je l'ai raté. J'avais juste besoin de le regarder d'un œil neuf, semble-t-il.

    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;

    }