SSIS 学习之旅 数据同步
这一章 别人也有写过但是我觉得还是写写比较好。
数据同步其实就是想仿照 数据库的发布订阅功能
第一章:SSIS 学习之旅 第一个SSIS 示例(一)(上)
第二章:SSIS 学习之旅 第一个SSIS 示例(二)
设计:
前面两个例子已经分别创建了两个数据库分别是Demon 和 Demon_text
里面分别都有Users 表 以Demon库Users表为主表 像 Demon_text库Users表同步数据
定期处理数据 使得两个库数据一致
创建数据库脚本:
-- 创建一个数据库Demo CREATE DATABASE Demon -- 创建一张User表 CREATE TABLE [dbo].[Users]( [ID] BIGINT IDENTITY(1,1) NOT NULL, [UserName] NVARCHAR(500) NULL, [PassWords] NVARCHAR(500) NULL ) ON [PRIMARY] -- 给表添加数据 INSERT INTO [dbo].[Users] VALUES ('LiLei','123456') INSERT INTO [dbo].[Users] VALUES ('Wangmingmign','654321') INSERT INTO [dbo].[Users] VALUES ('Jack','123654') -- 创建数据库 CREATE DATABASE Demon_text -- 用户表 CREATE TABLE [dbo].[Users]( [ID] BIGINT IDENTITY(1,1) NOT NULL, [UserName] NVARCHAR(500) NULL, [PassWords] NVARCHAR(500) NULL, [UserGroupID] BIGINT NULL ) ON [PRIMARY] INSERT INTO [Users] VALUES ('LiLei','123123',1) INSERT INTO [Users] VALUES ('WangMingMing','123456',2)
由于这个包 使用的库是上面两章的数据库 为了不重复创建数据库连接管理器
本人将Demon 库 和 Demon_text库的 连接管理器 设置成了项目连接
命名分表更改成了Demon 和 Demon_text 以便于区分
1.首先创建一个数据流任务。
2.创建两个OLE DB源 分别指向 Demon库 和 Demon_text 库
3.创建合并联接
注: 因为从库有删除操作。 所以选择的完全外部联接。根据实际情况来选择
4.创建有条件拆分
根据不同维度进行拆分数据。
5. 创建输出 OLE DB 目标
6.创建OLE DB 命令 (用于修改操作)
7.创建OLE DB 命令 (用于删除操作)
删除操作跟修改操作同理。只是SQL语句的不同。
8. 运行项目即可
本人不推荐这种形式,同步数据库中的表的数据。
因为 SQL Server 中有发布订阅的功能。
Mr_Damon