`

tomcat配置 oracle 连接池

阅读更多

用到tomcat连oracle数据库配连接池了,搞了一天,终于搞好了,其中也遇到了几个很棘手的问题,现在贴出来,以备后人学习,少走些弯路;(手工配置连接池)

环境:tomcat5.5,oracle9i;(tomcat5.5和tomcat5.0的在server.xml中的写法有些区别)

首先,在tomcat的xml文件中创建数据源;

%tomcat_root%/conf/server.xml 中:

在<host>...</host>中添加一下代码:

<!--pool-->  
   <Context path="/solarcn " docBase="solarcn " debug="5" reloadable="true" crossContext="true">
    <Resource name="solar_ds "
     auth="Container"
     type="javax.sql.DataSource"
     driverClassName="oracle.jdbc.OracleDriver"
     url="jdbc:oracle:thin:@192.168.0.25:1521:ora "
     username="solarcn "
     password="solarcn "
     maxActive="5"
     maxIdle="10"
     maxWait="5000"/>
    </Context>
<!--//pool-->

--红色部分是需要你怎么更改的,现在挨个来解释下:

1.path="/solarcn" :这个是你的工程名的访问路径;

2.docBase="solarcn ":工程名;

3.Resource name="solar_ds " :数据源的名;

4.url="jdbc:oracle:thin:@192.168.0.25:1521:ora ":数据库连接路径;

下面的数据库用户名密码就不用说了....

其次,在%tomcat_root%/conf/web.xml中引用数据源;

在最后的</webapp>前加入以下代码:

<resource-ref>
   <description>Oracle Datasource example</description>
   <res-ref-name>solar_ds </res-ref-name>
   <res-type>javax.sql.DataSource</res-type>
   <res-auth>Container</res-auth>
</resource-ref>

红色部分就是数据源的名称,和上面server.xml中的 Resource name="solar_ds " 相对应;

然后就是在程序中获得数据源了;

public static Connection getConn(){
   Connection conn = null;
   DataSource ds = null;
   try {
    Context ctx = new InitialContext();
    Context envCtx = (Context) ctx.lookup("java:comp/env");
    ds =(DataSource)envCtx.lookup("solar_ds ");    //获得数据源,红色名字与上面server.xml中的数据源名字对应
    conn = ds.getConnection();
   } catch (NamingException e) {
    e.printStackTrace();
   }catch (SQLException e) {
    e.printStackTrace();
   }  
   return conn;
}

这样就获得了Connection...

这里要注意一点,数据源的名字要统一了,我在server.xml、web.xml和程序中都是用的"solar_ds"作为我的数据源名称;

=================================================================================

下面说一下在配置过程中遇到的几个比较棘手的问题,这几个问题是在配置连接池时的主要拦路虎,我百度了大半天,终于一一搞定了```` ...

1. javax.naming.NameNotFoundException: Name java:comp is not bound in this Context

--这是在初始化context时(Context envCtx = (Context) ctx.lookup("java:comp/env");)抛出的异常;解决方法是把工程/WEB-INF/lib下面naming- common.jar,naming-factory.jar,naming-resources.jar三个jar包删除;

2。 org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))))

--这是 在获得Connection的时候抛出的异常,前提是已经获得了数据源DataSource;出现这种情况是 无法创建连接池工厂对象,原因是连接被拒绝。

解决办法:检查建立数据源时(server.xml中) url 字符串,可能服务器地址、端口、数据库名或者数据库实例名等信息错误。修改。 尤其着重检查url中url="jdbc:oracle:thin:@192.168.0.25:1521:ora " 的ora,这个地方是数据库的实例名,而不是表空间的名字;

3。 Caused by: java.sql.SQLException: Io 异常: Connection refused(DESCRIPTION=(TMP=)(VSNNUM=150999297)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))

--出现这种异常一般是和第2种关联一块出现的,按第2步的方法一般就能解决;

 

对了,还有别忘了把oracle数据库的驱动classes12.jar放到tomcat下去...

 

 

 

到此,应该就会成功的配置好连接池了,可以自己建个jsp测试一下拉...

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    Tomcat配置Oracle连接池.doc

    《Tomcat配置Oracle连接池详解》 在Java Web应用中,Tomcat作为流行的Servlet容器,其性能优化和资源管理是关键环节之一。Oracle数据库作为企业级的数据库管理系统,经常被用于存储大量数据。本文将深入探讨如何在...

    Tomcat下对Oracle数据库连接池数据源的配置

    6. **检查连接池配置**: 除了上述手动配置外,你还可以通过修改`context.xml`文件(位于Tomcat的`conf/Catalina/localhost`目录下,对应于你的应用上下文)来配置数据源。在`&lt;Context&gt;`标签内,添加`&lt;Resource&gt;`...

    tomcat下配置oracle的连接池

    在Tomcat这样的应用服务器中配置Oracle连接池,可以有效地管理数据库连接,提高系统资源利用率,减少数据库的开销。下面我们将详细介绍如何在Tomcat下配置Oracle的连接池,包括局部和全局的配置。 首先,我们需要...

    Tomcat6配置连接池

    -- 新增的数据库连接池配置 --&gt; driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@127.0.0.1:1521:ora" maxActive="100" maxIdle="30" maxWait="10000" validationQuery="select * ...

    tomcat配置和连接池原理

    【描述】:本话题主要涉及Tomcat 6.0版本的配置,包括虚拟目录的设置以及解决不能列出目录的问题,并介绍了Tomcat 6.0的连接池配置。 【标签】:“Tomcat 6.0” 【正文】: Tomcat 6.0配置虚拟目录是一项基本操作...

    Tomcat连接池配置

    **标题**: Tomcat连接池配置 **描述**: Tomcat连接池配置涉及到在Apache Tomcat服务器中设置数据源,以便高效地管理和复用数据库连接。这包括对Oracle和MSSQL Server这两种不同类型的数据库进行配置,并在Java应用...

    Tomcat_6.0配置oracle数据库连接池

    本文将详细讲解如何在Tomcat 6.0中配置Oracle数据库连接池。 首先,我们要明白连接池的基本原理。数据库连接池管理数据库连接,避免每次需要连接时都创建新的连接,而是复用已存在的连接,这样可以显著减少数据库...

    Tomcat配置连接池说明

    ### 二、Tomcat连接池配置详解 #### 1. 修改server.xml文件 Tomcat的server.xml文件位于conf目录下,是Tomcat的核心配置文件,控制着Tomcat的启动、停止以及主要服务的配置。在该文件中,我们可以通过添加`...

    Tomcat配置数据库连接池

    配置DBCP连接池需要添加相应的依赖库,包括`commons-dbcp.jar`、`commons-pool.jar`和`commons-collections.jar`,以及相应的数据库驱动包,如Oracle的`classes12.jar`,这些库文件需要放在Tomcat的`lib`目录下。...

    java配置oracle连接池[参考].pdf

    Java 配置 Oracle 连接池 Java 配置 Oracle 连接池是指在 Java 应用程序中...在配置 Oracle 连接池时,需要在 Tomcat 的配置文件中添加相应的配置信息。在 conf 目录下的 context.xml 文件中添加以下配置: ```xml ...

    Tomcat连接池配置详解

    总结来说,配置Tomcat连接池是提升Web应用性能的关键步骤,它涉及到管理界面的操作和配置文件的修改。理解这些参数的意义并根据实际情况进行调整,能够帮助你更好地管理和优化你的数据库连接,提升应用的整体性能。

    Tomcat web应用中配置连接池的详细过程

    本文将详细介绍如何在Tomcat环境中配置Oracle数据库连接池,并给出相应的配置示例。 #### 二、配置步骤 ##### 1. 在 `server.xml` 文件中配置数据源 首先,需要在Tomcat服务器的 `server.xml` 文件中的 `...

    tomcat6下连接池的配置与使用-原创

    Tomcat6在连接池配置方面进行了重大改进,不再依赖于server.xml文件进行全局配置,而是允许每个应用程序独立地配置其所需的连接池。这种变化带来了更灵活的部署策略,同时也要求开发者更加细致地管理每个应用的资源...

    tomcat下面配置连接池

    - **maxIdle/maxWait/maxActive**: 连接池配置参数,分别代表空闲连接的最大数量、获取连接时的最大等待时间(毫秒)、活动连接的最大数量。 #### 1.2 在`web.xml`中引用数据源 接下来,在`web.xml`中通过`...

    tomcat6连接池 数据源配置

    通过以上配置,我们可以在 Tomcat 6 中成功设置一个 Oracle 数据库的连接池数据源。合理的配置不仅能提升应用性能,还能保证系统的稳定性和安全性。开发者应根据实际需求灵活调整各项参数,并密切关注应用运行时的...

    tomcat6.0配置oracle数据库连接池中文WORD版最新版本

    本文档主要讲述的是tomcat 6.0配置oracle数据库连接池;希望本文档会给有需要的朋友带来帮助;感兴趣的朋友可以过来看看

    Tomcat6连接池配置详解(自动重连)

    ### Tomcat6连接池配置详解(自动重连) #### 一、引言 在现代Web应用开发中,数据库连接管理是非常重要的一环。为了提高应用性能并确保资源的有效利用,通常采用连接池技术来管理数据库连接。Apache Tomcat作为一...

Global site tag (gtag.js) - Google Analytics