今天在開發一個關於**的一個項目時候,本人在使用PLSQL串連Oracle的時候一切正常,但是在Myeclipse的DB試圖中我一直在使用的URL是如下代碼:
- jdbc:oracle:thin:@127.0.0.1:1521:jdbh
就始終出現如下錯誤資訊:
- java.sql.SQLException:Listener refused the connection with the following error:
-
- <span style="color:#ff0000;">ORA-12505,TNS:listener does not currently know of SID given in connect descriptor
-
- TheConnection descriptor used by the client was:
-
- localhost:1521:jdbh
- </span>
- atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)
-
- atoracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)
-
- atoracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)
-
- atoracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)
-
- atoracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)
-
- at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)
-
- atoracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)
-
- atjava.sql.DriverManager.getConnection(Unknown Source)
-
- atjava.sql.DriverManager.getConnection(Unknown Source)
-
- at cn.com.db.DBAccess.getConnection(DBAccess.java:33)
-
- at cn.com.db.DBAccess.main(DBAccess.java:95)
在網上也看了一些資料也都沒有說到具體解決的辦法,現將個人的總結如下:
解決方案:
首先開啟你的D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN路徑下的:tnsnames.ora檔案看以下代碼,本人的代碼如下:
- # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
- # Generated by Oracle configuration tools.
-
- ORCL =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP)(HOST = RedArmychen-PC)(PORT = 1521))
- (CONNECT_DATA =
- (SERVER = DEDICATED)
- <span style="color:#ff0000;">(SERVICE_NAME = orcl)
- </span> )
- )
-
- EXTPROC_CONNECTION_DATA =
- (DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
- )
- (CONNECT_DATA =
- (SID = PLSExtProc)
- (PRESENTATION = RO)
- )
- )
大家看到我標準的紅色字型了嗎?(SERVICE_NAME = orcl)那麼你只需要 修改串連的URL地址為 :
- jdbc:oracle:thin:@127.0.0.1:1521:orcl
即可解決問題 ,這隻限於個人 遇到錯誤的解決方案 !如果還有異常請耐心解決吧 。