oracle在進(jìn)行跨庫訪問時(shí),可以通過創(chuàng)建dblink實(shí)現(xiàn),今天就簡單的介紹下如果創(chuàng)建dblink,以及通過dblink完成插入、修改、刪除等操作 首先了解下環(huán)境:在tnsnames.ora中配置兩個(gè)數(shù)據(jù)庫別名:orcl(用戶名:wangyong 密碼:1988)、orcl2(用戶名:wangyong 密碼:123456),在orcl中 創(chuàng)建database link來訪問orcl2 第一步:賦予權(quán)限 在創(chuàng)建database link之前,我們需要判斷,登陸的用戶是否具備創(chuàng)建database link 的權(quán)限,所以我們執(zhí)行以下的語句(用wangyong用戶登陸orcl): -- 查看wangyong用戶是否具備創(chuàng)建database link 權(quán)限select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='WANGYONG'; 如果查詢有返回行,則表示具備創(chuàng)建database link權(quán)限,否則,則需要使用sys登陸orcl為WANGYONG用戶賦予創(chuàng)建權(quán)限 -- 給wangyong用戶授予創(chuàng)建dblink的權(quán)限grant create public database link to wangyong; 此時(shí),再執(zhí)行上面查看是否具備權(quán)限的sql語句,會(huì)發(fā)現(xiàn)有返回行,表示,WANGYONG這個(gè)用戶已經(jīng)具備創(chuàng)建database link的權(quán)限 第二步;創(chuàng)建database link 我所了解到的創(chuàng)建方式有兩種:1)通過pl/sql developer圖形化創(chuàng)建、2)通過sqlplus中的sql語句創(chuàng)建,依次來看 1)pl/sql developer 圖形化創(chuàng)建 填寫完成后點(diǎn)擊“Apply”按鈕即可創(chuàng)建成功。 2)sql語句創(chuàng)建 -- 注意一點(diǎn),如果密碼是數(shù)字開頭,用“”括起來create public database link TESTLINK2 connect to WANGYONG identified by "123456" USING 'ORCL21' 這樣,就完成了簡單database簡單的創(chuàng)建 第三步:操作 首先,我們需要在ORCL2庫中新建一張表,并插入部分?jǐn)?shù)據(jù),如下圖: 現(xiàn)在,我們通過database link 在orcl中訪問這張屬于orcl2庫中WANGYONG的表COMPANY 從截圖中可以看到,在ORCL中可以成功訪問到ORCL2中用戶WANGYONG的表 下面,利用同樣的方式,進(jìn)行插入,修改,刪除操作,依次看截圖,每一次操作后均執(zhí)行查詢語句,可對(duì)比執(zhí)行效果: 1)插入 2)修改 3)刪除 至此,簡單的dblink操作就可以了,對(duì)于上面的鏈接字符串,還可以創(chuàng)建同義詞代替,會(huì)稍微省點(diǎn)事 -- 創(chuàng)建同義詞 那么上面的查詢、插入、修改、刪除中可直接用WYSYNONYM代替company@TESTLINK1即可,例如查詢語句可改成如下方式(插入,修改,刪除類似): -- 查詢ORCL2中WANGYONG用戶的表COMPANYSELECT * FROM TESTSYNONYM order by id 今天是大年初一,寫完睡覺??! |
|