这个是网页上面提示出来的:
java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=185599488)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) 
下面是我的代码 大家看看    代码不会错的:
我TOMCAT也开了  我也把Oracle JDBC驱动程序里的classes12.jar复制到Tomcat\common\lib 文件里了 看看我代码 : <%@ page language="java" import="java.util.*" pageEncoding="gb2312"%> 
<%@ page import="java.sql.*" %> 
<% 
String path = request.getContextPath(); 
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
  <head> 
    <base href=" <%=basePath%>"> 
    
    <title>My JSP 'oraclesjk.jsp' starting page </title> 
    
<meta http-equiv="pragma" content="no-cache"> 
<meta http-equiv="cache-control" content="no-cache"> 
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> 
<meta http-equiv="description" content="This is my page"> 
<!-- 
<link rel="stylesheet" type="text/css" href="styles.css"> 
-->   </head> 
  
  <body> 
  <%! 
    String DBDRIVER="oracle.jdbc.driver.OracleDriver"; 
    String DBURL="jdbc:oracle:thin:@localhost:1521:mldn"; 
    String DBUSER="lu"; 
    String DBPASSWORD="jie"; 
    Connection conn=null; 
    Statement stmt=null; 
    %> 
    <% 
    try 
    { 
    Class.forName(DBDRIVER); 
    conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD); 
  //创建表的SQL语句 
    String sql="CREATE TABLE mldntab(name varchar(20))"; 
    stmt=conn.createStatement(); 
    stmt.executeUpdate(sql); 
    stmt.close(); 
    conn.close(); 
    } 
    catch(Exception e) 
    { 
    out.println(e); 
    } 
    %> 
  </body> 
</html> 

解决方案 »

  1.   

    再确定没有代码问题的情况下。把classes12.jar换成classes14.jar
      

  2.   

    classes14.jar   在哪里啊   我在Oracle 里找不到  
      

  3.   

    换了还不行的话。
    先用sqlplus 看看能不能进入ORACLE数据库。如果可以的话。那么mldn是你的数据库名呢?还是你的sid_name的名字呢。进入数据库查一下sid_name的名字是什么?确定一下。
    code=12505应该是sid的名字出问题。试下再说
      

  4.   

    问题的分析步骤。
    1)连接出错。查看程序是否有问题?
    2)更换驱动是否可以解决问题?
    3) 查看oracle 出错日志?
    4) 一般看一看listener.ora就可以了。
      

  5.   

    那就别找了,先试下面的。一会加我给你传一个
    msn :   [email protected]
      

  6.   

    你的oracle版本是多少?10g及以上版本要用ojdbc14.jar这个驱动
    再小心问一下,数据库服务和监听器都启动了吗?
      

  7.   

    该启动的我多启动了  我的Oracle版本是 11G    
      

  8.   

    他能用sqlplus登陆那个用户的,可能确实是jar包版本低了,用的11g
      

  9.   

    ojdbc14.jar  和   classes12.jar  换一下?
      

  10.   

    我真搞不明白  我都是按照视频里的方法做的  视频都对了 我确不对  
    视频里的Oralce版本好象是9开头的    我的版本是 11G
      

  11.   


    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class DBCon {
    private static String driver = "oracle.jdbc.driver.OracleDriver";
    private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
    private static String user = "scott";
    private static String password = "tiger";

    public static Connection getConnection(){
    try {
    Class.forName(driver);
    Connection con=DriverManager.getConnection(url, user, password);
    System.out.println("ok");
    return con;
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;
    }

    public static void close(Connection con,Statement stm,ResultSet rs){
    if(con!=null){
    try {
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(stm!=null){
    try {
    stm.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    public static void main(String[] args) {
    DBCon.getConnection();
    }
    }
    给你个连接oracle的代码  你copy去改下用户名和密码 看看
      

  12.   

    我晕……  不是让你来找美女的 是来帮我解决难题的…… I副了YOU
      

  13.   

    哥们,我看到你的留言了,不好意思,今天上午一直开会,没有上。
    按照我说的实验下:
    1.先把oracle服务打开
      OracleServiceORCL
    2.打开客户端的SQL Developer,自己new一个Connection,名称自己起叫test吧。然后输入用户名和密码,这里的用户名和密码是你默认安装时候的用户名和密码。
    3.你new了一个连接以后,数据库里面本来就有很多实例。然后你在other users自己user,你随便起个名字,比如:closewubq。
    4.在closewubq下,创建你所需的表,什么什么的。
    以上4部这都是准备工作。5.开始连接数据库,jdbc的驱动程序从安装目录中查找,\oracle11g\product\11.1.0\db_1\jdbc\lib,里面有好几个包,如果你的JDK是1.6的就选择ojdbc6.jar就OK了。
    6.代码:import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement; 
    public class DBConnection{
    static Connection conn;
    static Statement stm;
    static ResultSet rs;
    static String driver="oracle.jdbc.driver.OracleDriver";
    static String url="jdbc:oracle:thin:@127.0.0.1:1521:数据库名称"; 
    public static void main(String[] args) {
       try {
       //一般都还是用Class.forName("");//不行的话就用下面的语句。
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
       conn=DriverManager.getConnection(url, "xxx", "xxxx");
        stm=conn.createStatement();
        rs=stm.executeQuery("select * from tabelname");
        while (rs.next()) {
        System.out.println("o le");
        }
        conn.close();
        } catch (SQLException e) {    e.printStackTrace(); 
        }

    }
      

  14.   

    这些代码,是随便建立一个类让你去测试的。
    看看是否能用,上面中文部分和,xxx以及tablename换成你自己的。
      

  15.   

    这些代码随便建一个类 测试下 能不能输出System.out.println("o le");
    输出了就连接成功了
      

  16.   

    代码前面很多 红色  X X X X
    提示说这几行错误的
      

  17.   

    真烦死了  破Oracle   我真搞不明白了 为什么我看的那个视频里的却能操作的出啊
    是李兴华的  JDBC连接Oracle视频教程  才13分钟  我前前后后按照他的那种操作方法操作了N次了
    但是每次都不行  我郁闷死了  到底哪里不对啊   难道是我的Oracle版本太新了? 
      

  18.   

    应该是驱动的问题吧,你们用的版本不一样,先写一个测试的类试试看看能不能连接上,就算连不上也会报更详细的错误吧
    还有一个,我记得我曾经在使用你这种方式连接数据库的时候是需要配置本地数据源的,后来一直使用tomcat连接池连接就没有再仔细研究这个了,你数据源配好了吧?