日期:2014-05-17  浏览次数:20768 次

jdbc连接oracle问题
我想知道装好tomcat后怎样配制来连接数据库?
我的连接代码如下:
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>

<body>
<%
Class.forName("Oracle.jdbc.driver.OracleDriver");

String url="jdbc:oracle:thin:@localhost:1512:orcl";//orcl为数据库的SID

String user="system";

String password="sun917208";

Connection con=DriverManager.getConnection(url,user,password);
Statement stmt=con.createStatement();

String sql="select * from tb_group";

ResultSet result=stmt.executeQuery(sql);
out.println("连接成功!");
%>
</body>
</html>
我的这个jsp文件放在了root里
我已经将classes12.jar拷贝到了root文件夹WEB-INF\lib下了,可是出现以下错误

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:532)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:408)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
然后我又把classes12.jar拷贝到了公共的lib下还是这样,CLASSPATH是这样配置的:
.;C:\Program Files\Java\jdk1.6.0_02\lib;D:\oracle\product\10.2.0\db_1\jdbc\lib\classes12.jar;D:\oracle\product\10.2.0\db_1\jdbc\lib\nls_charset12.jar
前面是jdk的路径。我不知道还有什么问题,就是调不出来,我无计可施了,希望大家帮帮忙,谢谢!


------解决方案--------------------
报的错是你没驱动的包,你检查下:
1.OracleOraHome92TNSListener 和 OracleServiceSHAIRD (-----shaird是我的数据库名)两个服务打开没。 

2.把所需要的驱动放入系统变量 CLASSPATH;ORACLE的是CLASSES12.JAR在ORACLE安装目录的JDBC目录下的LIB文件里面有。注意是.jar。也可以把这个文件放到TOMCAT的\common\lib里面。 

下面是我跑成功的例子:
Java code
<%@ page import="java.sql.*"%> <html><body><%Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url="jdbc:oracle:thin:@localhost:1521:shaird"; String user="hs"; String password="123321"; Connection conn= DriverManager.getConnection(url,user,password); Statement stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE); String sql="select * from try";ResultSet rs=stmt.executeQuery(sql);while (rs.next()){  out.println(rs.getString(1));  out.println(rs.getString(2));}rs.close();stmt.close();conn.close();%></body></html>

------解决方案--------------------
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.ClassNotFoundException: Oracle.jdbc.driver.OracleDriver 
找不到这个驱动程序
Oracle.jdbc.driver.OracleDriver 中的oracle为小写