欢迎光临
我们一直在努力

用JDBC连接Oracle数据库(问题得以解决,特此总结一下,欢迎兄弟们指出不足)-JSP教程,数据库相关

建站超值云服务器,限时71元/月

通常有四种连接方式可供选择,这里我只采用了其中两种
我采用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>

   试试看吧!程序基本没问题,如果不能实现,多方面找找原因,放的目录对不对,需要的类文件有没有放进去?注意别犯低级错误哦^_^
   祝你好运!^_^

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用JDBC连接Oracle数据库(问题得以解决,特此总结一下,欢迎兄弟们指出不足)-JSP教程,数据库相关
分享到: 更多 (0)

相关推荐

  • 暂无文章