程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> IT忍者神龜之oracle中一個用戶怎麼可以不使用用戶名訪問其他用戶的表

IT忍者神龜之oracle中一個用戶怎麼可以不使用用戶名訪問其他用戶的表

編輯:Oracle教程

IT忍者神龜之oracle中一個用戶怎麼可以不使用用戶名訪問其他用戶的表


故事背景是這樣的:一個項目大概涉及到4個工程同時開發,在我自己的工程中需要做一個報表,但是要訪問另一個工程所連接的DB,當然兩個工程的DB Server是在同一個IP上,也就是說我們之間只是schema不一樣,那我怎樣完成下面的報表的開發呢?

一開始我直接創建了一個DBLink,但是回頭和同時溝通,他認為DBLink的影響過大,當兩個數據庫不在同一個服務器上的時候才會用到這個,當前的情況最好用schema,但是此處還是把創建DBLink的方法寫出來方便記憶:

create database link link名稱 connect to 對方數據庫用戶名 identifiedby 對方數據庫用戶密碼using '對方數據庫ip:端口/實例名';

Eg:create database linkdbLinkToAA connect to Jason identified by abc123 using 'serviceA',創建一個連接就行了

接下來就是用schema了,下面的語句就是用schema做關聯

Eg:grant select on Jason.emp to Lucy; 授權查詢

關於schema我個人的理解是:A要見B,當A和B在河岸的同一側(同一個Server),B只要允許A見他就可以了,當A和B不在河岸的同一側(不同Server),那A要搭一座橋,並且還得獲得B的同意,也就是知道B的用戶名和密碼。

以上是個人理解,如果那裡不合適,還請各位指正,共同學習。

別忘了被訪問的用戶中的表被授權其他用戶可以訪問。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved