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
如下图:
4 在新创建的包PackageTemplate1.dtsx,生成新的包ID,如下图所示:
2. 数据同步策略
2.1 数据源中有增量数据
1 寻找增量时间戳
(1)各种数据库:表的创建时间字段和修改时间字段或者最后的修改时间字段;
(2)sql server:可以用找自增字段或者时间戳;
(3)Oracle:找序列字段也是自增的;
(4)如果找不到以上字段,可以分析实际业务数据:比如各种编号是不是不重复自增的;
上个月的数据不会改变,变化只是本月的,那么本月数据就是增量数据;
(5)有增量变更记录数据表,标识哪些字段是insert,update和delete
2 如何实现insert,update和delete
(1)对有增量变更记录数据表的,拆分一下(insert,update和delete),很简单直接就可以同步处理数据了;
(2)对有增量数据的:
A:Lookup组件delete可以实现insert和update,delete只能采用outer join方法;
B:outer join和NULL关键字方法可以实现insert,update和delete,但是当数据量较大时消耗性能。
C:SCD缓慢变化维度组件可以很容易实现insert和update,delete只能采用outer join方法;
2.2 数据源无增量数据
如果实在找不到增量数据,只能先全部删除然后全部抽取
【出自博客园深潭的网上家园,转载请注明作者出处】