ORA-12505,TNS:監聽器當前不知道連接描述符中給出的SID我在Windows 7 64位操作系統中安裝了Oracle 11g Express Edition Release 2并試圖執行JDBC程序,然后出現以下錯誤:java.sql.SQLException: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:412)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:531)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:221)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:503)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at com.jlcindia.jdbc.JDBCUtil.geOracleConnection(JDBCUtil.java:28)
at Lab3O.main(Lab3O.java:15)Caused by: oracle.net.ns.NetException: Listener refused the connection with the following error:ORA-12505, TNS:listener does not currently know of SID given in connect descriptor
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:385)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301)
... 8 more
3 回答

心有法竹
TA貢獻1866條經驗 獲得超5個贊
我通過糾正我的jdbc字符串修復了這個問題。
例如,正確的jdbc字符串應該是......
jdbc:oracle:thin:@myserver:1521/XE
但是我使用的jdbs字符串是......
jdbc:oracle:thin:@myserver:1521:XE
(注意:之間1521
和XE
應該是/
)
這個錯誤的jdbc字符串也給我一個ORA-12505錯誤。

呼如林
TA貢獻1798條經驗 獲得超3個贊
我也得到了同樣的錯誤但是當他們嘗試了所有這三個失敗時。如果以上三個失敗。如果你發現服務(我的情況下是XE)丟失,請嘗試LSNRCTL狀態試試這個 現在你可以看到服務 即使看不到嘗試這個sqlplus /nolog
conn system ... password ...
connected.
alter system register;
exit
lsnrctl stat
...sqlplus /nolog
conn system
... password ... connected.
alter system set local_listener = '(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope = both;
... system altered ...
alter system register;
exit
lsnrctl stat
這應該可行......
- 3 回答
- 0 關注
- 5680 瀏覽
添加回答
舉報
0/150
提交
取消