tomcat7 jdbc问题

时间:2012-11-08 13:36:00

标签: oracle11g tomcat7 spring-jdbc jdbc-odbc

我的应用程序在移动到tomcat7时遇到问题。当我的应用程序尝试连接到“Oracle 11.2 DB”时,我看到了以下问题。

org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (ORA-12541: TNS:no listener
)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:382)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:466)

server.xml和context.xml中的连接详细信息如下所示。

  • context.xml中

ResourceLink global =“jdbc / ctb”name =“jdbc / ctb”type =“oracle.jdbc.pool.OracleDataSource”/>

  • server.xml中

           <Resource name="jdbc/XXXX"
            auth="Container"
            scope="Shareable"
            type="javax.sql.DataSource"
            driverClassName="oracle.jdbc.OracleDriver"
            url="jdbc:oracle:oci8:@database"
            username="username" password="pwd"
            maxActive="30" maxIdle="3"
            removeAbandoned="true" removeAbandonedTimeout="60"
            testOnBorrow="true"
            validationQuery="select 1 from dual"
            logAbandoned="true" />
    

我看到的一个观察结果如下:

tomcat7在“lib”文件夹中带有一个名为“tomcat-jdbc.jar”的默认jdbc驱动程序。但是在我的应用程序中,我们使用了很长时间的spring-jdbc.jar。

试图删除它们中的每一个以确保类中没有任何冲突,但它从来没有帮助过我。

tomcat6可以使用相同的“context.xml”和“server.xml”以及spring-jdbc.jar。

您的帮助将受到高度赞赏,因为这已成为我们tomcat7迁移的阻止程序。如果您需要任何进一步的细节,请告诉我。

== Benki

1 个答案:

答案 0 :(得分:0)

哦,Ghosh,坚持这个问题。

创建的setenv.sh脚本从未在上面的错误中创建了为其设置的“ORACLE_HOME”路径。另外,因为我使用init脚本启动并停止tomcat,它只加载了必需的基本ENV变量并由setenv.sh脚本设置。

现在一切正常。