Java 将jdbc连接到oracle数据库时出错

Java 将jdbc连接到oracle数据库时出错,java,oracle,jdbc,oracle11g,Java,Oracle,Jdbc,Oracle11g,我在过去3天将jdbc程序连接到oracle时出错。我尝试使用从google获得的在线解决方案解决此问题,但它无法解决我的问题。这是我的sqlplus连接代码 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main{ public static void main(String args[]){ try{

我在过去3天将jdbc程序连接到oracle时出错。我尝试使用从google获得的在线解决方案解决此问题,但它无法解决我的问题。这是我的sqlplus连接代码

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.driver.OracleDriver");
        Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:ex","system","12345");
        System.out.println(con.toString());
    }catch(Exception e){
        if(e instanceof SQLException){
            e.printStackTrace();
        }
           System.out.println(e.toString());
   }
  }
}
使用命令提示符编译from时出错,我的listener.ora文件如下所示

我的oracle版本是11.2.0.2.0版

我的jdbc驱动程序版本是ojdbc6-11.2.0.2.0

这是我用命令提示符编译程序时的listener.log文件

2016年1月27日星期三08:40:20
2016年1月27日08:40:20*(CONNECT_DATA=(SID=ex)(CID=(PROGRAM=JDBC瘦客户端)(HOST=(JDBC_u)(USER=Jagdish))*(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=52366))*建立*ex*12505
TNS-12505:TNS:listener当前不知道连接描述符中给定的SID
2016年1月27日星期三08:40:32
2016年1月27日08:40:32*服务更新*xe*0
2016年1月27日星期三08:41:34
2016年1月27日08:41:34*服务更新*CLRExtProc*0
2016年1月27日08:41:36*服务更新*xe*0
2016年1月27日星期三08:43:23
2016年1月27日08:43:23*服务更新*CLRExtProc*0
2016年1月27日星期三08:45:11
2016年1月27日08:45:11*服务更新*CLRExtProc*0
2016年1月27日星期三08:46:57
2016年1月27日08:46:57*服务更新*CLRExtProc*0
2016年1月27日星期三08:48:44
2016年1月27日08:48:44*服务更新*CLRExtProc*0
2016年1月27日星期三08:50:30
2016年1月27日08:50:30*服务更新*xe*0
2016年1月27日08:50:31*服务更新*CLRExtProc*0
2016年1月27日星期三08:51:30
2016年1月27日08:51:30*服务更新*xe*0
2016年1月27日08:51:36*服务更新*xe*0
2016年1月27日星期三08:52:18
2016年1月27日08:52:18*服务更新*CLRExtProc*0
2016年1月27日星期三08:54:05
2016年1月27日08:54:05*服务更新*CLRExtProc*0
2016年1月27日星期三08:55:01
2016年1月27日08:55:01*服务更新*xe*0
2016年1月27日星期三08:55:31
2016年1月27日08:55:31*服务更新*xe*0
2016年1月27日星期三08:55:52
2016年1月27日08:55:52*服务更新*CLRExtProc*0
2016年1月27日星期三08:57:41
2016年1月27日08:57:41*服务更新*CLRExtProc*0
2016年1月27日星期三08:59:28
2016年1月27日08:59:28*服务更新*CLRExtProc*0
2016年1月27日星期三09:01:16
2016年1月27日09:01:16*服务更新*CLRExtProc*0
2016年1月27日星期三09:01:37
2016年1月27日09:01:37*服务更新*xe*0
2016年1月27日星期三09:03:03
2016年1月27日09:03:03*服务更新*CLRExtProc*0
2016年1月27日星期三09:03:27
2016年1月27日09:03:27*(CONNECT_DATA=(SID=ex)(CID=(PROGRAM=JDBC瘦客户端)(HOST=(JDBC_u)(USER=Jagdish)))*(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=52658))*建立*ex*12505
TNS-12505:TNS:listener当前不知道连接描述符中给定的SID
我在谷歌搜索时找到了以下链接,试图解决这个错误


但最后,我所有的工作都无法解决这个问题,请如果有人知道解决方法,请给出对我有用的解决方案,请提前感谢……希望得到答案。

您的实例/SID有误(例如)。应改为:

Connection con=DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:XE","system","12345");

你试过用1521/ex替换1521:ex吗?问题可能是您正在使用的jdbc字符串。您是否解决了错误?对不起,先生,这对我不起作用我已经尝试过了,在您回答后,我会再试一次,但它没有解决我的问题我在计算机上安装了windows 10。它有任何问题吗?请尝试连接con=DriverManager.getConnection(“jdbc:oracle:thin:@127.0.0.1:1521:xe”,“system”,“12345”);或Connection con=DriverManager.getConnection(“jdbc:oracle:thin:system/12345@127.0.0.1:1521:xe”);建议使用长格式连接URL jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myhost)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=myorcdbservicename)))轻松连接URL:jdbc:oracle:thin:@//localhost:1521/myorcdbservicename