在BIML中引用项目参数

时间:2017-05-01 15:06:51

标签: ssis biml

我一直在使用Catherine W的帖子在BIML中创建项目参数,运气不错。我遇到的问题是将本地参数的表达式设置为等于项目参数。它很可能只是一个XML格式问题,但我还没有在网上找到任何关于它的例子,而且我自己还没有想出来。所以,任何建议都会有所帮助。

这是我的环境BIML文件中的项目参数的定义。

<Projects>
    <PackageProject Name="ProjParams">
        <Parameters>
            <Parameter Name="AgentJobName" DataType="String"></Parameter>
            <Parameter Name="LoadType" DataType="String">Full</Parameter>
        </Parameters>
    </PackageProject>
</Projects>

然后在Packages \ Package下我有变量。我正在定义一个名为LoadType的用户变量,并将其设置为表达式中LoadType的包变量。 (包中有些东西不会使用包参数,所以我必须创建一个用户变量)我知道@ [$ Package :: LoadType]的引用是不正确的,但这就是我想弄清楚的。如何让BIML放入包参数?

    <Variables>
        <Variable EvaluateAsExpression="true" DataType="String" IncludeInDebugDump="Exclude" Name="LoadType">@[$Package::LoadType]</Variable>

谢谢大家!

1 个答案:

答案 0 :(得分:2)

它为我工作

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
    <Projects>
        <PackageProject Name="so">
            <Parameters>
                <Parameter DataType="String" Name="ProjectParameter" >Demo0</Parameter>
            </Parameters>
            <Packages>
                <Package PackageName="so_43721322" />
            </Packages>
        </PackageProject>
    </Projects>
    <Packages>
        <Package Name="so_43721322">
            <Parameters>
                <Parameter DataType="String" Name="PackageParameter">Demo1</Parameter>
            </Parameters>
            <Variables>
                <Variable Name="PackageParameter" DataType="String" EvaluateAsExpression="true">@[$Package::PackageParameter]</Variable>
                <Variable Name="ProjectParameter" DataType="String" EvaluateAsExpression="true">@[$Project::ProjectParameter]</Variable>
            </Variables>
        </Package>
    </Packages>
</Biml>

我创建一个项目和一个包级别参数,然后在我的包中创建两个变量,每个变量引用参数(@ [$ Project :: ProjectParameter]和@ [$ Package :: PackageParameter])

enter image description here

我错过了一些细微差别吗?