biml文件有多个根节点时如何包含?
How to include biml file when it has more than one root node?
我有一个 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>
我找到了两种方法来实现这一点——要么将文件的扩展名更改为 .txt 之类的东西,要么在 "compile" 使用 BIDSHelper 和做 "Check BIML for Errors" 或 "Generate SSIS packages"。仅 select 使用任何包含文件并包含适当 XML.
的主要文件
我有一个 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>
我找到了两种方法来实现这一点——要么将文件的扩展名更改为 .txt 之类的东西,要么在 "compile" 使用 BIDSHelper 和做 "Check BIML for Errors" 或 "Generate SSIS packages"。仅 select 使用任何包含文件并包含适当 XML.
的主要文件