• 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,没问题,文本导入到数据表中了。

  • 相关阅读:
    基于emWin的WAV,MP3软解软件播放器,带类似千千静听频谱,含uCOS-III和FreeRTOS两个版本
    [Linux-CentOS7]yum清华源CentOS7
    [Python]random生成随机6位验证码
    [Python]公司接口返回值规范
    [MacOS]Chrome 强制刷新
    Mybatis的XML中数字不为空的判断
    康师傅JVM:执行引擎(十二)
    Qt 随机颜色的生成
    Qt QVector常见使用方法
    Qt 判断文件是否存在
  • 原文地址:https://www.cnblogs.com/lizardbi/p/BIML101_BIML_FOR_ETL_Datawarehouse_Import_CSV_file.html
Copyright © 2020-2023  润新知