zoukankan      html  css  js  c++  java
  • SSIS高级内容 系列五

    1. 包模板

    1 创建包模板,命名为:PackageTemplate.dtsx

    2 拷贝到%ProgramFiles%"Microsoft Visual Studio 8"Common7"IDE"PrivateAssemblies"ProjectItems"DataTransformationProject"DataTransformationItems目录下

    如:C:"Program Files"Microsoft Visual Studio 8"Common7"IDE"PrivateAssemblies"ProjectItems"DataTransformationProject"DataTransformationItems

    3 右键单击解决方案,在弹出的选择“添加”->“新建项”,选择刚才添加包的新模板PackageTemplate.dtsx重命名为:PackageTemplate1.dtsx

    如下图:

    截图00.jpg

    4 在新创建的包PackageTemplate1.dtsx,生成新的包ID,如下图所示:

    截图01.jpg

    2. 数据同步策略

    2.1 数据源中有增量数据

    1 寻找增量时间戳

    1)各种数据库:表的创建时间字段和修改时间字段或者最后的修改时间字段;

    2sql server:可以用找自增字段或者时间戳;

    3Oracle:找序列字段也是自增的;

    4)如果找不到以上字段,可以分析实际业务数据:比如各种编号是不是不重复自增的;

    上个月的数据不会改变,变化只是本月的,那么本月数据就是增量数据;

    5)有增量变更记录数据表,标识哪些字段是insertupdatedelete

    2 如何实现insertupdatedelete

    1)对有增量变更记录数据表的,拆分一下(insertupdatedelete),很简单直接就可以同步处理数据了;

    2)对有增量数据的:

    A:Lookup组件delete可以实现insertupdatedelete只能采用outer join方法;

    Bouter joinNULL关键字方法可以实现insertupdatedelete,但是当数据量较大时消耗性能。

    CSCD缓慢变化维度组件可以很容易实现insertupdatedelete只能采用outer join方法;

    2.2 数据源无增量数据

    如果实在找不到增量数据,只能先全部删除然后全部抽取

    【出自博客园深潭的网上家园,转载请注明作者出处】
  • 相关阅读:
    HTML 5 标准属性
    启程
    【Java】自定义登陆拦截器
    【Java】将List中的实体按照某个字段进行分组的算法
    SpringBoot + MultipartFile 实现文件上传以及文件转移的功能以及配置全局捕获上传文件过大异常
    MySQL查询两门及两门以上不及格的学生,显示姓名
    java中可以用==来比较两个字符串是否相等吗
    自己动手Jquery插件
    10个可以直接拿来用的JQuery代码片段
    linux 安装python
  • 原文地址:https://www.cnblogs.com/dbasys/p/1373348.html
Copyright © 2011-2022 走看看