我的暂存数据库中有一个带有 2 个输出路径和 2 个表的 XML 文件。表和输出路径确实具有相同的名称。而不是写 2 次 OleDbDestination 并更改 Inputpath 和 ExternalTableOutput 我想使用一些 Bimlscript。
我目前的解决方案:
<Dataflow Name="DF_MyXml">
<Transformations>
<XmlSource Name="MyXml">
<FileInput ConnectionName="simple.xml" />
<XmlSchemaFileInput ConnectionName="simple.xsd" />
</XmlSource>
<OleDbDestination Name="Database" ConnectionName="Dest">
<InputPath OutputPathName = "MyXml.Database" />
<ExternalTableOutput Table="Database" />
</OleDbDestination>
<OleDbDestination Name="Project" ConnectionName="Dest">
<InputPath OutputPathName = "MyXml.Project" />
<ExternalTableOutput Table="Project" />
</OleDbDestination>
</Transformations>
</Dataflow>
我想达到的目标:
<Dataflow Name="DF_MyXML">
<Transformations>
<XmlSource Name="MyXml">
<FileInput ConnectionName="simple.xml" />
<XmlSchemaFileInput ConnectionName="simple.xsd" />
</XmlSource>
<#foreach (var OutP in ["myXML"].DataflowOutputs) { #>
<OleDbDestination Name="<#=OutP.Name#>" ConnectionName="Dest">
<InputPath OutputPathName = "MyXml.<#=OutP.Name#>" />
<ExternalTableOutput Table="<#=OutP.Name#>" />
</OleDbDestination>
<# } #>
</Transformations>
</Dataflow>
可悲的是,这不起作用。;-)
在 AstXMLSourceNode 的 API-Documentation 中,我找到了属性“DataflowOutputs”,它“获取此转换的所有数据流输出路径的集合”(听起来很有希望,嗯?)但我什至无法弄清楚如何在 Bimlscript 中引用 XMLSource反正。
从 RootNode 开始,我能够找到我的 Dataflow-Task,但后来我被卡住了,没有设法“找到”我的 Transformations\XMLSource。
任何帮助将非常感激!!
顺便说一句:如果有一种解决方案可以根据给定的 XSD 自动创建目标表,这也将更好。:-)