日期:2014-05-19  浏览次数:20630 次

JDBC连接Oracle的问题
小弟是Java的初学者, 也是第一次在这里发帖子。
不对的地方,请前辈们多多包含!!


这代码应该是没有问题?!

import java.sql.*;

public class Test {

public static void main(String[] args) throws Exception{

Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
"jdbc:oracle:thin:@111.111.11.1:1521:SXT", "scott", "tiger");
}

}

我按照Google查到方法
查了Oracle 的一些配置



也改了listener.ora 文件




Oracle也没什么问题,可就是连不上。。。。。
请前辈们帮帮忙呀。。。



Exception in thread "main" 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
The Connection descriptor used by the client was:
111.111.11.1:1521:SXT

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:111)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:260)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:386)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:413)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:164)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:34)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:752)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at Test.main(Test.java:8)

java jdbc oracle

------解决方案--------------------
貌似你的数据库叫ORCL 吧,你那SXT 是什么?有叫SXT的数据库实例吗? 还有scott/tiger这个账户一开始是锁着的,你得先解锁
------解决方案--------------------
你的实例是什么?检查一下SID
------解决方案--------------------
先使用客户端工具,PL/SQL Developer 连接一下试试.如果连不上看看是不是监听服务没有启动.然后这句
"jdbc:oracle:thin:@111.111.11.1:1521:orcl", "scott", "tiger"); 另外你的ip:111.111.11.1让人很。。。。
------解决方案--------------------
在1521前后host字段的值改成你电脑的pc名称
------解决方案--------------------
初学者IP地址一般是127.0.0.1  这个不是乱填的。 使用本机也可以是localhost  另外,不知道你的数据库实例是你自己建的SXT  ,如果是你建的就把IP地址改下。如果是本机连接的话,