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