mssql 和mysql 数据自动同步程序
Posted syncnavigator8-4-1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql 和mysql 数据自动同步程序相关的知识,希望对你有一定的参考价值。
1.可以用于 mssql导出到mssql mysql 导出到mysql mssql导出到mysql mysql 导出到mssql
2.可以实现mssql 和mysql 导入时遇主键重复时更新某些字段,
3.可以对源字段和目的字段进行映射,可以避免自动编码类的字段.
4.可以设置调度,类似于 SQL Server 的导入导出
5.每个任务的所有设置都保存在一个dst的配置文件里,数据库连接密码 进行加密。加密过程是自己写的。以下是某个任务的配置文件
- [Source]
- ;源数据库类型
- sDataType=SQL Server
- ;源数据库地址
- sServer=192.168.1.5
- ;源数据库用户名
- sUser=sa
- ;源数据库密码
- sPass=ec17c14v20s
- ;源数据库连接其他参数
- sParam=
- ;源数据库名
- sConnData=hbposv8
- ;源数据 语句
- sSqlQuery=SELECT CLASS=‘11‘,COMMCADE=‘12‘,COMMNAME=‘13‘,MODEL=‘14‘,PPRICE=‘15‘,SPRICE=‘16‘,WPRICE=‘17‘,SUPP=‘18‘
- [Object]
- ;目的数据库类型
- oDataType=MySql
- ;目的数据库地址
- oServer=192.168.1.3
- ;目的用户名
- oUser=nyuam
- ;目的密码
- oPass=ec75c75x75g75g75b75w75k75f75n75q75d75u75x75w75f75n
- ;目的其他连接参数
- oParam=Option=3;
- ;目的数据库名称
- oConnData=freesysmis
- ;目的表
- oIntoTable=fr_comm_temp
- ;是否清空目的表
- oDelete=F
- ;目的表是否遇主键重复更新
- oKeyUpdate=T
- ;目的表遇主键重复更新字段
- oKeyUpdateField=CommCade,CommName,Model
- ;目的字段数量
- oFielNumber=8
- ;目的字段组
- oFieldArray=CLASS,COMMCADE,COMMNAME,MODEL,PPRICE,SPRICE,WPRICE,SUPP
- ;目的字段类型,T表示文本,S表示数字,此参数主要用于判断在加入语句时 mssql 遇数字的字段 不能有 单引号
- oFieldType=T,T,T,T,S,S,S,T
- [Plan]
- ;调度方式 Day 表示天,Week表示周,Month 表示月
- frequency=Day
- ;如果调度方式=Day,以下参数才有效 即多少天一个周期
- Days=1
- ;如果调度方式=Week,以下参数才有效,即 每周的 星期几 0表示星期天,1表示星期一......
- WeekArr=0,2
- ;如果调度方式=Month,以下参数才有效,即 每月的多少号
- MonthDayArr=
- ;是否当天固定时间执行一次
- ExecOne=F
- ;如果ExecOne=T,以下参数才有效,即 当天的什么时间执行任务
- ExecOneTime=
- ;是否当天重复执行
- TimeInte=T
- ;如果TimeInte=T,以下参数才有效,即 重复的时间间隔
- TimeInteTime=10
- ;如果TimeInte=T,以下参数才有效,即 重复的时间间隔的单位 分钟 或 小时
- timeInteText=分钟
- ;如果TimeInte=T,以下参数才有效,即 当天的开始时间 程序在计算下次执行时间时,将根据这个时间开始计算
- StartTime=08:00:00
- ;如果TimeInte=T,以下参数才有效,即 当天的结束时间 程序在计算下次执行时间时,当计算出的下次执行时间 大于这个时间时,就根据调度方式将下次执行时间增加到 下一天的开始时间
- EndTime=20:00:00
- ;调度的说明
- ExplanationText=在每[1]天,的 [08:00:00]-[20:00:00]之间, 每[10分钟]执行一次
- ;调度状态 T表示启用 F表示禁用 禁用调度 任务将不会自动执行
- Mark=F
- [Result]
- ;任务最后执行的时间
- LastDate=2016-06-21 09:48:33
- ;任务最后执行的结果
- LastResult=成功!
6.主窗口 根据任务的配置文件计算 任务的最后执行时间,然后时钟判断 当前时间是否大于任务的最后执行时间,然后执行任务,并更新任务的最后的执行时间。
程序需要直接连接数据库,mysql 需要安装 mysql 驱动程序 ,程序没有使用线程,对特别大量的数据 处理时 会假死,特别是广域网之间的数据库
此程序目前在市面上也比较少见,我也是找了好几天 找不到 合适的程序 才写的这个。
以上是关于mssql 和mysql 数据自动同步程序的主要内容,如果未能解决你的问题,请参考以下文章
[dg数据库每天都要手动同步]oracleDataGuard不能实时自动同步