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的配置文件里,数据库连接密码 进行加密。加密过程是自己写的。以下是某个任务的配置文件

  1. [Source]
  2. ;源数据库类型
  3. sDataType=SQL Server
  4. ;源数据库地址
  5. sServer=192.168.1.5
  6. ;源数据库用户名
  7. sUser=sa
  8. ;源数据库密码
  9. sPass=ec17c14v20s
  10. ;源数据库连接其他参数
  11. sParam=
  12. ;源数据库名
  13. sConnData=hbposv8
  14. ;源数据 语句
  15. sSqlQuery=SELECT CLASS=‘11‘,COMMCADE=‘12‘,COMMNAME=‘13‘,MODEL=‘14‘,PPRICE=‘15‘,SPRICE=‘16‘,WPRICE=‘17‘,SUPP=‘18‘
  16. [Object]
  17. ;目的数据库类型
  18. oDataType=MySql
  19. ;目的数据库地址
  20. oServer=192.168.1.3
  21. ;目的用户名
  22. oUser=nyuam
  23. ;目的密码
  24. oPass=ec75c75x75g75g75b75w75k75f75n75q75d75u75x75w75f75n
  25. ;目的其他连接参数
  26. oParam=Option=3;
  27. ;目的数据库名称
  28. oConnData=freesysmis
  29. ;目的表
  30. oIntoTable=fr_comm_temp
  31. ;是否清空目的表
  32. oDelete=F
  33. ;目的表是否遇主键重复更新
  34. oKeyUpdate=T
  35. ;目的表遇主键重复更新字段
  36. oKeyUpdateField=CommCade,CommName,Model
  37. ;目的字段数量
  38. oFielNumber=8
  39. ;目的字段组
  40. oFieldArray=CLASS,COMMCADE,COMMNAME,MODEL,PPRICE,SPRICE,WPRICE,SUPP
  41. ;目的字段类型,T表示文本,S表示数字,此参数主要用于判断在加入语句时 mssql 遇数字的字段 不能有 单引号
  42. oFieldType=T,T,T,T,S,S,S,T
  43. [Plan]
  44. ;调度方式  Day 表示天,Week表示周,Month 表示月
  45. frequency=Day
  46. ;如果调度方式=Day,以下参数才有效 即多少天一个周期
  47. Days=1
  48. ;如果调度方式=Week,以下参数才有效,即 每周的 星期几 0表示星期天,1表示星期一......
  49. WeekArr=0,2
  50. ;如果调度方式=Month,以下参数才有效,即 每月的多少号
  51. MonthDayArr=
  52. ;是否当天固定时间执行一次
  53. ExecOne=F
  54. ;如果ExecOne=T,以下参数才有效,即 当天的什么时间执行任务
  55. ExecOneTime=
  56. ;是否当天重复执行
  57. TimeInte=T
  58. ;如果TimeInte=T,以下参数才有效,即 重复的时间间隔
  59. TimeInteTime=10
  60. ;如果TimeInte=T,以下参数才有效,即 重复的时间间隔的单位 分钟 或 小时
  61. timeInteText=分钟
  62. ;如果TimeInte=T,以下参数才有效,即 当天的开始时间 程序在计算下次执行时间时,将根据这个时间开始计算
  63. StartTime=08:00:00
  64. ;如果TimeInte=T,以下参数才有效,即 当天的结束时间 程序在计算下次执行时间时,当计算出的下次执行时间 大于这个时间时,就根据调度方式将下次执行时间增加到 下一天的开始时间
  65. EndTime=20:00:00
  66. ;调度的说明
  67. ExplanationText=在每[1]天,的 [08:00:00]-[20:00:00]之间, 每[10分钟]执行一次
  68. ;调度状态 T表示启用 F表示禁用 禁用调度 任务将不会自动执行
  69. Mark=F
  70. [Result]
  71. ;任务最后执行的时间
  72. LastDate=2016-06-21 09:48:33
  73. ;任务最后执行的结果
  74. LastResult=成功!



6.主窗口 根据任务的配置文件计算 任务的最后执行时间,然后时钟判断 当前时间是否大于任务的最后执行时间,然后执行任务,并更新任务的最后的执行时间。
技术图片


程序需要直接连接数据库,mysql 需要安装 mysql 驱动程序 ,程序没有使用线程,对特别大量的数据 处理时 会假死,特别是广域网之间的数据库
此程序目前在市面上也比较少见,我也是找了好几天 找不到 合适的程序 才写的这个。

以上是关于mssql 和mysql 数据自动同步程序的主要内容,如果未能解决你的问题,请参考以下文章

mysql实时同步到mssql的解决方案

MySql之自动同步表结构

[dg数据库每天都要手动同步]oracleDataGuard不能实时自动同步

如何实现mysql和mssql的数据同步

是否可以从 MySQL 和 MSSQL 同步两个链接服务器中的两个表?

MySQL数据同步到HIVE,自动生成MySQL表对应HIVE的建表语句