zoukankan      html  css  js  c++  java
  • BIML 101

    第二节 将文本文件数据导进数据库

    该小节介绍如何用BIML生成ssis包,将货币文本导入到数据库currency的表中。

    SSIS组件:

    1. Connection Manager组建管理connection,数据库链接和文本链接
    2. SQL task组件来把Currency表清空
    3. OELEDE destination来插入数据到目标Currency表

    输入 文本文件如下,目标表Currency存在于数据库中。

    Currency.csv

    CurrencyCode

    Name

    CNY

    USD

    美元

    JPY

    日元

    1. 配置了 一个数据库链接
    注意:配置了 一个数据库链接,其他组件要引用connection,它的ConnectionName一定要跟connection manager链接名字的一致
     

    <Connections >

       <Connection Name ="OLEDB_Staging" ConnectionString="Data Source=.SQL2012;Initial Catalog=Staging; Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"/>

    </Connections>

    2. 配置SQL Task来清空Currency表

    <BIML xmlns="http://schemas.varigence.com/BIML.xsd">
    
       <Connections >
    
         <Connection Name ="OLEDB_Staging" ConnectionString="Data Source=.SQL2012;Initial Catalog=Staging; Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"/>
    
       </Connections>
    
       <Packages>
    
         <Package Name="Staging" ConstraintMode="Linear">
    
       <Tasks>
    
         <ExecuteSQL Name="SQL - Truncate Curreny Staging" ConnectionName="OLEDB_Staging">
    
           <DirectInput>Truncate Table dbo.Currency
    
           </DirectInput>
    
         </ExecuteSQL>
    
       </Tasks>
    
         </Package>
    
       </Packages>
    
      </BIML>
    

      

    Truncate Table dbo.Currency 用于清空Currency表

    3. 验证错误并生成包,打开包如下
     

    可以执行包验证

    4. 添加组件,设置执行顺序
    注意上文中Package的属性:ConstraintMode="Linear" 用于顺序执行,Parallel用于并发执行。
    本节的两个组件需要Linear(顺序)执行。
     

    <BIML xmlns="http://schemas.varigence.com/BIML.xsd">

       <FileFormats>

       <FlatFileFormat Name="FlatFileFormatCurrency" RowDelimiter="LF" ColumnNamesInFirstDataRow="true" IsUnicode="false">

       <Columns>

       <Column Name="CurrencyCode" DataType="String" Length="256" Delimiter="Comma" CodePage="1252" />

       <Column Name="Name" DataType="String" Length="256" Delimiter="LF" />

       </Columns>

       </FlatFileFormat>

       </FileFormats>

       <Connections >

       <Connection Name ="OLEDB_Staging" ConnectionString="Data Source=.SQL2012;Initial Catalog=Staging;

                         Provider=SQLNCLI11.1;Integrated Security=SSPI;Auto Translate=False;"/>

      

       <FlatFileConnection Name="FlatFileCurrency" FileFormat="FlatFileFormatCurrency" FilePath="C:SourceFileCurrency.csv" />

       </Connections>

       <Packages>

       <Package Name="Staging" ConstraintMode="Linear">

       <Tasks>

       <ExecuteSQL Name="SQL - Truncate Curreny Staging" ConnectionName="OLEDB_Staging">

       <DirectInput>

       Truncate Table dbo.Currency

       </DirectInput>

       </ExecuteSQL>

       <Dataflow Name="DFT Source">

       <Transformations>

       <FlatFileSource ConnectionName="FlatFileCurrency" Name="FF Source" />

       <OleDbDestination ConnectionName="OLEDB_Staging" Name="OLEDB DST Currency">

       <ExternalTableOutput Table="Currency"></ExternalTableOutput>

       </OleDbDestination>

       </Transformations>

       </Dataflow>

       </Tasks>

       </Package>

       </Packages>

      </BIML>

    5. 验证并生成包
    可以看到文本组件依赖上面的清空数据组件(箭头顺序)

     

    6. 执行包,查看执行结果,并到数据库中查询Currency表。

     

    7. OK,没问题,文本导入到数据表中了。

  • 相关阅读:
    SpringBoot实现原理
    常见Http状态码大全
    forward(转发)和redirect(重定向)有什么区别
    1094. Car Pooling (M)
    0980. Unique Paths III (H)
    1291. Sequential Digits (M)
    0121. Best Time to Buy and Sell Stock (E)
    1041. Robot Bounded In Circle (M)
    0421. Maximum XOR of Two Numbers in an Array (M)
    0216. Combination Sum III (M)
  • 原文地址:https://www.cnblogs.com/lizardbi/p/BIML101_BIML_FOR_ETL_Datawarehouse_Import_CSV_file.html
Copyright © 2011-2022 走看看