2013-04-26 55 views
3

我知道這很可能是不可能的。但我仍然會在這裏詳細描述我的問題,如果有人有我需要的東西,那會很棒。可以在多個數據庫中共享表格

我有一個文件驗證系統託管在Windows服務器上。該系統包含一個元數據表,前端文件驗證應用程序使用該表來驗證各種類型的數據。現在它迎合與元數據表託管在同一數據庫上的單個應用程序。

問題是我想要這個系統是可擴展的,以便它可以驗證各種應用程序的文件,其中一些應用程序存在於不同的數據庫中。由於我的元數據表中的某些檢查基於Pl/SQL,因此我無法運行這些檢查,除非文件驗證系統和應用程序數據庫的數據庫都相同。是否有一種方法可以同時在多個數據庫中共享表?如果不是,可能的解決方法是什麼?

+0

我能想到的兩種可能性:外部表格和數據庫鏈接。 – 2013-04-26 17:58:55

+1

通常,[數據庫鏈接](http://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_concepts002.htm)可能值得研究。或者,如果您想要走出甲骨文,您可以將檢查作爲Web服務公開。很容易輸入這些建議,但實施這兩項工作只是一項工作:) – 2013-04-26 17:59:11

回答

2

如果要訪問多個數據庫幾個表,如果它是一個表,那麼你必須使用它使用數據庫鏈接的視圖。您應該首先了解數據庫鏈接,然後創建視圖不應該成爲問題。

數據庫鏈接允許您像訪問同一數據庫中的表一樣訪問另一個數據庫表。你所做的就是一旦創建了數據庫鏈接,就將@mydblink添加到表名中。示例

CREATE DATABASE LINK mydblink 
CONNECT TO user IDENTIFIED BY password 
USING 'name_of_other_db' 

SELECT * FROM [email protected] 

它運行良好,甚至在遠程數據庫和本地數據庫中還有兩階段提交更新。根據你的設置,還有更多的知道它,但你可以在oracle文檔中閱讀所有關於它的知識。我曾在一個更大的項目中廣泛使用數據庫鏈接,這是您想要做的正確方法。

http://docs.oracle.com/cd/E11882_01/server.112/e25494/ds_concepts002.htm#ADMIN12083

http://docs.oracle.com/cd/E11882_01/server.112/e26088/statements_5005.htm

這裏是我發現後,一些谷歌上搜索,告訴如何建立,在數個數據庫訪問數據,也是一個視圖提供了有關業績預期的一些信息的鏈接

http://www.dba-oracle.com/t_sql_dblink_performance.htm

相關問題