2015-08-17 217 views
0

我怎麼能執行一個通配符搜索,如果不同的字符串是通配符搜索

例之間

我知道Tree_Mango_ *工作,如果所需的文件正在Tree_Mango_1,Tree_Mango_2等。

但是,如果我需要的是Tree_1_Mango,Tree_2_Mango,Tree_3_Mango等......那麼我將如何指定通配符?

+0

在數據庫查詢?什麼SSIS運營商? –

回答

0

Foreach File枚舉器容器的通配符將與Windows/DOS操作系統執行相同的操作。

*將任選的匹配任何

?將匹配一個字符

鑑於

  • 源值Tree_1_Mango
  • Tree_2_Mango
  • Tree_3_Mango

我會用我的目錄

C:\SSISData\so\32061364>dir /b /s 
C:\SSISData\so\32061364\Tree_1_Mango 
C:\SSISData\so\32061364\Tree_2_Mango 
C:\SSISData\so\32061364\Tree_3_Mango 
C:\SSISData\so\32061364\Tree_4_MangoDB 
C:\SSISData\so\32061364\Tree__Mango 

Tree_?_Mango鑑於FileSpecification

以下內容,我用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\so\32061364" 
        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不匹配。

+0

非常感謝,它的工作原理。 – Dataman