2008-10-27 137 views
4

我一直想知道這一段時間,但由於它沒有出現太多我已經把它留在'神祕魔法'列中。究竟是什麼處理oracle連接標識符分隔期

在我看來,像ABC和ABC.DEFG這樣的連接標識符之間存在某種關係,我不太清楚它是什麼。

例如,一臺機器,我設置了剛纔我是有使用identfier問題ED2即使在我的TNSNAMES文件,我顯然有

EDC2 = (....) 

這被複制並從工作的另一臺計算機粘貼正好。但是,執行EDC2之前將不會解決,直到我將其更改爲說

EDC2.WORLD = (...) 

在哪一點解析到EDC2開始工作。這裏發生了什麼?

回答

7

TNS的別名在tnsnames.ora文件與sqlnet.ora文件參數

NAMES.DEFAULT_DOMAIN 

交互。例如,如果NAMES.DEFAULT_DOMAIN設置爲WORLD,那麼當您嘗試連接到沒有域的別名時,sqlnet.ora文件告訴Oracle在tnsnames.ora文件中執行查找之前自動追加域。如果您嘗試連接到域的別名,則會忽略NAMES.DEFAULT_DOMAIN

我的一般偏好/建議是在sqlnet.ora中將NAMES.DEFAULT_DOMAIN設置爲WORLD,並在tnsnames.ora文件中指定EDC2.WORLD。這樣,連接標識符EDC2和EDC2.WORLD都可以工作 - 由於DEFAULT_DOMAIN參數,前者變爲後者。