我有一个biml文件,想要使用include指令从另一个可以在其他地方重用的文件中引入biml,但是当我用BIDSHelper检查错误时它会不断出现这个错误:
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 :(得分:0)
我找到了两种方法来实现这一点 - 要么将文件的扩展名更改为类似.txt的内容,要么在编译&#34;编译时不要选择它。您的文件使用BIDSHelper并执行&#34;检查BIML是否有错误&#34;或&#34;生成SSIS包&#34;。只需选择使用任何包含文件的主文件,并包含正确的XML。