2013-10-03 5 views
3

J'utilise BIML pour générer un paquet de coordination qui exécutera plusieurs paquets SSIS (certains parallèles et d'autres linéaires). (j'utilise VS2012 et le modèle de déploiement de projet SSIS)Transmettre les paramètres du paquet à la tâche d'exécution de paquet

Avec le code ci-dessous je peux générer deux mannequin Execute Package Tasks:

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
    <Packages> 
    <Package ConstraintMode="Linear" AutoCreateConfigurationsType="None" ProtectionLevel="DontSaveSensitive" Name="Coordination">  
    <Parameters> 
    <Parameter Name="param1" DataType="Int64" IsRequired="true" IsSensitive="false">1</Parameter>   
    </Parameters> 
    <Tasks> 
    <Container Name="SEQ container" ConstraintMode="Parallel"> 
     <Tasks> 
     <ExecutePackage Name="Run Package1"> 
      <ExternalProjectPackage Package="Package1.dtsx" /> 
     </ExecutePackage> 
     <ExecutePackage Name="Run Package2"> 
      <ExternalProjectPackage Package="Package2.dtsx" /> 
     </ExecutePackage> 
     </Tasks> 
    </Container> 
    </Tasks> 
    </Package> 
</Packages> 
</Biml> 

BIDS Helper avec générer le package de coordination sans aucune erreur.

L'étape suivante de l'achèvement du package de coordination consiste à utiliser un paramètre de package pour contrôler les packages exécutés. Je ne vois aucun moyen de passer le paramètre "param1".

Y at-il un moyen de passer le paramètre dans BIML? (dans le Execute SQL task je vois cette option, mais pas ici)

MISE À JOUR: Il y a une nouvelle version de BIDSHelper avec le bon support pour les paramètres du projet ...->http://bidshelper.codeplex.com/releases/view/112755

+1

Je ne l'ai pas vu un mécanisme et j'ai posé une question similaire sur le varigence [forum] (http://varigence.com/Forums?threadID=191) – billinkc

Répondre

6

Ces options ont été ajoutées aux dernières versions de BIDSHelper, qui seront expédiées dans les deux prochaines semaines. Si vous envoyez un courriel à [email protected], nous pouvons vous envoyer une pré-version, si vous le souhaitez. La syntaxe est:

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
    <Packages> 
     <Package ConstraintMode="Linear" AutoCreateConfigurationsType="None" ProtectionLevel="DontSaveSensitive" Name="Coordination"> 
      <Parameters> 
       <Parameter Name="param1" DataType="Int64" IsRequired="true" IsSensitive="false">1</Parameter> 
      </Parameters> 
      <Tasks> 
       <Container Name="SEQ container" ConstraintMode="Parallel"> 
        <Tasks> 
         <ExecutePackage Name="Run Package1"> 
          <ExternalProjectPackage Package="Package1.dtsx" /> 
          <ParameterBindings> 
           <ParameterBinding Name="Param1" VariableName="System.PackageID" /> 
          </ParameterBindings> 
         </ExecutePackage> 
         <ExecutePackage Name="Run Package2"> 
          <ExternalProjectPackage Package="Package2.dtsx" /> 
          <ParameterBindings> 
           <ParameterBinding Name="Param1" VariableName="System.PackageID" /> 
          </ParameterBindings> 
         </ExecutePackage> 
        </Tasks> 
       </Container> 
      </Tasks> 
     </Package> 
    </Packages> 
</Biml> 
+0

Merci pour votre réponse. Je suis impatient de la libération. En attendant, j'utilise une solution de contournement: une variable avec InheritFromPackageParentConfigurationString et un package global qui ne sera utilisé que pour définir ces paramètres. –

+0

BIDSHelper 1.6.4 a été publié et inclut le correctif pour ce problème. –