1.查看服務器的監(jiān)聽狀態(tài)是否打開
在CMD下運行如下命令就可以:
lsnrctl status
正在連接到(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無監(jiān)聽器
TNS-12560: TNS: 協(xié)議適配器錯誤
TNS-00511: 無監(jiān)聽器
32-bit Windows Error: 61: Unknown error
打開監(jiān)聽器:
C:UsersAdministrator>LSNRCTL START
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on05-11月-2012 15:5
0:53
Copyright (c) 1991, 2005, Oracle. All rightsreserved.
TNS-01106: 使用名稱LISTENER的監(jiān)聽程序已經(jīng)啟動
2.嘗試登錄本地數(shù)據(jù)庫看是否成功
C:UsersAdministrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 5 15:53:362012
Copyright (c) 1982, 2005, Oracle. All rightsreserved.
SQL>
如上所示表示正確連接,且tnsnames.ora文件沒有問題,如果連接失敗請檢查服務是否開啟,并且檢查tnsnames.ora文件內容是否有誤,如下:
orcl =
(DESCRIPTION =
(ADDRESS_LIST=
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)在orcl前面是不允許出現(xiàn)空格的,并且最好將自己添加的內容放置在原有內容之后。
個人認為上面兩項足可以解決該問題了,至于網(wǎng)上其他網(wǎng)友的論述不予評論,本人在檢查完上述所有信息后就可以登錄了。
這里順便貼出網(wǎng)友給出的另外的解決方案以便大家參考:
3.如果確保你的tnsnames.ora內容沒有錯誤,那請將%ORACLE_HOME%product10.2.0db_1NETWORKADMIN目錄下的所有文件刪了,然后重新連接,一般就能解決了。說明一下:那個目錄里的文件是在你建立連接的時候動態(tài)生成的,不要怕刪了會有問題
4.進入PLSQLDeveloper的主界面,在登錄界面選擇 取消即不登錄進入主界面,然后選擇菜單Tools(工具)-Preferences(首選項),在設置窗口中,選擇Oracle-Connection(連接),對應設置窗口中,找到OracleHome(Oracle主目錄),選擇你本地所安裝客戶端的版本,保存設置,然后重新啟動PLSQLDeveloper,這時就可以正常登錄了。
最近買了新電腦,裝了64位新系統(tǒng),突然間又遇到了上面的問題,奇怪了就上面的所有的我都已經(jīng)驗證,到底為什么還是報這個錯呢,搞了半天是因為plsql裝的位置不對,原來64位win7會把32位應用程序安裝到ProgramFiles (x86)目錄下,安裝的時候我覺得吧這也沒什么,結果偏偏是它出問題了,奶奶的,重新裝了并且換到C:ProgramFiles目錄下,結果鏈接正常了,太讓人糾結了,還有,為了避免這種問題再度出現(xiàn),建議oracle客戶端也要注意安裝路徑
祝大家看到我的文章可以解決這個破問題
愛華網(wǎng)



