您的位置:首页 > 运维架构 > Tomcat

异常:Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'--解决方法

2011-03-16 14:53 1006 查看
最近在搞oracle,遇到配置应用时出现:

Caused by: org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'

 

困扰了好久,排除了数据库包的问题,排除了程序本身的问题,仔细查看数据库连接字符串等信息也没问题,最后只能规规矩矩的按照如下方法解决之:

 

step1:

    将oracle的数据库连接包class12.jar放在tomcat的lib下;

 

step2:

 

    配置service.xml:

 
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
<Context path="/b…………s"
docBase="D:……………………………………/WebRoot" debug="5"
reloadable="true" crossContext="true">
<Logger  className="org.apache.catalina.logger.FileLogger"			prefix="localhost_MyHeerrsTest_log." suffix=".txt" timestamp="true" />
<Resource name="jdbc/oracleDS" auth="Container"
type="javax.sql.DataSource"					factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="100" maxIdle="30" maxWait="5000" username="XXXX_dev"
password="XXX" driverClassName="oracle.jdbc.driver.OracleDriver"		url="jdbc:oracle:thin:@localhost:1521:XXXX" />
</Context>

</GlobalNamingResources>

<DefaultContext>
<ResourceLink global="jdbc/oracleDS" name="jdbc/oracleDS"
type="javax.sql.DataSource" />
</DefaultContext>


 

 

step3:

 配置web.xml:加入:

<resource-ref>
<!--liuz  change-->
<description>DB Connection</description>
<res-ref-name>jdbc/oracleDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>


 

step4:

在Tomcat6.0/conf/Catalina/localhost下添加应用配置文件,内容如下:

 

<Context path="/b……s" docBase="D:……………………/WebRoot" debug="5"
reloadable="true" crossContext="true">
<Logger  className="org.apache.catalina.logger.FileLogger"			prefix="localhost_MyHeerrsTest_log." suffix=".txt" timestamp="true" />
<Resource name="jdbc/oracleDS" auth="Container"				type="javax.sql.DataSource"						factory="org.apache.commons.dbcp.BasicDataSourceFactory"
maxActive="100"
maxIdle="30"
maxWait="5000"
username="XXXX_dev"
password="XX"
driverClassName="oracle.jdbc.driver.OracleDriver"		url="jdbc:oracle:thin:@localhost:1521:XXXX" />
</Context>


 

注意这里的信息和service.xml里面保持一致!!(建议采用这种标签-属性方式,不宜采用标签-参数方法)

 

 

如此即可解决问题!!

哎!!!问题解决了终归是好样的!!!!

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐