2017-08-15 133 views
0

我有一个BIML文件,并要使用include指令在BIML把从可以在其他地方得到重用另一个文件,但它一直给这个错误,当我做检查错误与BIDSHelper:如何在包含多个根节点时包含biml文件?

There are multiple root elements 

我使用include指令在线查看示例,但未提及此问题。我无法找到任何有效的元素来包裹我的biml,它必须是这个块。

ErrorHandling.biml:

<UnionAll Name="Union Errors"> 
<InputPaths> 
    <InputPath OutputPathName="Lookup Site.Error" /> 
    <InputPath OutputPathName="Detail Level Source.Error" /> 
    <InputPath OutputPathName="Site to Integer.Error" /> 
</InputPaths> 
</UnionAll> 
<DerivedColumns Name="Error Metadata"> 
    <InputPath OutputPathName="Union Errors.Output" /> 
    <Columns> 
     <Column Name="execution_guid" DataType="AnsiString" Length="50" CodePage="1252">(DT_STR,50,1252)@[User::ExecutionGUID]</Column> 
     <Column Name="error_time" DataType="DateTime" >GETDATE()</Column> 
     <Column Name="PackageID" DataType="AnsiString" Length="38" CodePage="1252">(DT_STR,38,1252)@[System::PackageID]</Column> 
     <Column Name="DataflowID" DataType="AnsiString" Length="38" CodePage="1252">(DT_STR,38,1252)@[System::TaskID]</Column> 
     <Column Name="Step_Name" DataType="AnsiString" Length="50" CodePage="1252">(DT_STR,50,1252)"QI Load"</Column> 
     <Column Name="Task_Name" DataType="AnsiString" Length="50" CodePage="1252">(DT_STR,50,1252)"Detail Level Check"</Column> 
    </Columns> 
</DerivedColumns> 

Master.biml片段:

<RowCount Name="Row Count" VariableName="User.CheckRowCount"> 
     <InputPath OutputPathName="Lookup Site.Match" /> 
    </RowCount> 
    <#@ include file="ErrorHandling.biml" #> 
</Transformations> 

回答

0

我发现两种方法得到这个工作 - 无论是文件的扩展名更改为类似.txt或当你使用BIDSHelper“编译”你的文件并做“检查BIML错误”或“生成SSIS包”时,不要选择它。只需选择使用任何包含文件的主要文件并包含正确的XML。

+0

重命名为'.txt'是个不错的主意。不选择它是正确的方法,因为包含的文件将被选择编译的参考文件引用。 – iamdave