java连不上oracle,plsql却可以 求助!!!!!!!!

来源:互联网  时间:2016/6/28 0:39:06

关于网友提出的“ java连不上oracle,plsql却可以 求助!!!!!!!!”问题疑问,本网通过在网上对“ java连不上oracle,plsql却可以 求助!!!!!!!!”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: java连不上oracle,plsql却可以 求助!!!!!!!!
描述:

JavaOraclePL/SQL

package db; import java.sql.Connection; public class Db { public Connection getConnection()
{ java.sql.Connection con=null; try { Class.forName("oracle.jdbc.driver.OracleDriver"); con=java.sql.DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:TPLOICEINSIDE","data_admin","data_admin"); }<> catch(java.lang.ClassNotFoundException cnfe) { cnfe.printStackTrace(); } catch(java.sql.SQLException sqle)
{ sqle.printStackTrace(); } return con; } public static void main(String[] args) { Db db=new Db(); System.out.println(db.getConnection());
} } 上面是JAVA代码  运行报错: 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: 127.0.0.1:1521:TPLOICEINSIDE at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112) at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:261) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:414) at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:165) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at db.Db.getConnection(Db.java:12) at db.Db.main(Db.java:26) null
用PLSQL 用用户data_admin却可以登进去
解决方案1:

创建连接时 con=Drivermanager.get(url,username,psw); 其中url的值也就是你代码中的那部分,url="jdbc:oracle:thin:@localhost:1521:orcl"; 上面代码中url最后面跟的orcl指的是你配置的oracle数据库的服务器名。 可以看下这个名字写的是否正确。

解决方案2:

引用 2 楼 fangmingshijie 的回复:
select INSTANCE_NAME from v$instance;看看输出是什么,就写什么。
+1 填写的应该是数据库实例名,而不是用户名.一般最初建立数据库是orcl(如果没改的话)。 解决方案3:

select INSTANCE_NAME from v$instance;看看输出是什么,就写什么。

解决方案4:

TPLOICEINSIDE不是sid_name,而是SERVICE_NAME

上一篇java连接新建oracle数据库
下一篇java redis操作
明星图片
相关文章
《 java连不上oracle,plsql却可以 求助!!!!!!!!》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)