oracle通過DBLINK查詢mysql

背景:本系統(tǒng)(oracle)需要獲取外圍系統(tǒng)(mysql)數(shù)據(jù)厉颤,考慮到使用和維護方便绩鸣,不使用ws或者rest接口怀大,采用DBLINK方式,但是雙方數(shù)據(jù)庫不同呀闻,需要安裝一些組件來實現(xiàn)Oracle訪問Mysql數(shù)據(jù)庫化借。

1.版本:

系統(tǒng)1:RedHat6.6 + Oracle Database 11g

系統(tǒng)2:MYSQL 5.7.30-0ubuntu0.18.04.1

2..安裝unixODBC

yum -y install unixODBC

2.2 測試:odbcinst -j


3. 安裝mysqlOdbc

cd /opt/soft

wget https://downloads.mysql.com/archives/get/p/10/file/mysql-connector-odbc-8.0.21-1.el6.x86_64.rpm

rpm -ivh mysql-connector-odbc-8.0.21-1.el6.x86_64.rpm

4. 配置ODBC.ini

vim /etc/odbc.ini

配置MYSQL鏈接

Driver寫mysqlOdbc的地址,server,port,user,password分別寫MYsql鏈接的信息

4.2測試odbc鏈接mysql

isql dg4odb -v

測試mysql是否鏈接成功

5.配置ORacle通過DBlink訪問Mysql

su - oracle

vi .bash_profile

export ODBCINI=/etc/odbc.ini

source .bash_profile

cd $ORACLE_HOME/network/admin

vim listener.ora

添加如下信息:


SID_LIST_LISTENER=

(SID_LIST=

(SID_DESC=

(SID_NAME=dg4odbc)

(ORACLE_HOME=/home/DB/oracle/product/11.2.0.4) # 本機oracleHOME

(PROGRAM=dg4odbc)

)

)

vim tnsnames.ora

添加如下信息:


dg4odbc =

(DESCRIPTION=

(ADDRESS = (PROTOCOL =TCP)(HOST = 127.0.0.1)(PORT = 1521)) # 本機IP

(CONNECT_DATA =

(SID = dg4odbc)

)

(HS=OK)

)

5.2配置odbc監(jiān)聽

cd $ORACLE_HOME/hs/admin

vim initdg4odbc.ora

添加如下信息:


配置ODBC

HS_FDS_CONNECT_INFO=dg4odb

HS_FDS_TRACE_LEVEL = on

HS_FDS_SHAREABLE_NAME=/usr/lib64/libodbc.so

HS_FDS_SUPPORT_STATISTICS=FALSE

HS_LANGUAGE="simplified chinese_china.al32utf8" #提供具有非oracle數(shù)據(jù)源的字符集捡多、語言和區(qū)域信息的異構(gòu)服務(wù)

HS_NLS_NCHAR=UCS2 #NVARCHAR/NCHAR和圖形數(shù)據(jù)類型通常以Unicode格式存儲數(shù)據(jù)蓖康。unicode字符集因數(shù)據(jù)庫的不同而不同,設(shè)置此參數(shù)外部數(shù)據(jù)庫保持一致

set ODBCINI=/etc/odbc.ini

6.重啟測試監(jiān)聽配置

su - oracle

lsnrctl stop

lsnrctl start

lsnrctl status;

tnsping dg4odbc

7.創(chuàng)建DBLINK

su - oracle

sqlplus / as sysdba

alter system register;(數(shù)據(jù)庫中執(zhí)行)

drop public database link testMysql;

create public database link testMysql connect to "USER" identified by "PASSWORD" using 'dg4odbc';

select count(1) from "mysql_test_view"@testMysql ;

PS執(zhí)行后踩了一些坑:

??? 1.因為mysql大小寫敏感铐炫,視圖名需要帶引號

??? 2.mysql的視圖中同時出現(xiàn)varchar2和text會出錯,需要轉(zhuǎn)換text為其他類型钓瞭,或者把varchar2換成varchar

??? 3.mysql的日期類型到oracle會出錯驳遵,需要轉(zhuǎn)換成字符串

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市山涡,隨后出現(xiàn)的幾起案子堤结,更是在濱河造成了極大的恐慌,老刑警劉巖鸭丛,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件竞穷,死亡現(xiàn)場離奇詭異,居然都是意外死亡鳞溉,警方通過查閱死者的電腦和手機瘾带,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來熟菲,“玉大人看政,你說我怎么就攤上這事〕保” “怎么了允蚣?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呆贿。 經(jīng)常有香客問我嚷兔,道長,這世上最難降的妖魔是什么做入? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任冒晰,我火速辦了婚禮,結(jié)果婚禮上竟块,老公的妹妹穿的比我還像新娘壶运。我一直安慰自己,他們只是感情好浪秘,可當我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布前弯。 她就那樣靜靜地躺著,像睡著了一般秫逝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上询枚,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天违帆,我揣著相機與錄音,去河邊找鬼金蜀。 笑死刷后,一個胖子當著我的面吹牛的畴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尝胆,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼丧裁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了含衔?” 一聲冷哼從身側(cè)響起煎娇,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎贪染,沒想到半個月后缓呛,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡杭隙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年哟绊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片痰憎。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡票髓,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出铣耘,到底是詐尸還是另有隱情洽沟,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布涡拘,位于F島的核電站玲躯,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏鳄乏。R本人自食惡果不足惜跷车,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望橱野。 院中可真熱鬧朽缴,春花似錦、人聲如沸水援。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜗元。三九已至或渤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間奕扣,已是汗流浹背薪鹦。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人池磁。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓奔害,卻偏偏與公主長得像,于是被迫代替她去往敵國和親地熄。 傳聞我的和親對象是個殘疾皇子华临,可洞房花燭夜當晚...
    茶點故事閱讀 44,901評論 2 355

推薦閱讀更多精彩內(nèi)容