{eval=Array;=+count(Array);}
根據(jù)我所知道的回答一下這個問題。
雖然mysql和sqlerver均屬于關(guān)系型數(shù)據(jù)庫,可以執(zhí)行SQL查詢語句,但是mysql數(shù)據(jù)庫并不能直接連接而sqlserver數(shù)據(jù)庫,反之亦然。需要通過“中間人”完成這件事。
如果需要定期的從sqlserver數(shù)據(jù)庫中取出數(shù)據(jù)放到mysql中,建議使用編程語言實現(xiàn)。該編程語言必須同時有mysql接口和sqlserver接口。由于題主的需求不是很復(fù)雜,只是定期的從sqlserver數(shù)據(jù)中提取數(shù)據(jù)到mysql數(shù)據(jù)庫,建議考慮使用腳本語言:pyton或者php。
step1:python讀取sqlserver的數(shù)據(jù)
python讀取sqlserver數(shù)據(jù)的數(shù)據(jù)表的內(nèi)容需要用到pymssql這個第三方庫,可以使用pip安裝;
相關(guān)代碼如下圖所示,用于讀取sqlserver數(shù)據(jù)庫的內(nèi)容。
step2:python將讀取的數(shù)據(jù)存入mysql數(shù)據(jù)庫
python操作mysql數(shù)據(jù)庫需要第三方庫MySQLdb的支持,可以通過pip的方式安裝;
如下顯示了通過python執(zhí)行insert語句寫入mysql數(shù)據(jù)庫的操作。
step3:將上述代碼定期輪詢執(zhí)行
將上述代碼通過定時的方式執(zhí)行,加入是linux系統(tǒng),可以使用linux的定時執(zhí)行任務(wù)取執(zhí)行;
也可以采用python的定時任務(wù)去執(zhí)行,推薦使用第三方庫,apscheduler去完成這個工作。下圖顯示了該庫的簡單應(yīng)用,稍加改造就可以完成題主需求的定時任務(wù):
php的實現(xiàn)方法與python的實現(xiàn)方法類似,需要mysql數(shù)據(jù)庫和sqlserver數(shù)據(jù)庫的相關(guān)插件,也是如下所示的3個步驟,不同的是需要安裝一個簡單的web服務(wù),才能運(yùn)行php代碼,推薦使用apache。
step1:php讀取sqlserver的數(shù)據(jù)
step2:php將讀取的數(shù)據(jù)存入mysql數(shù)據(jù)庫
step3:將上述代碼定期輪詢執(zhí)行
對于從sqlserver中讀取數(shù)據(jù),導(dǎo)入mysql中,大家有什么看法呢,歡迎在評論區(qū),留言討論。
如需更多幫助,請私信關(guān)注。謝謝
謝邀~
我的理解題主是要把Mysql中的數(shù)據(jù),想辦法放到SqlServer中,如果是相同類型的兩個數(shù)據(jù)庫,會比較簡單一些,但是像這種不同類型的數(shù)據(jù)庫,是沒有辦法直接連接。
關(guān)于這種場景,我談一談我能想到的解決方案。
作為程序員,首先能想到的方法就是通過代碼來實現(xiàn),只要能通過代碼(Java、Python、PHP等等,什么熟悉用什么)連上兩種類型的數(shù)據(jù)庫,做一個定式服務(wù),把數(shù)據(jù)從Mysql數(shù)據(jù)庫中讀取出來,然后插入到SqlServer中即可。
如果數(shù)據(jù)不多,每次可以做全量的同步:也就是把目標(biāo)庫中的數(shù)據(jù)全部刪除之后,再把所有數(shù)據(jù)同步過去。
也可以做增量同步,一般是判斷數(shù)據(jù)中的時間戳,讀取增量數(shù)據(jù)進(jìn)行同步。
有專門的ETL工具,實現(xiàn)這種跨數(shù)據(jù)庫的數(shù)據(jù)抽取功能,建議數(shù)據(jù)量比較大的時候,可以考慮ETL工具??蛇x用的工具很多,比如:Informatica,Kettle,Talend,Navicat Premium等等。
我們項目現(xiàn)在使用的工具是Informatica(不過這個工具是收費(fèi)的,也比較重量級,我們公司是有購買的),我們項目組也專門招聘了兩個做Informatica的程序員,優(yōu)點(diǎn)就是抽取速度很快,非常得快,缺點(diǎn)也很明顯,一是重,二就是學(xué)習(xí)成本比較高。
如果是要用開源免費(fèi)的話,可以研究一下Kettle。
你可以使用微軟的ACCESS通過ODBC建立到兩個庫表的鏈表,在ACCESS中編輯SQL語句來互傳數(shù)據(jù)。我想這也是微軟搞ACCESS的初衷,ACCESS打通各種數(shù)據(jù)庫的路徑
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答