免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2471 | 回复: 5
打印 上一主题 下一主题

tomcat5.5连接oracle报错 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-07-25 10:33 |只看该作者 |倒序浏览
错误日志:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for
connect URL 'jdbcracle:thin@localhost:1521:TESTDB'
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
        at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
        at tt.te.getConnection(te.java:26)
        at tt.te.save(te.java:37)
        at org.apache.jsp.index_jsp._jspService(index_jsp.java:65)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:9
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:331)
        at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:329)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265)

classes12.jar已经放在common/lib和对应的web应用目录下

conf/server.xml配置:
   <Resource
      name="jdbc/testDs"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      maxIdle="2"
      maxWait="5000"
      username="test"
      url="jdbcracle:thin@localhost:1521:TESTDB"
      maxActive="4"/>

conf/context.xml配置:
<Resource
      name="jdbc/testDs"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      maxIdle="2"      
      maxWait="5000"
      username="test"
      url="jdbcracle:thin@localhost:1521:TESTDB"
      maxActive="4"/>

程序代码:

        Context ct=new InitialContext();
                        Context envct=(Context)ct.lookup("java:/comp/env";
                        System.out.println(envct.toString());
                        DataSource ds=(DataSource)envct.lookup("jdbc/testDs";
                                con=ds.getConnection();这一句报错

弄了快一上午了 没找到原因

论坛徽章:
0
2 [报告]
发表于 2008-07-25 10:35 |只看该作者
驱动的版本是?

论坛徽章:
0
3 [报告]
发表于 2008-07-25 10:59 |只看该作者

回复 #2 ziggler 的帖子

9.2.0.1.0的

[ 本帖最后由 yongheng2096 于 2008-7-25 11:18 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-07-25 14:39 |只看该作者
server.xml中需要设定:Context组,你怎么没有设?

论坛徽章:
0
5 [报告]
发表于 2008-07-26 08:39 |只看该作者

回复 #4 helpdesklj 的帖子

我的数据源是配在<GlobalNamingResources></GlobalNamingResources>之间的

后来我又加上了这段代码
<Context path="/WebContent" docBase="D:\apache-tomcat-5.5.26\apache-tomcat-5.5.26\webapps\WebContent" debug="5" reloadable="true" crossContext="true">
    <Resource
      name="jdbc/testDs"
      type="javax.sql.DataSource"
      password="123456"
      driverClassName="oracle.jdbc.driver.OracleDriver"
      maxIdle="2"
      maxWait="5000"
      username="test"
      url="jdbcracle:thin@localhost:1521:TestDB"
      maxActive="4"/>
</Context>

还是报同样的错
但是我如果不用容器的JNDI获得连接
而直接在代码中通过JDBC驱动就没问题
Class.forName("oracle.jdbc.driver.OracleDriver".newInstance();
                String url="jdbcracle:thinlocalhost:1521:TestDB";
                String dbuser="test";
                String dbpwd="123456";
                Connection conn=DriverManager.getConnection(url,dbuser,dbpwd);

论坛徽章:
0
6 [报告]
发表于 2008-07-28 11:57 |只看该作者
有人知道吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP