在安裝oracle的時候PL/SQL報錯:“ORA-12154: TNS:無法解析指定的連接標識符”,在網上找了很多資料,然后問題解決。其中下面的文章分析的過程很值得學習,特地轉載過來時刻告誡自己全局觀的重要性!!!
下面是引用正文
接着上次的話題,在64位win7上裝了32位oracle10g 以后又出現了新的問題:
在使用oracle自帶的sqlplus連接本機或者遠程的oracle實例均能成功過,但使用 PL/SQL Developer (我裝的是7.1版本) 連接任何一個實例在登錄時均報“ORA-12154: TNS:無法解析指定的連接標識符”錯誤。
冷靜,先分析原因,既然sqlplus已經能夠連接,說明oracle的安裝(至少客戶端的安裝)是正常的,TNS的配置是正確的。問題應該出在PL/SQL Developer 自身。考慮到本次安裝oracle的過程中有諾干次安裝失敗且變換過oracle home,是否是注冊表中的信息有寫垃圾未清理?!進入 PL/SQL Developer 的 preferences中發現可以設定oracle home。該選項為空是自動選擇,也可以手工填入路徑。但是設置后沒有效果。之后又檢查了注冊表、oracle設置均無異常。
無奈之下選擇了重裝PL/SQL Developer 。運行安裝程序以后彈出一個警告框,這次仔細的看了一下,大概意思是安裝目錄中含有特殊字符可能導致oracle無法連接。該提示窗口按“確認”按鈕后依然會繼續安裝。恍然大悟啊,64位win7會把32位應用程序默認的安裝到Program Files (x86)目錄下,那兩個括號可能讓oracle郁悶了。改變安裝路徑為一個比較“大眾化”的路徑,再次進行數據庫連接,一切問題都解決了。
經驗總結:哥么以后打死也不往默認的32位 program files目錄下裝東西了。
以上內容來自CSDN博客,轉載請標明出處:http://blog.csdn.net/chewinggum/archive/2010/07/18/5744465.aspx
思想上移
上網查了好久才找到這個答案,起初一直是認為oracle安裝的問題,和文章的作者一樣,開始的時候也是找了很多資料,上網百度了好一陣子。真要從細節方面說的話出現這個問題的原因還是不理解win7的那個programs files(X86)文件夾存在的意義。網上能找到的就只有關於syswow64的介紹,具體的文件夾的作用,以及不安裝到相應的文件夾下會出現什么別的問題還有待考察。如果說是為了區分32為和64位程序的話那么如果32位程序不小心安裝到別的目錄下那么就不應該可以用啊,但是事實證明還是可以正常使用,所以大膽猜測,這個文件夾僅僅用於區分,在程序運行的時候操作系統會自己判斷。
文章的作者還是很有水平的,遇到了問題沒有一頭扎進去而是仔細的分析,將大局把握住了。弄清楚自己所處的環境(64位win7)然后逐步向細節分析(oracle安裝,PL/SQL安裝,以及他們的安裝路徑等等細節),最終問題解決。宏觀的把握住了,細節方面的都不是大問題,只需要稍微調整就可以。以后遇到問題也應該這樣分析,把自己的所處的大環境搞清楚,然后再去分析問題。
謹記!謹記!!