Oracle连接池操作

一:首先是将JDBC的驱动包oracle6.jar复制到Tomcat安装路径下的llib目录下

二:在web工程目录下的META-INF\context.xml文件下输入以下代码(特别注意文件夹别搞错了):

<span style="font-size:14px;color:#663366;"><?xml version="1.0" encoding="UTF-8"?>
<Context debug="5" reloadable="true">
 <WatchedResource>WEB-INF/web.xml</WatchedResource>

<Resource name="jdbc/oracle" type="javax.sql.DataSource" auth="Container"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@localhost:1521:orcl"
    username="C##SCOTT"
    password="tiger"
    maxActive="5"
    maxIdle="2"
    maxWait="6000"
 />
</Context></span>

在myeclipse中没有context.xml文件需要自己创建。

三:在web工程目录下的在WEB-INF\web.xml文件下配置以下代码

 <span style="color:#009900;"><resource-ref>
      <description>DB Connection</description>
      <res-ref-name>jdbc/oracle</res-ref-name>
      <res-type>javax.sql.DataSource</res-type>
      <res-auth>Container</res-auth>
</resource-ref></span>

四:配置完成后便是测试了

    Connection con = null;// 创建一个数据库连接
    Statement stmt = null;// 创建预编译语句对象,一般都是用这个而不用Statement
    ResultSet result = null;// 创建一个结果集对象

    try{    

        Context Ctx = new InitialContext();

        Context envCtx = (Context) Ctx.lookup("java:comp/env");
         DataSource ds = (DataSource) envCtx.lookup("jdbc/oracle");

        con = ds.getConnection();
        System.out.println("数据库连接成功!");
        stmt = con.createStatement();    

        String strSql = "select * from usertable2";    

        result = stmt.executeQuery(strSql);    

        while(result.next()){
             out.print(result.getString("username"));
            }

        }    

        catch(Exception ex){
         out.print("Exception is :"+ex.getMessage());
         ex.printStackTrace();
        }
        finally {
            try {
                // 逐一将上面的几个对象关闭,因为不关闭的话会影响性能、并且占用资源
                // 注意关闭的顺序,最后使用的最先关闭
                result.close();
                stmt.close();
                con.close();
                System.out.println("数据库连接已关闭!");
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
时间: 2024-08-07 23:44:06

Oracle连接池操作的相关文章

tomcat oracle 连接池配置

<?xml version='1.0' encoding='utf-8'?> <Context displayName="zcgl" docBase="C:\tjzc\tongji" path="/zcgl" reloadable="true" privileged="true"> <Resource auth="Container" description

一种利用ADO连接池操作MySQL的解决方案(VC++)

VC++连接MySQL数据库 常用的方式有三种:ADO.mysql++,mysql API ; 本文只讲述ADO的连接方式. 为什么要使用连接池? 对于简单的数据库应用,完全可以先创建一个常连接(此连接永远不关闭,直接数进程退出),但是这样做至少会引起两个问题:(1)资源竞争,多个数据库请求操作不能同时进行,后一请求必须要等到前一请求完成后才能进行:(2)多线程情况下容易出现混乱,甚至出现资源异常释放.还有一种方法,就是使用数据库时创建连接,使用完后关闭连接回收资源.这种方式在数据库操作频繁的情

redis的连接方法|连接池|操作

1.先看下redis的连接 import redis # 连接服务端 r = redis.Redis(host="127.0.0.1",port=6379) #获取所有的key值 print(r.keys()) #获取某个键的value print(r.get("name")) # 设置一个键值对 r.set("name","ddd",ex=3) 2.在看下redis的连接池,创建一个连接池,并且连接该连接池 connect_

tomcat+oracle连接池

tomcat 5.5.23 oracle 10g 全局配置 一.tomcat目录\common\lib下添加包ojdbc14.jar. 二.tomcat目录\conf\server.xml的<GlobalNamingResources>标签中插入 oracle的连接参数: <Resource name="jdbc/oracle"          type="javax.sql.DataSource"                  driver

错误描述:单独有运行durid连接池操作数据库,以及单独获取servlet的doPost都正确,但是在doPost中运行写了通过durid操作数据库的方法报错

错误代码: 2月 23, 2020 4:26:45 下午 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [login.Login] in context with path [/MiWeb] threw exception [Servlet execution threw an exception] with root cause java.lang.ClassNotF

c#与oracle数据库连接池

c#与oracle数据库连接池 在做一个项目,中间要使用webservice和oracle数据库.我在服务端做了用户身份认证,也就是使用session传递用户的登陆信息.在测试时,当用户少的时候,没有问题,但是当大量用户同时访问时,就报错,起初以为是自己的oracle连接部分有问题,几经确认,终于发现了是连接池的问题. 以下是从别人的博客中摘抄的,不敢造次,收录如下: "连接根据连接字符串以及用户标识来建立池连接.因此,如果使用网站上的基本身份验证或 Windows 身份验证以及集成的安全登录,

tomcat连接池配置和使用

一种方法是在conf/context.xml文件中配置,配置oracle连接池的一个例子的context内容如下: <?xml version='1.0' encoding='utf-8'?> <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/connectDB"    author="Container&qu

redis 连接池

redis是一个key-value存储系统,和memcached类似,支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set-有序集合)和hash(哈希类型).这些数据类型都支持push/pop.add/remove及取交集和差集及更丰富的操作,而且这些操作都说原子性的.在此基础上,redis支持各种不同的方式排序.与memcached一样,为了保证效率,数据都是缓存在内存中.区别的是redis会周期性的把更新的数据写入磁盘

JNDI连接池连接Oracle数据库

今天做了一个评论的小功能,要求用JNDI连接池连接Oracle数据库,以前只是测试了是否连接的上,现在没想到一个JNDI连接池连接Oracle数据库,纠结了好久,原来都是Oracle数据库的问题,这是过失.下面介绍一下JNDI连接池连接Oracle数据库. JNDI介绍 什么是JNDI? JNDI(Java Naming and Directory Interface,Java命名和目录接口) 是一组在Java应用中访问命名和目录服务的API 通过名称将资源与服务进行关联 什么是连接池技术? 连