{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

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

qylostqylost 回答0 收藏1
問題描述:mysql數據庫中的一張表,打算每天訪問sqlserver數據庫的視圖來更新數據。
收藏問題

5條回答

txgcwm

txgcwm

回答于2022-06-28 13:47

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

雖然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中,大家有什么看法呢,歡迎在評論區,留言討論。

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

評論0 贊同0
  •  加載中...
hizengzeng

hizengzeng

回答于2022-06-28 13:47

謝邀~

我的理解題主是要把Mysql中的數據,想辦法放到SqlServer中,如果是相同類型的兩個數據庫,會比較簡單一些,但是像這種不同類型的數據庫,是沒有辦法直接連接。

關于這種場景,我談一談我能想到的解決方案。


通過代碼實現

作為程序員,首先能想到的方法就是通過代碼來實現,只要能通過代碼(Java、Python、PHP等等,什么熟悉用什么)連上兩種類型的數據庫,做一個定式服務,把數據從Mysql數據庫中讀取出來,然后插入到SqlServer中即可。

如果數據不多,每次可以做全量的同步:也就是把目標庫中的數據全部刪除之后,再把所有數據同步過去。

也可以做增量同步,一般是判斷數據中的時間戳,讀取增量數據進行同步。


ETL工具

有專門的ETL工具,實現這種跨數據庫的數據抽取功能,建議數據量比較大的時候,可以考慮ETL工具。可選用的工具很多,比如:Informatica,Kettle,Talend,Navicat Premium等等。

我們項目現在使用的工具是Informatica(不過這個工具是收費的,也比較重量級,我們公司是有購買的),我們項目組也專門招聘了兩個做Informatica的程序員,優點就是抽取速度很快,非常得快,缺點也很明顯,一是重,二就是學習成本比較高。

如果是要用開源免費的話,可以研究一下Kettle。



希望我的回答,能夠幫助到你!我將持續分享Java開發、架構設計、職業發展等方面的見解,希望能得到你的關注;另外,關注我后私信【資料】兩個字,可獲取架構、大數據、面試等相關資料。

評論0 贊同0
  •  加載中...
dongxiawu

dongxiawu

回答于2022-06-28 13:47

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

評論0 贊同0
  •  加載中...
SimonMa

SimonMa

回答于2022-06-28 13:47

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

評論0 贊同0
  •  加載中...
ispring

ispring

回答于2022-06-28 13:47

你可以使用微軟的ACCESS通過ODBC建立到兩個庫表的鏈表,在ACCESS中編輯SQL語句來互傳數據。我想這也是微軟搞ACCESS的初衷,ACCESS打通各種數據庫的路徑

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<