mysql數據庫可以連接sqlserver數據庫嗎,想要定時獲取數據該怎麼辦?

不喜歡


根據我所知道的回答一下這個問題。

雖然mysql和sqlerver均屬於關係型數據庫,可以執行SQL查詢語句,但是mysql數據庫並不能直接連接而sqlserver數據庫,反之亦然。需要通過“中間人”完成這件事。

如果需要定期的從sqlserver數據庫中取出數據放到mysql中,建議使用編程語言實現。該編程語言必須同時有mysql接口和sqlserver接口。由於題主的需求不是很複雜,只是定期的從sqlserver數據中提取數據到mysql數據庫,建議考慮使用腳本語言:pyton或者php。

pyhon實現方法

step1:python讀取sqlserver的數據

  • python讀取sqlserver數據的數據表的內容需要用到pymssql這個第三方庫,可以使用pip安裝;

  • 相關代碼如下圖所示,用於讀取sqlserver數據庫的內容。

step2:python將讀取的數據存入mysql數據庫

  • python操作mysql數據庫需要第三方庫MySQLdb的支持,可以通過pip的方式安裝;

  • 如下顯示了通過python執行insert語句寫入mysql數據庫的操作。

step3:將上述代碼定期輪詢執行

  • 將上述代碼通過定時的方式執行,加入是linux系統,可以使用linux的定時執行任務取執行;

  • 也可以採用python的定時任務去執行,推薦使用第三方庫,apscheduler去完成這個工作。下圖顯示了該庫的簡單應用,稍加改造就可以完成題主需求的定時任務:

php實現方法

php的實現方法與python的實現方法類似,需要mysql數據庫和sqlserver數據庫的相關插件,也是如下所示的3個步驟,不同的是需要安裝一個簡單的web服務,才能運行php代碼,推薦使用apache。

  • step1:php讀取sqlserver的數據

  • step2:php將讀取的數據存入mysql數據庫

  • step3:將上述代碼定期輪詢執行


對於從sqlserver中讀取數據,導入mysql中,大家有什麼看法呢,歡迎在評論區,留言討論。

如需更多幫助,請私信關注。謝謝


網絡通信兵


使用ETL工具,譬如:kettle, informatica, navicat premium 等等


yaoqi19870831


不能直接訪問,需要相關的組件進行轉換


分享到:


相關文章: