java jndi oracle_Tomcat6.0中JNDI的配置oracle11g

以下是基于Tomcat6.0的配置

1、在Tomcat根目录\conf\context.xml里的节点中添加以下配置

name="jndi/oracle11g"

auth="Container"

type="javax.sql.DataSource"

driverClassName="oracle.jdbc.driver.OracleDriver"

url="jdbc:oracle:thin:@localhost:1521:orcl"

username="orcl"

password="orcl"

maxActive="100"

maxIdle="30"

maxWait="10000"/>

这里我们介绍一下节点中的属性,

(1)、name:指定Resource的JNDI名字,可自定义;

(2)、auth:指定管理Resource的Manager,它有两个可选值:Container和Application。Container表示容器用来创建Resource,Application表示有Web应用来创建和管理Resource;

(3)、type:指定Resource所属的Java类名;

(4)、maxActive:指定数据连接池中处于活动状态的数据库连接的最大数目,取值为0,表示不受限制;

(5)、maxIdle:指定数据库连接池中处于空闲状态的数据库连接的最大数目,取值为0,表示不受限制;

(6)、maxWait:指定数据库连接池中数据库连接处于的空闲状态的最长时间(以毫秒为单位),超过一段时间将会抛出异常。取值为-1,表示可以无限制等待;

(7)、username:指定连接数据库的用户名;

(8)、password:指定连接数据库的口令;

(9)、driverClassName:指定连接数据库的JDBC驱动程序;

(10)、url:指定连接数据库的URL

2、在你的的web.xml里面增加以下代码:

JNDI

Datasource

example

jndi/oracle11g

javax.sql.DataSource

Container

同样的这里我们介绍一下的属性

(1)、description:对所引用资源的说明(自定义);

(2)、res-ref-name:指定所引用资源的JNDI名字,与元素的name属性对应;

(3)、res-type:指定所引用资源的类名字,与元素中的type属性对应;

(4)、res-auth:指定管理所引用的资源的Manager,与元素中的auth属性对应。

3、添加数据库驱动文件

通过数据源访问数据库,由于数据源由Tomcat创建并维护,所以必须把JDBC驱动程序复制到Tomcat的lib目录下。

4、获得数据源

这里我们建立一个类

import java.sql.Connection;

import javax.naming.Context;

import javax.naming.InitialContext;

import javax.sql.DataSource;

public class DBHelper {

private static Connection getCon() {

Connection con = null;

try {

Context context=new InitialContext();

DataSource ds=(DataSource)context.lookup("java:/comp/env/jndi/oracle11g ");

con=ds.getConnection();

} catch (Exception e) {

e.printStackTrace();

}

return con;

}

}

这样我们就可以获得数据库连接了。

值得注意的是上述代码中下划线行为通过Context获得数据源后取得Connection对象,红色字体的代码为前缀,不可以更改,蓝色字体的代码为创建的JNDI的名字。

这样JNDI的配置就完成了,下面我再列出几个常见的错误,我就遇到了两个错误。

1、错误一:

错误提示:Cannot load JDBC driver

class

错误原因及解决方法:前面我们讲过通过数据源访问数据库,数据源由Tomcat创建,所以应该吧JDBC驱动程序的JAR文件复制到Tomcat的lib目录下,一般来说这样操作,问题就应该解决了。

2、错误二(:

错误信息:Name jdbc is not bound in

this Context(jdbc名称没有绑定到当前上下文)

一般来说此问题就是在使用lookup()方法查找数据源时参数未写JNDI名称或者未写前缀,建议仔细检查一下。

3、错误三

错误信息:Cannot create JDBC driver

of class '' for connect URL

'null' ----由于连接路径为NULL,不能创建驱动。

此问题一般是因为在context.xml文件中指定的数据源名称与程序中所要访问的数据源名称不一致,建议仔细检查一下,很多问题都是由于粗心造成的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值