估计是你的连接不对引起的
jdbc:oracle指出了是oracle的jdbc驱动。连接方式是thin。196.168.0.1是数据库服务器所在的机器的IP地址。1521是数据库监听的端口。ORCL是数据库,后面的两个a分别是用户名和密码。你看看,上面的是否符合你的实际,不符合的话,就要做相应的更改才行。(主要是IP地址、数据库、用户名、密码)

解决方案 »

  1.   

    数据库名字可以到控制面板-管理工具-服务里的OracleServiceXXXX找,这个OracleServiceXXXX好象叫做SID,其中XXXX就是数据库名。
    端口一般都是1521,怎么找我也不太清楚拉。
      

  2.   

    我觉得既然用JDBC连接数据库,那就应该是DBMS无关的。
    Connenction.getMetaData()可以获得一个DatabaseMetaData,可以从它得到很多信息,
    如 getDataBaseproductName()
    不过你好像还没有得到连接就异常了。
      

  3.   

    我知道是orcl错了,就是数据库的名字。 
      

  4.   

    你能试着将这段程序该为Servlet程序在TomCat中运行吗?
    参阅我的程序:import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.io.*;public class testconnect extends HttpServlet{
    Connection conn;

    public void init(ServletConfig conf) throws ServletException
    {
    try{
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
        conn=DriverManager.getConnection("jdbc:oracle:thin:@hp_svr:1526:orc1","ycjx","xjcy");
        }catch(SQLException e){
    System.out.println("database doesn't connect");
    }

    }
    public void service(HttpServletRequest req, HttpServletResponse res) 
            throws ServletException, IOException
    {
    res.setContentType("text/html");
    ServletOutputStream out=res.getOutputStream();
    out.println("<html><body>");
    try{
    Statement stmt=conn.createStatement();
    ResultSet rset=stmt.executeQuery("select * from dm_kc");
    while(rset.next()){
    String str=rset.getString(1);
    out.println(str);
    }
    stmt.close();
    conn.close();
        }
    catch (Exception e) {out.println("aaa");}
    out.println("rrrrr");
            out.println("</body></html>");
    }
    }
    请回答。