通常有四种连接方式可供选择,这里我只采用了其中两种
我采用win98下的tomcat
服务器是winnt的,安装的Oracle
我的类路径是:D:\tomcat\webapps\ROOT\WEB-INF\classes\yourpackage
jsp路径:D:\tomcat\webapps\ROOT\
调用路径:http://127.0.0.1:8080/connOracle.jsp
(你的实在不行,可以试试我的路径^_^)
1,使用JDBC_ODBC桥连接
   首先记得在系统数据源里建立一个ODBC连接哦^_^,(可以采用PB或其他程序连接数据库,测试一下这个ODBC建立成功没有)
   接下来写类文件,可以采用以下类文件:
package yourpackage;   //注意,java的类存储系统和文件系统有关哦:)
import java.sql.*;
public class opendb 
{
  String sDBDriver="sun.jdbc.odbc.JdbcOdbcDriver";
  String sConnStr="jdbc:odbc:yourdb";   //这里的yourdb是你建的ODBC数据原的DNS
  Connection conn=null;
  ResultSet rs=null;
  public opendb()
  {
    try{
      Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
      System.err.println("opendb();"+e.getMessage());
    }
  }
  public ResultSet executeQuery(String sql)
  {
    rs=null;
    try{
      conn=DriverManager.getConnection(sConnStr,"username","password");   //注意这里的数据库用户名和密码一定要根据实际情况设置
      Statement stmt=conn.createStatement();
      rs=stmt.executeQuery(sql);
    }
    catch(SQLException ex){
      System.err.println("aq.executeQuery:"+ex.getMessage());
    }
    return rs;
  }
}
   这种方法比较简单,通常较容易实现,但据说存在漏洞(本人没有做深层次研究),且不适于大型数据库的大规模的数据流量,故尝试直接采用JDBC连接^_^2,直接使用JDBC连接数据库
首先把类文件给你,看看吧,基本上差不多,就是连接参数的设置问题:
package yourpackage;
import java.sql.*;
public class openOracle
{
  String sDBDriver="oracle.jdbc.driver.OracleDriver";   //不要以为这个驱动器是系统已有的,我也是后来才把它加进去的,关键哦
  String sConnStr="jdbc:oracle:thin:@server:1521:yourservername";   //要注意啦,server为你用的数据库所在的服务器的名称,一般Oracle的端口都采用1521,当然,你也可以咨询一下你们的系统管理员^_^,yourservername是你用的数据库的服务名
  Connection conn=null;
  ResultSet rs=null;
  public openOracle()
  {
    try{
      Class.forName(sDBDriver);
    }
    catch(java.lang.ClassNotFoundException e)
    {
      System.err.println("openOracle();"+e.getMessage());
    }
  }
  public ResultSet executeQuery(String sql)
  {
    rs=null;
    try{
      conn=DriverManager.getConnection(sConnStr,"username","password"); 
      Statement stmt=conn.createStatement();
      rs=stmt.executeQuery(sql);
    }
    catch(SQLException ex){
      System.err.println("aq.executeQuery:"+ex.getMessage());
    }
    return rs;
  }
}
   编译成功,但用浏览器执行,出错 :(,总是一大堆不认识的系统的类列了一片,这时我发现启动tomcat时弹出的DOS窗口抛出这样两个错误(是我的catch捕获的)
openOracle():oracle.jdbc.odbc.OracleDriver
aq.executeQuery: No suitable driver
   由此可以推测是驱动程序找不到,通过请教网友,发现缺少的从classes12.zip文件里可以找到。通过搜索我在我的D:\Oracle\jdbc\lib里找到这个文件。解压,通过各种尝试,以及相关推理分析,我把解压后的其中的Oracle文件夹放到D:\tomcat\lib下,运行程序,成功了,可以看到令人兴奋的“连接成功”的结果了^_^
   以上这两种方法,你都可以采用下面这个文件进行测试,只需修改相应调用的类文件就可以了。^_^
<%@ page contentType="text/html;charset=GBK"%>
<%@ page language="java" import="java.sql.*"%>
<jsp:useBean id="db" scope="page" class="yourpackage.openOracle"/>
<%
  String sql="select * from user ";  //这里,你可以随便找你的一个表进行简单查询,只要能产生结果就可以(记得要找个有数据的表哦:P)
  ResultSet rs=db.executeQuery(sql);
  String mess="";
  if(rs.next())
  {
    mess="连接成功!";
  }
  else
  {
    mess="连接失败!";
  }
  rs.close();
%>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<TITLE>数据库连接测试</TITLE>
</HEAD>
<BODY>
<H2>
数据库连接测试结果:
<%=mess %>
</H2>
<P></P>
</BODY>
</HTML> 

解决方案 »

  1.   

    你要把主机和数据库密码修改以下就可以了!  
     
    把main去掉,编译一下就成了bean了,用于获取数据库连接!  
     
    public  class  conoracle  
    {  
                     private  java.sql.Connection  conOracle  =  null;  
           public    boolean  iscon  =  false;  
             
               public  static  void  main(String  args[])  
               {  
                           conoracle  cm  =  new  conoracle();  
                           cm.connectiondb("192.169.1.227","oracle8","system","manager");  
                           System.out.println("ok");  
                           try  
                           {  
                           java.sql.Statement  stmt  =  null;  
                           java.sql.ResultSet  rs            =  null;  
                           stmt  =  cm.conOracle.createStatement();  
                           for(int  i=20;i<23;i++)  
                           stmt.execute("insert  into  tomtest1  values('a测试"+i+"','bm"+i+"','cm"+i+"')");  
                             
                           rs  =  stmt.executeQuery("select  *  from  tomtest1");  
                           while(rs.next())  
                           {  
                                       System.out.println(rs.getString("A")+"--"+rs.getString("b")+"--"+rs.getString("C"));  
                           }  
                           rs.close();  
                           stmt.close();  
                           cm.conOracle.close();  
                           }catch(Exception  e)  
                           {System.out.println(e);}  
               }  
           
               public    java.sql.Connection  connectiondb(String  host,String  db,String  uname,String  pwd)  
               {  
                               try  
                               {  
                                           Class.forName("com.inet.ora.OraDriver").newInstance();  
                                           iscon  =  true;  
                               }  
                               catch  (Exception  e)  
                               {  
                                           System.out.println("connection  err!\n"  +  e);  
                                           iscon  =  false;  
                               }  
                               try  
                               {  
                                       String  connDBParam  =  "jdbc:inetora:"  +  host  +  ":1521:"  +  db;  
                                       conOracle  =  DriverManager.getConnection(connDBParam,uname,pwd);  
                                       iscon  =  true;  
                               }  
                               catch  (SQLException  se)  
                               {  
                                           System.out.println("connection  err!"  +  se);  
                                           iscon  =  false;  
                               }  
                               return  conOracle;  
               }  
     
    }
      

  2.   

    1。打开Oracle数据库管理程序。
    2。找一根绳子,一端塞进你的机箱里。
    3。把绳子的另一端放到你想连接的地方。