![](/img/trans.png)
[英]ORA-12505, TNS:listener does not currently know of SID given in connect descriptor?
[英]ORA-12505, TNS:listener does not currently know of SID
我是java oracle數據庫編碼的新手,運行以下代碼(eclipse kepler)時遇到此錯誤:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class main {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.OracleDriver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
Connection connection = null;
try {
connection = DriverManager.getConnection(
"jdbc:oracle:thin:@10.0.32.166:1521:orcl", "username", "password");
} catch (SQLException e) {
e.printStackTrace();
return;
}
}
}
錯誤適用於ojdbc14.jar:
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.DatabaseError.throwSqlException(DatabaseError.java:113)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:263)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:389)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:454)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:802)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at oracle.main.main(main.java:18)
當我嘗試更改ojdbc6.jar時,出現了另一個錯誤:
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.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
at oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:199)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:480)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:413)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:203)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:33)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:510)
at java.sql.DriverManager.getConnection(DriverManager.java:571)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at oracle.main.main(main.java:18)
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:361)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:966)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:292)
... 7 more
我在2 jar上進行實驗的原因是我不確定與jdk 1.6兼容,因為這是我一旦完成將部署(linux env)可執行jar的原因。 需要幫助來確定這些錯誤是什么以及如何糾正這些錯誤? 謝謝
您在數據庫服務器10.0.32.166上沒有在端口1521上運行oracle偵聽器的數據庫“ orcl”。
從服務器10.0.32.166上的控制台執行lsnrctl status
,並查看是否有像Service "ORCL" has X instance(s).
這樣的行Service "ORCL" has X instance(s).
如果沒有,請確保數據庫已啟動並且您具有正確的SID,並且它正在使用端口1521上的偵聽器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.