將SQLServer數據同步到MySQL 用什么方法?
問題描述
目的:將 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 表中?
這兩種同步方法哪種穩定?同時也好檢查同步失敗的數據?或者還有其它什么方法嗎?(不用第三方軟件)
希望有類似經驗的大神們給個方案,十分感謝!
問題解答
回答1:定時同步壓力小點。如果你有兩個字段created_at和updated_at,created_at代表記錄啥時候創建的,updated_at代表記錄啥時候更新的。每次同步就就按照這兩個字段把當前這個時段的記錄select出來然后存儲就OK了。
回答2:為啥不試試kettle,是一款ETL工具,用于數據抽取,支持各種數據庫,而且也可以定時job,也可以中斷續傳,完全滿足你的需求,之前公司用過,很好,很強大,可以試試。http://www.oschina.net/p/kettle 網上也有不少資料
相關文章:
1. html5 - 有可以一次性把所有 css外部樣式轉為html標簽內style=" "的方法嗎?2. javascript - 原生canvas中如何獲取到觸摸事件的canvas內坐標?3. javascript - 如何將一個div始終固定在某個位置;無論屏幕和分辨率怎么變化;div位置始終不變4. html - vue項目中用到了elementUI問題5. python - 如何判斷爬蟲已經成功登陸?6. javascript - 求解答:實例對象調用constructor,此時constructor內的this的指向?7. javascript - 這不是對象字面量函數嗎?為什么要new初始化?8. javascript - vscode alt+shift+f 格式化js代碼,通不過eslint的代碼風格檢查怎么辦。。。9. javascript - 有什么比較好的網頁版shell前端組件?10. javascript - [js]為什么畫布里不出現圖片呢?在線等
