oracle資料庫怎樣跨庫查詢,Oracle資料庫怎樣跨庫查詢?

2021-12-25 10:58:06 字數 4026 閱讀 9323

1樓:

在oracle裡a庫裡建立一個同義詞可把b庫的x 表對映到a庫。這樣a庫就當本庫的表(虛擬式)使用。

oracle的同義詞(synonyms)從字面上理解就是別名的意思,和試圖的功能類似,就是一種對映關係。本文介紹如何建立同義詞語句,刪除同義詞以及檢視同義詞語句。

oracle的同義詞總結:

從字面上理解就是別名的意思,和試圖的功能類似。就是一種對映關係。

1.建立同義詞語句:

create public synonym table_name for user.table_name;

其中第一個user_table和第二個user_table可以不一樣。

此外如果要建立一個遠端的資料庫上的某張表的同義詞,需要先建立一個database link(資料庫連線)來擴充套件訪問,然後在使用如下語句建立資料庫同義詞:create synonym table_name for table_name@db_link;

當然,你可能需要在user使用者中給當前使用者(user2)授權: grant select/delete/update on user2

2樓:匿名使用者

dblink

查詢另一個庫的表b時後面加@dblink名字

3樓:匿名使用者

如果aaa是dba,那麼是可以的,在sql中直接寫select c from bbb.b ………………

4樓:匿名使用者

建一個dblink

格式如下:

(description = (address_list = (address = (protocol = tcp)(host = 10.1.74.

111)(port = 1521)) ) (connect_data = (service_name = ccdb)) )

sql怎樣跨資料庫查詢oracle

5樓:素噶人所謂兒童

使用dblink。

例如:當前使用的資料庫是orcl1

要查詢的資料庫是orcl2的scott使用者的表。

create public database link  orcl2_scott connect to scott identified by tiger using '(description =(address_list =(address =(protocol = tcp)(host = 192.168.21.

2)(port = 1521)))(connect_data =(sid = orcl2)))'; 其中orcl2_scott是你建立的dblink名字,orcl2是遠端資料庫的例項名,scott/tiger是登入到遠端資料庫的使用者/密碼。然後在本地資料庫中通過dblink訪問遠端資料庫'orcl2'中scott.emp表,sql語句如下所示  select * from scott.

emp@orcl2_scott;

6樓:匿名使用者

假定您現在擁有一個以microsoft.net為架構的網路訂購系統,但是品管維護系統卻仍然使用一套舊式的oracle資料庫應用程式。當您的顧客在產品保固期間下了產品更換之類的訂單,則該筆訂單將不收取任何費用。

此時您需要從oracle資料庫得到實時的查詢結果。藉著建立連結伺服器的方式(linkedserver),您將可以從sqlserver實時查詢出位於oracle資料庫的顧客資料,找出誰是您既有的客戶。

當您的資料分散在不同的sqlserver資料庫時,藉由連結伺服器可讓您執行跨伺服器之分散式查詢。當所有的資料庫伺服器都是sqlserver,則連結伺服器的設定十分容易,而且在sqlserver線上手冊中就涵蓋了您所需要了解的所有事項。然而,當部分資料是放在oracle資料庫伺服器的時候,這就可能帶給您許多挑戰。

舉例來說,光是設定連結伺服器就不是一件容易的事。您必須瞭解到:即是您要在sqlserver的enterprisemanager設定一個oracle連結伺服器,這臺sqlserver對oracle來說就是一個客戶端。

所以您必須在sqlserver所在的伺服器成功地安裝並組態oracle之客戶端軟體。因為oracle提供的產品只支援oracle8以後的資料庫,所以我假設您正在使用的都是oracle8以後的資料庫。在oraclenet8函式庫則提供了sqlserver所需要的客戶端軟體。

設定連線伺服器時是利用microsoft所提供的oledb providerfororacle,使用的oracle網路函式庫為sql*net2.3.3.

0.4或是以後的版本,不過這是oracle7.3資料庫所提供的。

換句話說,要設定oracle資料庫為sqlserver的連線伺服器時,oracle資料庫只要是7.3.3.

4以後的版本,並搭配適當的sql*net或是net8函式庫即可。

在oracle資料庫中,一個schema即代表著sqlserver專家們所熟知的單一資料庫(譯者注2)。連線至oracle資料庫時,您必須提供schema名稱、密碼以及主機聯機字串(hoststring)。每一個特定的oracle帳戶都擁有一個oracleschema,而且只能有一個schema。

所以schema名稱其實就等於該schema擁有者的帳戶名稱。您可以查詢oracle的資料字典(datadictionary)以得到更多有關schema的內容。

至於oracle聯機字串又可稱為服務名稱(servicename)或是系統識別資料(systenidentifier,sid)。我們所謂的sqlserver資料庫個體(instance)在oracle則稱為資料庫(database)。所以安裝oracleserver時,安裝程式oracleuniversalinstaller(為一個圖形介面之安裝程式,與sqlserver的setup程式類似)將會詢問您sid名稱為何,以作為oracle資料庫之名稱。

這個部分原作者所提到schema的解釋有點問題。oracleschema可視為同一個使用者所擁有的所有資料庫物件(schemaobjects)之集合。舉例來說,使用者scott所建立的emptable其完整名稱為scott.

emp,而scott就是emp的schema名稱。所以schemaname其實就是一個oracle資料庫之使用者帳號。但是絕對不能拿來跟資料庫相提並論!

因為sqlserver的資料庫架構包含了datafiles與logfiles,但是oracle的schemaobjects只存在於tablespace中。為了避免部分讀者產生混淆,特此說明。

7樓:匿名使用者

配置本地資料庫伺服器的tnsnames.ora檔案

$vi $oracle_home/network/admin/tnsnames.ora

新增如下行,其中dblink為連線名(可自定義),host和port為資料庫偵聽的ip及埠,service_name為資料庫的sid,

mediadblink =

(description =

(address_list =

(address = (protocol = tcp)(host = 10.0.0.1)(port = 1521))

) (connect_data =

(service_name = db)

) )2.登入到本地資料庫,建立database link

執行如下查詢語句,其中mediadb為database link名(可自定義),mediadblink為先前在tnsnames.ora中定義的連線名,

dbuser為使用者名稱,password為密碼

-- create database link

create database link mediadb

connect to dbuser identified by password

using 'mediadblink';

注意:這裡不會驗證使用者名稱密碼的正確性

3.使用連結的資料庫

3.1 查詢、刪除和插入資料和操作本地的資料庫是一樣的,只不過表名需要寫成「表名@database link名」,如

select * from table_name@mediadb ;

8樓:匿名使用者

建立資料庫連結就可以了

sql資料庫和oracle資料庫string型別欄位用orderby排序分別是根據什麼排序的啊

首先說明下oracle中沒有string型別,而是varchar型別。order by 的順序是assic 讀作 阿斯科馬 碼錶中 字元 列進行排序的。解釋 一般會根據字串的首字母 大些字母 小寫字母 特殊字元 數字。如果首位相同繼續排列第二位,直到不同的位。sql資料和oracle資料庫都沒有st...

oracle資料庫和資料庫的關係是什麼?下面是問題

oracle資料庫,分為兩個部分 1 軟體部分。這部分你說的沒錯,確實是一個應用軟體。就好象你的word一樣,word本身是一個應用程式。2 資料庫部分,資料庫是用軟體建立的,按照一定規則儲存和處理資料的載體。再舉例就好象你的word文擋。你的word文擋是利用word建立的。這裡的資料庫確實是利用...

oracle資料庫檔案備份匯入,從資料庫的使用者下匯出所有的表和約束,索引等等,然後匯入空資料庫

電腦開始 執行 輸入 cmd 回車,然後直接寫入以下命令匯出的命令 exp 使用者名稱 密碼 資料庫名 file d database.dmp log data.log file後是寫得你匯出的檔案存放的路徑,database.dmp是你匯出的檔案,log是你匯出日誌,便於查詢錯誤,不要也可以。例如...