关于Tomcat+Oracle 8i, 9i & 10g 连接池配置的个人笔记

soft1999 2006-03-10 02:42:35
总也连接不上.无奈,到http://tomcat.apache.org/看了官方的参考.有所收获,发出来大家看看:
1
Drivers for older Oracle versions may be distributed as *.zip files rather than *.jar files //很清楚.最好是.jar .zip改成.jar

2
For Oracle 9i onwards you should use oracle.jdbc.OracleDriver rather than oracle.jdbc.driver.OracleDriver //最好用oracle.jdbc.OracleDriver连接

3
<Resource name="jdbc/myoracle" auth="Container"
type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
url="jdbc:oracle:thin:@127.0.0.1:1521:mysid"
username="scott" password="tiger" maxActive="20" maxIdle="10"
maxWait="-1"/>
修改server.xml 加入即可.原来在网上看到好多,可能是tomcat版本问题. 5版本就这么简单

4
<resource-ref>
<description>Oracle Datasource example</description>
<res-ref-name>jdbc/myoracle</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
在应用下的web.xml加入

5
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
Connection conn = ds.getConnection();
//etc.
测试代码.

以上来自官方说明.但是我测试的时候还是出问题了.启动tomcat没有抱错.但是运行一个servlet就出错,页面可以打开.但是什么数据也没有.tomcat提示:SQLNestedException
can not create JDBC Driver of class '' for url 'null'

忘高手指点!!!!!!

...全文
232 5 点赞 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yanxunet 2006-03-10
结贴吧...
  • 打赏
  • 举报
回复
soft1999 2006-03-10
我靠 !!!终于成功了!!!! 抽烟去!!!!!哈哈哈哈!!!!
  • 打赏
  • 举报
回复
soft1999 2006-03-10
这是我全部的测试代码.用普通连接方法可以显示.

import oracle.jdbc.driver.*;
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.sql.*;
import javax.servlet.http.*;
import javax.naming.*;
doGet ......
response.setContentType("text/html");
PrintWriter out = response.getWriter();
Connection con=null;
Statement sql=null;
ResultSet rs=null;
try{
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/myoracle");
con = ds.getConnection();
out.println("good driver...");
out.println("good Connection...");
sql=con.createStatement();
rs=sql.executeQuery("select * from test");
while(rs.next()){
out.print(rs.getInt("ID")+" ");
out.print(rs.getString("NAME")+" ");
out.print(rs.getInt("AGE")+" ");
out.println(rs.getString("SEX")+" ");
out.println("********");
}
}catch(SQLException e){
e.printStackTrace();
}catch(NamingException e){
e.printStackTrace();
}
finally{
out.close();
if(rs!=null)
{
try{
rs.close();
rs=null;
}catch(SQLException e){}
}
if(con!=null)
{
try{
con.close();
con=null;
}catch(SQLException e){}
}
}

  • 打赏
  • 举报
回复
soft1999 2006-03-10
我已经放到了 \common\lib 下面 配置都应该没有问题的.但是......
  • 打赏
  • 举报
回复
会不会classes12.jar不对啊。。
  • 打赏
  • 举报
回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2006-03-10 02:42
社区公告
暂无公告