目的:将 SQLServer 数据表里的数据自动同步到 MySQL 的数据表里。
环境:两个数据库分别在两台服务器上;SQLServer表名为 tb1, MySQL表名为 tb2
同步方法:
1、实时同步:在 SQLServer 建立 ODBC 数据源,将 MySQL 数据库设置为系统DSN,然后建立链接服务器 mysql。在 tb1 表上建立插入、修改、删除触发器,自动更新MySQL表。
2、定时作业:还没用过,不会,谁能给个例子?谢谢。
问题:
1、方法1需要两台服务器都工作正常,MySQL不能关机或重启,否则会同步不成功。而且测试往 SQLServer 的tb1表中插入数据时,还报错:
链接服务器"mysql"的 OLE DB 访问接口 "MSDASQL" 返回了消息 "[MySQL][ODBC 5.2(w) Driver]Optional feature not supported"。
2、方法2定时作业,同步时同步 tb1 表中的全部数据还是只同步当天的数据?怎样区分?按时间吗?具体怎样同步到链接服务器 mysql 的 tb2 表中?
这两种同步方法哪种稳定?同时也好检查同步失败的数据?或者还有其它什么方法吗?(不用第三方软件)
希望有类似经验的大神们给个方案,十分感谢!
阿神2017-04-17 15:27:00
타이밍 동기화 압력이 더 작습니다. created_at
과 updated_at
필드가 두 개 있는 경우 created_at
는 레코드가 생성된 날짜를 나타내고, updated_at
는 레코드가 업데이트된 날짜를 나타냅니다. 동기화할 때마다 이 두 필드에 따라 현재 기간의 기록을 선택하고 저장합니다.
大家讲道理2017-04-17 15:27:00
Kettle은 데이터 추출에 사용되며 다양한 데이터베이스를 지원하는 ETL 도구로 작업 예약과 업로드 중단 및 재개가 가능하며 이전에 회사에서 사용해 본 적이 있습니다. 아주 좋습니다. 매우 강력합니다. 시도해 보세요. http://www.oschina.net/p/kettle 온라인에도 많은 정보가 있습니다