SQL Delta实用案例介绍 概述
创建SQL DELTA项目 使用SQLDELTA 进行数据库结构同步 使用SQLDELTA进行数据库数据同步 生成数据报表 待续
你可以从www.上下载SQLDELTA工具。目前最新版本是SQL DELTA Version5.0。本文将采用SQL DELTA4 来做演示。
通过右键新建的项目“Edit Project”,或者通过点击右边的向下箭头,可以编辑项目。 在项目中,源数据库和目标数据库配置如下图所示:
接着,点击图1 右下角的“Project Options”,选择要对比的对象,如图2
图2选择对比的对象 在图1所示的界面中,点击左上角或右下角的”Compare DataBase”,对比两个数据库中我们选择要对比的对象。
图3 对比进度条
图4 输入数据库连接密码 使用SQLDELTA 进行数据库结构同步
图5 数据库对象对比结果 例1 :使用源数据库的表更新目标数据的表 选择图5种上半部分中type为数据表,statue为”<>”的行,对应的将在其下半部分显示出两个不同源的数据表结构哪里不一样,如图6所示”summary”选项卡中columns有1个”<>”。对应选择选项卡”Cols(1)”,如图7 所示,我们将看到,原来列sortname中数据类型不一样,源库中是varchar(50),目标库中是char(50)
图6
图7 现在要使得目标库的sortname类型也为varchar(50),通过钩选图7上半部分的列表中对应的”Update”列中的钩选框(默认情况下是钩选的)。 点击图5中左上角的”Sync”同步图标。将生成数据库同步语句,此时你下图中右下角的”Run”按钮即可完成同步操作。
图8 生成同步数据库的SQL语句 Updating dbo.attendanceinout Table dbo.attendanceinout Table Updated Successfully *** Script Completed For LHL-PC\SQLEXPRESS.lw_att2000 *** 说明更新目标表成功。 当我们关闭对话框时,SQLDELTA将再次进行一次数据库结构的比较,此时你将发现刚才不一样的表结构,已经同步,一样了。 例2:使用目标库中的存储过程更新源库中同构的存储过程。 查看两个存储过程的异同点方法,跟例1 相似,这不再赘述。不同地方如图9
图9 存储过程语句不一样
中的Direction按钮来改变要更新的库。 点Direction按钮,选择”Update on (local).lw_att2000”,其中(local).lw_att2000为源库。此时对象列表中的Action列对应的值,将由”Update on LHL-PC\SQLEXRESS.lw_att2000”变为” Update on (local).lw_att2000”。然后再使用”Sync”按钮同步。 注意:在同步SQL语句的时候,可以会同步错误。此时你只要稍微修改下生成的同步SQL语句,然后再要更新的库中运行即可。
使用SQLDELTA进行数据库数据同步
选择选项卡”Data”,点击”Wizard”按钮,选择需要对比的数据的表,注意选择的表必需要有主键,如图10,选择CHECKINOUT,主键为userid和checktime
图10 选择要对比数据的表
图11 数据对比结果 如果此时我们要将目标表中的记录同步到源表中,只要按照结构对比示例2 中存储过程通过的过程一样。
其中 Strucure是生成指定数据库的结构对象的报表 Comparison生成两个数据库结构对象对比结果的报表 Data生成两个数据库数据对比情况的报表 Combined是以上三者的组合选项。
|
|
来自: doctorzhou > 《我的图书馆》