关于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'

忘高手指点!!!!!!

...全文
257 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
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 下面 配置都应该没有问题的.但是......
hooligan000112003 2006-03-10
  • 打赏
  • 举报
回复
会不会classes12.jar不对啊。。

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧