3
votes

I'm using BIML to generate a coordination package that will execute multiple SSIS packages (some parallel and some linear). (I'm using VS2012 and the SSIS project deployment model)

With the code below I can generate two dummy 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 with generate the coordination package without any errors.

The next step in completing the coordination package is using a package parameter to control the executed packages. I don't see any way to pass the parameter "param1".

Is there any way to pass the parameter in BIML? (in the Execute SQL task I see this option, but not here)

UPDATE: There is a new version of BIDSHelper with the right support for project parameters...-> http://bidshelper.codeplex.com/releases/view/112755

1
I have not seen a mechanism and I asked a similar question on the varigence forumsbillinkc

1 Answers

6
votes

Those options have been added to the latest builds of BIDSHelper, which will be shipping in the next two weeks. If you email [email protected], we can send you a pre-release, if you'd like. The syntax is:

<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>