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

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

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

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

5條回答

txgcwm

txgcwm

回答于2022-06-28 13:47

根據(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。

pyhon實現(xiàn)方法

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)方法

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)注。謝謝

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

hizengzeng

回答于2022-06-28 13:47

謝邀~

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

關(guān)于這種場景,我談一談我能想到的解決方案。


通過代碼實現(xià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工具

有專門的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。



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

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

dongxiawu

回答于2022-06-28 13:47

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

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

SimonMa

回答于2022-06-28 13:47

不能直接訪問,需要相關(guān)的組件進(jìn)行轉(zhuǎn)換

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

ispring

回答于2022-06-28 13:47

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

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

最新活動

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

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<