SSIS foreach循环容器中的通配符搜索
Wildcard search in SSIS foreach loop container
如果变化的字符串介于两者之间,我如何执行通配符搜索
示例:
我知道 Tree_Mango_* 如果所需的文件是 Tree_Mango_1、Tree_Mango_2 等,则可以工作。
但是如果我需要的是Tree_1_Mango、Tree_2_Mango、Tree_3_Mango等...那么我该如何指定通配符呢?
Foreach 文件枚举器容器的通配符将执行与 Windows/DOS OS 相同的操作。
*
将可选地匹配任何内容
?
将匹配一个字符
鉴于
的源值
- Tree_1_Mango
- Tree_2_Mango
- Tree_3_Mango
我会使用 FileSpecification
的 Tree_?_Mango
鉴于我的目录内容如下
C:\SSISData\so061364>dir /b /s
C:\SSISData\so061364\Tree_1_Mango
C:\SSISData\so061364\Tree_2_Mango
C:\SSISData\so061364\Tree_3_Mango
C:\SSISData\so061364\Tree_4_MangoDB
C:\SSISData\so061364\Tree__Mango
并且我使用 Biml 为 foreach 文件枚举器创建了一个简单的包。不熟悉 Biml?安装免费附加组件 BIDS Helper。添加一个新的 Biml 文件并粘贴以下声明。右键单击并生成 SSIS 包。
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="TreeMango">
<Variables>
<Variable DataType="String" Name="CurrentFileName">mixed</Variable>
</Variables>
<Tasks>
<ForEachFileLoop
Folder="C:\SSISData\so061364"
FileSpecification="Tree_?_Mango"
Name="FELC Tree Mango">
<VariableMappings>
<VariableMapping VariableName="User.CurrentFileName" Name="0" />
</VariableMappings>
</ForEachFileLoop>
</Tasks>
</Package>
</Packages>
</Biml>
结果是Tree_1_Mango、Tree_2_Mango、Tree_3_Mango匹配我的通配符。 Tree_4_MangoDB 和 Tree__Mango 不匹配。
如果变化的字符串介于两者之间,我如何执行通配符搜索
示例:
我知道 Tree_Mango_* 如果所需的文件是 Tree_Mango_1、Tree_Mango_2 等,则可以工作。
但是如果我需要的是Tree_1_Mango、Tree_2_Mango、Tree_3_Mango等...那么我该如何指定通配符呢?
Foreach 文件枚举器容器的通配符将执行与 Windows/DOS OS 相同的操作。
*
将可选地匹配任何内容
?
将匹配一个字符
鉴于
的源值- Tree_1_Mango
- Tree_2_Mango
- Tree_3_Mango
我会使用 FileSpecification
的 Tree_?_Mango
鉴于我的目录内容如下
C:\SSISData\so061364>dir /b /s
C:\SSISData\so061364\Tree_1_Mango
C:\SSISData\so061364\Tree_2_Mango
C:\SSISData\so061364\Tree_3_Mango
C:\SSISData\so061364\Tree_4_MangoDB
C:\SSISData\so061364\Tree__Mango
并且我使用 Biml 为 foreach 文件枚举器创建了一个简单的包。不熟悉 Biml?安装免费附加组件 BIDS Helper。添加一个新的 Biml 文件并粘贴以下声明。右键单击并生成 SSIS 包。
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<Package Name="TreeMango">
<Variables>
<Variable DataType="String" Name="CurrentFileName">mixed</Variable>
</Variables>
<Tasks>
<ForEachFileLoop
Folder="C:\SSISData\so061364"
FileSpecification="Tree_?_Mango"
Name="FELC Tree Mango">
<VariableMappings>
<VariableMapping VariableName="User.CurrentFileName" Name="0" />
</VariableMappings>
</ForEachFileLoop>
</Tasks>
</Package>
</Packages>
</Biml>
结果是Tree_1_Mango、Tree_2_Mango、Tree_3_Mango匹配我的通配符。 Tree_4_MangoDB 和 Tree__Mango 不匹配。